fetch_hive gem when you want to send a message to an agent from Ruby. The SDK wraps the public POST /v1/agent/invoke endpoint, handles authentication, supports streaming via a block, and accepts multimodal inputs.
Installation
Add to yourGemfile:
faraday under the hood and supports Ruby 3.0+.
Authentication
Set theFETCH_HIVE_API_KEY environment variable to your workspace API key (the client reads it automatically):
Basic example
Send a message to an agent and read the final response:Method reference
The SDK injects
streaming: false for invoke_agent. To stream, use invoke_agent_stream (below).
Handling the response
Streaming
Useinvoke_agent_stream to receive Server-Sent Events as they arrive. The method yields each parsed event hash to the block:
summary (when auto-summarization fires), reasoning, response, tool, a final usage event, or an error event if the provider fails mid-stream.
If you omit the block, the method returns an Enumerator you can pass around:
Multi-turn conversations
Persistent threads
Pass any string asthread_id and Fetch Hive will create the thread on the first call and resume it on subsequent calls with the same value:
Stateless history
Manage state yourself by passing the previous turns inmessages. Fetch Hive uses the supplied history for context but does not persist it:
Multimodal inputs
Attach images to the current message withattachments:
https://.
Configuration
Errors
Non-2xx responses raise aRuntimeError with the status code and body. Rescue them if you need to handle failures:
Links
Next steps
- Run with API - The same flow with cURL
- Run with Python SDK
- Run with Node.js SDK
- Run with PHP SDK
- Invoke Agent - Full endpoint reference

