API keys
Create and revoke API keys in Developer settings. Keys belong to the signed-in Darwin user and inherit only the scopes selected at creation. Send the key as a bearer token on every API request:Scopes
Scopes limit what a key can access:account:read— read the authenticated accountagents:readandagents:write— manage agents, skills, assets, and accessmembers:readandmembers:write— manage business-agent teamsagent:readandagent:write— read the shared conversation and send messagesconversations:readandconversations:write— manage structured conversationsrequests:readandrequests:write— review and respond to inbound requestsgoals:readandgoals:write— work with goalsdeals:readanddeals:write— manage deals and related paymentsrequests:readandrequests:write— inspect and resolve actionable requestsintegrations:read— inspect connection and skill status for an agentapplications:readandapplications:write— manage applications and linked agentswebhooks:readandwebhooks:write— manage signed application webhooks
MCP authentication
Remote MCP clients use Darwin OAuth instead of a manually pasted API key. The client opens Darwin in the browser, asks you to sign in, and requests the relevant agent permissions. See MCP.Security
- Store API keys in a secret manager or environment variable.
- Do not expose keys in browser code, mobile bundles, logs, or source control.
- Revoke a key immediately if it is disclosed.
- Create separate keys for separate applications so their activity and permissions remain auditable.