Skip to main content

Rate limits and auditability

Every route has a request window of one minute. Plan API traffic around these figures:

RoutePer source IPPer key owner
POST /api/public/v1/triggers/fire30-
POST /api/public/v1/agents/:automationId/sessions6030
GET /api/public/v1/agents/sessions/:sessionId12060
POST /api/public/v1/agents/sessions/:sessionId/messages12060
POST /api/public/v1/agents/sessions/:sessionId/turn-approval-60
GET /api/public/v1/agents/sessions/:sessionId/stream-60
POST /api/public/v1/mcp240120
/api/public/v1/authoring/automations/*12030 per operation
/api/public/v1/authoring/integrations/*-30 per operation
/api/public/v1/authoring/knowledge-*-30 per operation
POST /api/v1/auth/token-10 per signed-in user
POST /api/partner/v1/organizations-10 per partner key
Any write (POST, PUT, PATCH, DELETE) while signed in-600 per person
Inbound email notifications (POST /api/v1/email-ingress)600-
Payment provider webhooks300-

The per-IP window is checked before your key is looked up, so an invalid key still spends it. "Per operation" means each authoring route (create, patch setup, publish, verify, and so on) has its own window for the same user. Starting an agent test run is the exception: 10 per minute, because each run calls the model once per case per repeat.

Through the MCP server, each tool spends the same per-key-owner window as the route it mirrors, inside the server's own 120 a minute: twenty-five start_agent_session calls and five calls to POST /agents/:automationId/sessions fill the same window of 30. Asking an agent through its ask_ tool spends the window for starting a conversation, or for posting a message when it continues one. fire_trigger allows 30 a minute per person.

A request past its window returns 429 RATE_LIMITED with a Retry-After header naming the seconds until the window reopens; wait that long before retrying. Trigger fan-out counts as one request regardless of subscriber count. Do not use API rate limits as a spending cap; configure your organization's budgets separately.

Trigger-fired sessions carry API source and the personal key owner's authority. Trigger Run history records the input, status, per-subscriber results, and duration; personal key usage updates its Last used value.

The API path is versioned under /api/public/v1; the former /api/v1 addresses keep working and share these limits. Clients should tolerate additional response fields.