fetch_hive gem when you want to invoke a prompt deployment from Ruby. The SDK wraps the public POST /v1/prompt/invoke endpoint with idiomatic helpers, handles authentication, and parses streaming responses into yielded hashes.
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
Invoke a prompt deployment and read the final response:invoke_prompt blocks until the prompt completes and returns the parsed JSON body as a hash. See the non-streaming response shape.
Method reference
| Keyword | Type | Required | Description |
|---|---|---|---|
deployment | String | Yes | The prompt deployment name |
variant | String | No | The deployment variant name |
inputs | Hash | No | Key-value pairs for the prompt variables |
user | String | No | Opaque caller identifier surfaced in User Tracking |
metadata | Hash | No | Flat caller-defined metadata for audit and log filtering. See Invoke metadata |
streaming: false for invoke_prompt. To stream, use invoke_prompt_stream (below).
Handling the response
Streaming
Useinvoke_prompt_stream to receive Server-Sent Events as they arrive. The method yields each parsed event hash to the block:
reasoning, response, 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:
Configuration
| Option | Default | Description |
|---|---|---|
api_key | ENV["FETCH_HIVE_API_KEY"] | Bearer token from the dashboard |
base_url | https://api.fetchhive.com/v1 | Override the API base URL |
timeout | 120 | Request timeout in seconds |
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 Prompt - Full endpoint reference

