Skip to main content

Two supported paths

CREAO supports two API paths for running agents:
PathKey prefixBase URLRequest identityInput field
App-scoped API Triggercapi_https://agent.creao.ai/api/v1/apps/{appId}appId in the URLinputs
Developer Platform APIcr_sk_https://developer.creao.ai/v1Account-owned agent_idinput
Both are current supported paths. They serve different product entry points and keep separate key scopes, route families, and request shapes.

App-scoped API Trigger

Use this path when you want a key that can only run one specific agent. Create the key from the agent detail page in agent.creao.ai.
curl -X POST "https://agent.creao.ai/api/v1/apps/00000000-0000-4000-8000-000000000000/runs" \
  -H "Authorization: Bearer capi_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": { "topic": "weekly report" }
  }'

Developer Platform API

Use this path when your backend needs account-level agent lifecycle management, async run records, realtime SSE, webhooks, or usage analytics. Create the key in Developer Console.
curl -X POST https://developer.creao.ai/v1/runs \
  -H "Authorization: Bearer cr_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "00000000-0000-4000-8000-000000000000",
    "input": { "ticker": "AAPL", "reporting_period": "2025 Q4" }
  }'

Contract comparison

ConcernApp-scoped API TriggerDeveloper Platform API
Key creationAgent detail page in agent.creao.aiDeveloper Console
Key scopeOne agentAccount-owned personal agents
Key prefixcapi_cr_sk_
Agent create routeNot supportedPOST /v1/agents
Agent update routeNot supportedPATCH /v1/agents/{agent_id} replaces provided fields
Agent edit routeNot supportedPOST /v1/agents/{agent_id}/edits starts a natural-language edit
Agent edit statusNot supportedGET /v1/agents/{agent_id}/edits/{run_id}
Async create routePOST /api/v1/apps/{appId}/runsPOST /v1/runs
Status routeGET /api/v1/apps/{appId}/runs/{runId}GET /v1/runs/{run_id}
List routeGET /api/v1/apps/{appId}/runsGET /v1/runs
Realtime SSENot exposed on this pathPOST /v1/realtime/runs
WebhooksSupported by app-run request bodySupported by webhook_url
Conversation reuseApp-run/thread semanticsconversation_id
Request bodyinputs, plus app-run optionsagent_id, input, optional conversation_id, optional webhook_url

Keep route families separate

Do not send Developer Platform request bodies to agent.creao.ai/api/v1/*, and do not send app-scoped request bodies to developer.creao.ai/v1/*. For example, /v1/runs expects agent_id and input, not appId or inputs. The app-scoped path already has the agent id in the URL and expects inputs.