Apollo Labs API
Bearer keys. Ultra personal keys spend the user wallet. Enterprise org keys spend a chosen wallet and stop at cap.
Auth
Send Authorization: Bearer YOUR_SECRET on every request. Secrets look like apo_ plus an 8-character prefix, an underscore, then 64 hex characters. The secret is shown once at mint. Rotate to mint a new secret with the same wallet.
Rate limits
Ultra keys are 30 requests per minute. Enterprise keys are 60 per minute. Admins can raise the Enterprise ceiling for a team. Over the limit returns 429.
Idempotency
POST starts accept Idempotency-Key. The same key retries a timed-out start without a second job.
Examples
Set APOLLO_API_KEY to a minted secret. These GETs do not start a paid job.
No key returns 401
curl -sS -o /dev/null -w "%{http_code}\n" https://www.apollolabs.ai/api/v1/featuresList features
curl -sS -H "Authorization: Bearer $APOLLO_API_KEY" https://www.apollolabs.ai/api/v1/features
Read remaining budget
curl -sS -H "Authorization: Bearer $APOLLO_API_KEY" https://www.apollolabs.ai/api/v1/usage
List reachable flows
curl -sS -H "Authorization: Bearer $APOLLO_API_KEY" https://www.apollolabs.ai/api/v1/workflows
HTTP endpoints
GET /api/v1/features
Studio and app feature ids this key may start.
POST /api/v1/generations
Start a job. Body: feature, settings. Header: Idempotency-Key optional.
GET /api/v1/generations/:id
Poll a generation.
GET /api/v1/workflows
List reachable Flows. Org keys see Flows the organization can start.
POST /api/v1/workflows/:id/runs
Start a Flow. Body: runtimeInputs. Header: Idempotency-Key optional.
GET /api/v1/workflow-runs/:id
Poll a Flow run.
GET /api/v1/usage
Remaining budget and expiry.
POST /api/v1/uploads
Get a signed PUT URL. kind is generation_input or workflow_input.
POST /api/v1/uploads/complete
Call after the PUT. Body: key.
GET /api/v1/files?key=
Temporary URL for an owned R2 key.
Usage
GET /api/v1/usage returns the key wallet cap, used, remaining, cycle window, and expiresAt. Ultra keys return cap null and remaining as current credits. Numbers come from stored aggregates, not a ledger scan.
MCP
POST /api/mcp with the same Bearer key. Tools: list_features, start_generation, get_generation, list_workflows, start_workflow, get_workflow_run, get_usage, create_upload, complete_upload, get_file.
https://www.apollolabs.ai/api/mcp
Enterprise wallets and caps
Org keys spend one wallet (the org pool or a sub-wallet). At cap the start fails before any deduction.
Error codes
- 401 Unauthorized or API key expired.
- 402 Wallet cap reached for this billing cycle, or insufficient credits.
- 403 Ultra or Enterprise plan required, or workflow outside the key's scope.
- 404 Not found.
- 429 Rate limit exceeded.