The Archestra platform exposes a REST API that lets you manage every resource available in the UI — agents, MCP registry entries, MCP gateways, LLM proxies, knowledge bases, and more — from scripts, CI pipelines, or infrastructure-as-code tools. Every request must carry a valid credential in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/archestra-ai/archestra/llms.txt
Use this file to discover all available pages before exploring further.
Authorization header, and all endpoints are served from a single base URL that you can override for production deployments.
Authentication
Archestra supports two credential types. Both are passed in the same header format and grant access based on the role associated with the credential.- Personal API Keys
- Service Accounts
Personal API keys are tied to a single user account. Create them from Settings → API Keys. The key inherits the role of its owner, so any permission change made to that user immediately affects every request made with their key.Use personal API keys for:
- Local development scripts and CLI tooling
- User-owned automation and one-off integrations
- Quick prototyping against the API
Base URL
| Environment | Base URL |
|---|---|
| Local development (Docker quick-start) | http://localhost:9000 |
| Production | Configurable via ARCHESTRA_API_BASE_URL |
http://localhost:9000 and the Admin UI at http://localhost:3000. For Helm-based production deployments, set ARCHESTRA_API_BASE_URL to the external URL of your Archestra instance — for example, https://api.archestra.example.com. This value is displayed in connection instructions inside the UI and can accept multiple comma-separated URLs when you need to expose both an internal Kubernetes service URL and an external ingress endpoint.
ARCHESTRA_API_BASE_URL controls connection-instruction display and defaults to http://localhost:9000 when unset. It does not affect internal routing between the frontend and backend within a pod.Key API Areas
Agents
Create, read, update, and delete agents with full pagination, filtering by name, type (
agent, mcp_gateway, llm_proxy, profile), scope (personal, team, org, built_in), and label.Base path: /api/agentsMCP Registry
Manage the catalog of available MCP servers — register new entries, inspect installation status, trigger reinstalls, and list available tools per server.Base path:
/api/mcp_serverMCP Gateways
Retrieve and configure MCP gateway agents that expose MCP tool endpoints to connected clients. The default gateway is available at
/api/mcp-gateways/default.Base path: /api/mcp-gatewaysLLM Proxies
Read and manage LLM proxy agents that route model traffic, apply optimization rules, and enforce usage limits. The default proxy is at
/api/llm-proxy/default.Base path: /api/llm-proxyKnowledge Bases
List, create, and manage knowledge bases for your organization — including health checks, file ingestion, and connector configuration.Base path:
/api/knowledge-basesObservability & Statistics
Query usage statistics broken down by team, agent, and model. Pair with the Prometheus metrics endpoint (
/metrics) and Grafana dashboards for full observability.Base path: /api/statisticsRate Limits
The Archestra API enforces no rate limits by default. Organization-level usage limits — scoped to the organization, team, user, agent, LLM proxy, or virtual API key — can be configured through Settings → LLM Settings to cap token spend across one or more models. These usage limits are evaluated against recorded model traffic rather than request counts, and each limit carries its own cleanup interval (rolling or calendar-based).Usage limits apply to LLM proxy traffic rather than to raw API requests. If you need to restrict API call frequency for a specific integration, consider using a dedicated service account with a scoped role.
OpenAPI Specification
The complete OpenAPI 3.0 spec for the Archestra API (version 1.2.56) is served directly from your instance:Importing into Postman or Insomnia
Importing into Postman or Insomnia
Postman
- Open Postman and click Import.
- Select Link and enter
http://localhost:9000/openapi.json(or your production base URL). - Postman generates a collection with every endpoint, parameter, and example response.
- Set a
Authorizationvariable toBearer <your-token>at the collection level to authenticate all requests.
- Open Insomnia and create a new Design Document.
- Click Import → From URL and enter
http://localhost:9000/openapi.json. - Insomnia imports all routes with schema validation for request bodies.
- Add a request header
Authorization: Bearer <your-token>to the base environment.
Example: List Agents with curl
The following request authenticates with a Bearer token and fetches the first page of agents visible to the caller. The agentType query parameter narrows results to internal agents only:
data array of agent records and a total count. You can further filter by name, scope, teamIds, authorIds, or labels query parameters — see the full schema in the OpenAPI spec.
Terraform and Crossplane
The same API key used to authenticate direct REST calls also authenticates the Terraform provider and Crossplane provider for Archestra. Both providers read credentials from theARCHESTRA_API_KEY environment variable (or accept them inline) and the ARCHESTRA_BASE_URL variable pointing to your instance.
Mint an API key
Go to Settings → API Keys and create a personal key, or go to Settings → Service Accounts to create a service account token for CI use. See the Authentication section above.