Send a message to the granted deployment and stream the answer
The streaming form of connectInteract, relayed through the same proxy: the customer’s agent’s NDJSON verbatim, one JSON object per line. Anything that can fail cheaply fails before the first byte, so an early failure is still a normal JSON error; a mid-stream failure arrives as one final StreamError line.
Authorizations
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.
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
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.
16 - 255^[A-Za-z0-9._~-]+$Body
1Reuse 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.
Display name for the end user; defaults to the caller's email.
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.
fast, deep 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.
256Response
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.

