For the complete documentation index, see llms.txt. This page is also available as Markdown.

Run with PHP SDK

Invoke an agent from PHP with the fetch-hive/sdk Composer package

Use the official fetch-hive/sdk Composer package when you want to send a message to an agent from PHP. The SDK wraps the public POST /v1/agent/invoke endpoint, handles authentication, exposes streaming responses as a generator, and accepts multimodal inputs.

Installation

composer require fetch-hive/sdk

The SDK requires PHP 8.1+ and uses Guzzle as its HTTP client.

Authentication

Set the FETCH_HIVE_API_KEY environment variable to your workspace API key (the client reads it automatically):

export FETCH_HIVE_API_KEY=fhk_...
<?php
require_once 'vendor/autoload.php';

use FetchHive\Sdk\FetchHive;

$client = new FetchHive();

Or pass the key explicitly:

$client = new FetchHive(['api_key' => 'fhk_...']);

See API Keys for how to create and rotate keys.

Basic example

Send a message to an agent and read the final response:

See the non-streaming response shape.

Method reference

Key
Type
Required
Description

agent

string

Yes

The agent ID

message

string

Yes

The message you want to send

thread_id

string

No

An arbitrary string identifying a persistent conversation thread

messages

array

No

Caller-managed conversation history. Each item: ['role' => 'user' | 'assistant' | 'system', 'content' => string].

image_urls

string[]

No

HTTPS image URLs attached to the current message for multimodal inputs

user

string

No

Opaque caller identifier surfaced in User Tracking

metadata

array

No

Flat caller-defined metadata for audit and log filtering. See Invoke metadata

The SDK injects streaming: false for invokeAgent. To stream, use invokeAgentStream (below).

Handling the response

Streaming

Use invokeAgentStream to receive Server-Sent Events as they arrive. The method returns a Generator:

The stream yields the same event types documented in Invoke Agent → Response: summary (when auto-summarization fires), reasoning, response, tool, a final usage event, or an error event if the provider fails mid-stream.

Multi-turn conversations

Persistent threads

Pass any string as thread_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 in messages. Fetch Hive uses the supplied history for context but does not persist it:

Multimodal inputs

Attach images to the current message with image_urls:

URLs must start with https://.

Configuration

Option
Default
Description

api_key

FETCH_HIVE_API_KEY env var

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 throw FetchHive\Sdk\Exception\ApiException carrying the status code and response body:

See Errors and Rate Limits for status code meanings.

Next steps

Last updated