Invoke an agent with a streamed request/response
const url = 'https://example.com/v1/proxy/example/stream';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': '*/*'}, body: 'example'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/proxy/example/stream \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: */*' \ --data exampleOpens a long-lived connection to the agent’s upstream and streams the request and response bodies verbatim, without buffering (spec 0002). X-Farcaster-Invocation-ID is set on the response before any upstream byte is written, regardless of outcome. On a settlement-enabled priced route (spec 0006), settlement completes before the upstream stream opens, and a successful settle’s receipt rides the X-PAYMENT-RESPONSE response header.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The agt_<uuidv7> agent ID.
Header Parameters
Section titled “Header Parameters”Base64-encoded x402 payment payload (spec 0005), required only for priced agents.
Caller-supplied model identifier recorded on the invocation (spec 0003). Max 256 bytes.
Request Body
Section titled “Request Body”Streamed verbatim to the agent’s upstream URL, unbounded (no 32 MiB cap on this path).
Responses
Section titled “Responses”The upstream’s response, streamed back verbatim (status, headers, and body are the upstream’s own — this describes the success shape, not a fixed status code).
Headers
Section titled “Headers”The invocation ID.
Present only after a successful settle-then-forward; the facilitator’s settlement receipt.
X-Farcaster-Model exceeds 256 bytes.
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}Missing or invalid bearer token, or the token’s tenant/user claims are absent. No body.
No X-PAYMENT header on a priced agent (body is an x402 payment challenge), or the supplied payment failed verification/settlement (body is a coarse Error).
The 402 Payment Required challenge body for a priced route with no X-PAYMENT header (spec 0005).
object
One entry of a 402 challenge’s accepts array.
object
Decimal string (256-bit)
Token contract address (hex)
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "x402Version": 1, "accepts": [ { "scheme": "example", "network": "example", "maxAmountRequired": "example", "asset": "example", "payTo": "example", "resource": "example", "maxTimeoutSeconds": 1 } ]}No resource with this ID exists in the caller’s tenant.
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}The agent is inactive, suspended, or has no upstream_url configured.
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}The agent’s per-agent invocation rate limit was exceeded (spec 0002).
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}Headers
Section titled “Headers”Seconds until the next token is available (capped at 60).
An unexpected server-side error. No body (internal detail is never returned to callers, invariant
The upstream was unreachable or refused the connection.
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}Headers
Section titled “Headers”The upstream call timed out.
The uniform error body for all 4xx responses that carry one.
object
A coarse, caller-safe message. Never contains internal state (invariant
Examplegenerated
{ "error": "example"}