Skip to main content
POST
Send a message to the granted deployment and stream the answer

Authorizations

x-paygent-connect-app-key
string
header
required

A Connect app key (pgc_app_…), identifying the registered third-party app. Always presented together with connectGrant — the pair is one credential, and either half alone is refused. Accepted on the /connect/* surface only.

x-paygent-connect-grant
string
header
required

A Connect grant token (pgc_grant_…): one user's consent for the presenting app to reach one deployment. Every failure mode — missing, malformed, revoked, expired, or paired with the wrong app key — answers the same 401 invalid_connect_credentials.

Headers

Idempotency-Key
string

A key of your own choosing that names ONE instruction, so a retry of it is not a second execution. Scoped to your grant, so it cannot collide with another app's.

Required string length: 16 - 255
Pattern: ^[A-Za-z0-9._~-]+$

Body

application/json
userInput
string
required
Minimum string length: 1
sessionId
string | null

Reuse within one conversation to thread history. On Connect, also scopes short-lived explicit account selection for referential follow-ups; use a new ID for each chat.

sessionOwnerLabel
string | null

Display name for the end user; defaults to the caller's email.

sessionAttributes
object | null

Extra per-call attributes merged into the ones derived from the stored configuration. Configuration wins on a key collision, so a caller cannot override a stored bank token from the request body.

analysisMode
enum<string> | null
Available options:
fast,
deep
provider
string | null

Which connected account a multi-provider wallet should use — an institution type (BREX) or an account label, exactly as a needs_provider result's candidates listed them. Optional.

Maximum string length: 256

Response

The customer's agent's event stream. On a multi-provider grant the router's no-dispatch outcomes (needs_provider / no_capable_provider) land BEFORE the first byte and arrive as a plain application/json ConnectRoutingDecision instead of a stream — no agent ran, so there were no bytes to relay.

The response is of type string.