Skip to navigation

Retrieve an agent

View as Markdown

Returns one agent of the workspace with every stored column (except the provider’s internal voice agent id) plus the fields the API derives (channels, objective, analysis, safety, privacy, mcpEnabled, toolkitAccessEnforced and the counters). This is the only endpoint that returns workflow, high_risk, pause details and action_limits.

Consistency. The agent is cached for up to 120 seconds. PATCH and DELETE through this API clear it immediately; background changes (provisioning finishing, a tool-surface sync, a pause) can take up to 120 seconds to appear.

Access

  • Required scope: read. Any workspace role can call it.
  • Rate limit: General API — 120 (Starter), 200 (Growth), 300 (Business) or 600 (Enterprise) requests/min per workspace. See Rate limits.
  • Plan: Available on every plan.

Authentication

AuthorizationBearer

Workspace API key: jl_ followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (Settings → API Keys) and sent as Authorization: Bearer jl_.... The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys.

ScopeGET / HEADPOST / PUT / PATCH / DELETEAdmin-only routes
readYesNoNo
writeYesYesNo
fullYesYesYes

Operations restricted to admins or owners reject keys without the full scope with 403, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See Authentication.

Path parameters

agentIdstringRequiredformat: "uuid"

UUID of the agent (id from GET /api/agents). An id from another workspace answers 404, like an unknown one; a value that is not a UUID answers 400.

Response

The agent.
dataobject

An agent as returned by GET /api/agents, GET /api/agents/{agentId} and POST /api/agents. Stored columns are snake_case (see AgentRowBase); the fields the API adds on top of them (channels, objective, analysis, safety, privacy, mcpEnabled, toolkitAccessEnforced, total_calls, conversion_rate, calls_today, avg_sentiment) are listed below, and the raw JSON columns they come from (supported_channels, analysis_config, safety_config, privacy_config) are not returned. analysis, safety and privacy are omitted when nothing is stored. GET /api/agents returns a projection (see that operation). The provider’s internal voice agent id is never returned.

A newly created agent is provisioned with the voice provider in the background for about 30-45 seconds; operations that need it answer 409 AGENT_PROVISIONING meanwhile.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error