Track 1: Call a published agent today
Status: Available today.If you have published an agent on Praxa’s custom-agent platform, you already have a deployment-scoped custom-agent key. Use it to run that agent from your own backend.
Request
Notes
externalSessionIdis yours to assign. Pass the same value for the same end user on every call and Praxa keeps that conversation isolated and continuous across calls. Use a distinct value per end user.- The key authenticates one specific agent deployment. Keep it on your backend. Never ship it to a browser or a mobile client.
- If the agent tries to take an action that sends, schedules, changes, or purchases something through a connector, that action still requires approval under the same server-side rules as the in-app experience. A read-only question-and-answer agent will not hit this path.
- These fields cover text execution. If your agent also uses knowledge ingestion, memory, or automations, those are separate endpoints in the custom-agent API.
Track 2: Your first execute() run
Status: Production partner preview. Admitted accounts can create a personal key in the current signed-in console. The portal’s email-link/OTP fragment callback, persisted browser session, durable legal gate, and canonical routing are deployed. The deep link remains pending its authenticated production-host canary.The live preview accepts the minimal durable-task envelope. It returns
400 invalid_request for mode: "turn" and request-level agent, tool, policy,
context, and delivery overrides. /v1/chat is not routed.
Start a run
Follow the durable task
The public request usesmode: "task". The call returns a run id immediately,
and you follow progress with:
GET /v1/runs/:id: current state.GET /v1/runs/:id/events: the same event stream, resumable with aLast-Event-IDheader.- a signed-in portal or bearer webhook configuration when you want Praxa to push signed events instead of polling.
mode: "turn" is not part of this route’s public schema and returns
400 invalid_request. /v1/chat is not routed.
Resolving an approval
If a step needs sign-off, the event feed emitsapproval.required with a summary and an action_digest. Post the digest back with your decision:
approve or deny. Exact browser-action approval
refinements are source-ready and pending activation. Once active, Praxa accepts
the decision only when the
digest still matches the exact pending instruction or steps and target host.
Missing, stale, mismatched, cross-tenant, or unsupported approval shapes remain
fail-closed. See Concepts.
After the run
Read tenant-scoped metering withGET /v1/usage. The public run projection is
deliberately narrower than Praxa’s internal receipt: it exposes verified text
only when the stored result, action digest, and verification verdict agree.