Browse documentation›
Authentication & limits.
One key authenticates all three surfaces: REST, CLI, and MCP. This page is the canonical reference for how that key is presented, what it is allowed to do, how fast you may call, and what comes back when something is refused.
Base URL#
https://app.argorant.com
1Get a key#
ag_live_ and shown once, so store it before you close the dialog. Name each key after the thing that uses it (zapier, ci, laptop) so you can revoke one without breaking the rest.2Send it as a Bearer token#
Authorization: Bearer ag_live_…
The CLI reads the same key from argorant login or the ARGORANT_API_KEY environment variable. MCP clients do not use the key at all. They authenticate over OAuth against https://mcp.argorant.com/mcp and act under the same workspace. See Connect a client.
3Verify the key works#
curl "https://app.argorant.com/api/mcp/account" \ -H "Authorization: Bearer $ARGORANT_API_KEY"
{
"ok": true,
"email": "you@example.com",
"role": "owner",
"scopes": ["argorant:read_counts", "argorant:search_segments",
"argorant:manage_lists", "argorant:create_exports",
"argorant:unlock_contacts"],
"limits": { … },
"usage": { … }
}Scopes#
Which tool or endpoint needs which scope is listed per item in the tools reference. An action attempted without its scope returns 403.
Rate limits#
402 plan_required.Errors#
A 429 carries Retry-After, X-RateLimit-Limit, and X-RateLimit-Remaining headers, plus limit_per_minute and reset_seconds in the body. Honour Retry-After rather than fixed sleeps.
HTTP/1.1 429 Too Many Requests
Retry-After: 37
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
{ "error": "rate_limited", "limit_per_minute": 30, "reset_seconds": 37 }Safe retries#
Idempotency-Key header, so a retried request returns the original response instead of creating a second job. The header, the replay semantics, and the signed webhook deliveries are documented on Webhooks & idempotency.Run the quickstart end to end: count a market, then pull a verified CSV.
