API & MCP
Personal access tokens, ability scopes, the REST API, and the MCP tools that mirror every dashboard action.
The parity principle
Nearly everything you can do in the dashboard, you can also do through the HTTP API or through MCP tools. Same validation, same business rules, same result — the dashboard is one of three ways to trigger the same underlying action, not a special path with extra capabilities.
Note: In the dashboard we call them agent servers. In the API and in MCP tool names, the same thing is called an
instance.
Personal access tokens
Generate personal access tokens from the API tokens page in your dashboard. Each token carries a set of ability scopes that limit what it can do — scope a token down to only what an integration needs.
| Scope | Covers |
|---|---|
instances:read / instances:write |
Agent servers — view, create, resize, delete |
agents:* |
Teammates — create, view, delete |
skills:* |
Skills catalog and per-Teammate skills |
secrets:* |
Company and Teammate secrets, egress allowlists |
deploys:* |
Deploy all, force-deploy, discard, deploy history |
webhooks:* |
Inbound webhook configuration |
messaging:* |
Channel configuration, identity, Slack onboarding |
config:* |
Workspace/soul document files, templates |
memories:read / memories:write |
Search and view memory and entities / store and delete memories |
billing:write |
Billing email updates |
These same tokens (via OAuth for human users) authenticate MCP clients too — one credential, both surfaces.
REST API
The API is versioned at /api/v1. It follows the same resource shape as the dashboard: agent servers, Teammates nested under a server, and their configuration, skills, secrets, and messaging nested under each Teammate.
MCP tools by feature
| Feature | Representative MCP tools |
|---|---|
| Agent servers | list_instances, get_instance, create_instance, update_instance, delete_instance, shutdown_instance |
| Teammates | list_agents, get_agent, create_agent, delete_agent |
| Workspace files | get_agent_config, save_agent_config_file, delete_agent_config_file, customize_agent_config, change_agent_template |
| Skills | list_skills, add_skill, delete_skill, save_skill_file, customize_skill, promote_skill, toggle_skill |
| Models | get_company_model_config, update_company_model_config, save_provider_credential, get_instance_model_config, get_agent_model_config |
| Secrets | list_agent_secrets, save_agent_secret, delete_agent_secret, list_company_secrets, save_company_secret |
| Messaging | get_messaging_config, update_messaging_config, set_agent_identity, upload_agent_avatar |
| Webhooks | list_webhooks, create_webhook, update_webhook, toggle_webhook, regenerate_webhook_secret |
| Deploys | deploy_all, discard_pending_changes, list_deploy_history, get_deploy_status, force_deploy_instance |
| Billing | update_billing_email |
This isn't the exhaustive list — see your API token's available scopes and your MCP client's tool listing for the complete set.
Agent servers have their own MCP tokens
Each agent server gets its own MCP token, separate from your personal ones — this is how a Teammate reaches its own gateway and, if configured, calls back into the platform's API. That token only gets deploys:write when allow_self_deploy is turned on for that server (see Agent servers); otherwise it can't trigger a deploy on its own.
Agent-proposed configuration
A Teammate can propose a configuration change through MCP on its own initiative — a new skill it wants, a tweak to its own instructions, a different model, a channel to add. That proposal lands as a pending change, exactly like a change you made yourself in the dashboard: it shows up in the pending diff, and nothing takes effect until you review and deploy it (or reject it). It's human-in-the-loop at the configuration layer, not a way for a Teammate to reconfigure itself unsupervised.
What's dashboard-only
A few actions don't have an API or MCP equivalent yet:
- Connecting a GitHub App to a Teammate
- Managing integration connections — though you don't need the API for that: connect from the dashboard, or just ask the Teammate ("connect my HubSpot account")
- Authoring your own reusable customer templates
Everything else described in these docs has full dashboard/API/MCP parity.