/mcp/ara.
1. Create an API key
In Ara, open Settings → Developers (the Code / API keys picker) and generate anara_ key. A new key from that picker includes the ordinary public scopes
needed for this walkthrough: run, sessions:read, org:read, skills:read,
repos:read, and the other non-elevated picker options.
Keep org:write, guardrails:write, and sessions:debug off unless an owner
or admin explicitly grants them. Never put the key in source, prompts, or logs.
2. Confirm the key
CallGET /v3/self first:
org_id / slug) and granted
scopes. Use that workspace id or slug in every later path.
3. Create a session
promptis required.repoandproviderare optional. Omit them for a repository-neutral scratch session.idempotency_keyis a JSON body field, not an HTTP header. Reuse it when retrying the same logical create.- A new create returns HTTP 201. An idempotent replay returns HTTP 200 with
the original session. Both include
session_id,url, andstatus.
4. Poll until the session finishes
running, exit (completed successfully), error, or suspended
(cancelled or quota). Only exit is successful. When a pull or merge request
exists, the retrieved session’s nullable pr_url is the URL. It is not part of
the create response.
5. Read the result
Useurl to open the session in Ara. Use pr_url when the session opened a
change request. Send a follow-up with
POST /v3/organizations/{orgId}/sessions/{sessionId}/messages.
Errors
A valid key that lacks a route’s allowlist scope receives HTTP 403:endpoint_not_available means the route is not a public API-key surface. Do
not retry it with the same key.
What not to do
- Do not call
https://api.ara.so/mcp/ara. That public transport returns 410. - Do not treat run-scoped
/mcp/ara(a live sandbox principal) as something an outside coding agent should configure. - Do not send a WorkOS/JWT session token to
/v3. The public API acceptsara_keys only.
Next
- Endpoint reference
- OpenAPI specification
- Machine entry: https://ara.so/llms.txt

