Scopes
Every scope a credential can carry: what each one opens, which roles carry it, and which are sensitive or owner-only.
This page is generated from src/services/scope-catalog.ts — the catalogue the backend checks on every call — and from the route table that spends those permissions. It cannot name a scope that does not exist, and the "What it opens" column is recounted on every build: it is the number of operations that require the scope today, not a figure somebody typed.
The chapter that explains how a credential is minted, read and revoked is Authentication and API keys.
What a scope is
A permission shaped resource:action. What sits before the colon is the resource; what sits after it is what you may do with it. A credential carries its own in a list and holds nothing beyond them.
- An operation may accept several scopes, and one is enough. The middleware guarding it takes several and reads them as an OR: carry any one of them and you are through. That is why the same operation is counted in more than one row.
- Nobody hands out what they do not hold. When a credential is minted, the platform rejects any scope the minter does not carry. An API key never comes out wider than the person or credential that created it.
*exists and it is not for you. It is the wildcard on the platform bootstrap credentials. No role carries it, and the mint form will not take it.- A scope is not the whole gate. It says which family of operations you may call, not which records you may see: record visibility — and, where it applies, published-inventory visibility — still sits on top. A scope opens the route; it does not decide what comes back.
- A scope with no route is not a dead scope. A few of them guard a field inside another response, a tool on the MCP server or a background job, and one or two are reserved for an operation that does not exist yet. The table says so rather than hiding them.
How to read a row
- Scope — the exact string that goes in
scopeswhen the credential is minted. The table is sorted by that string, so the scopes of one resource sit together. - What it opens — how many API operations require it today, followed by the areas of the contract they reach. When the area is one of the chapters this site publishes, it is linked; otherwise the tag is named as the contract spells it. The tier of those operations closes the cell:
establechanges only through deprecation,betamay change with a changelog entry,internais not part of the public API and may change without notice. - Roles — which of the four built-in roles carry it. A custom role is built from any admin scope, never from an owner one.
- Marks —
owner onlywhen no admin carries it;sensitivewhen one of its operations touches personal or health data beyond ordinary contact fields;connector presetwhen the guided connect flow for a Connected app includes it;pk_when a browser-side publishable key carries it.
Every scope
182 scopes: the ones the built-in roles hand out, plus the connector preset and the publishable-key set. Deprecated spellings are at the foot of the page.
| Scope | What it opens | Roles | Marks |
|---|---|---|---|
ads:read | 20 operations · Ads · tier: beta | Owner · Admin | — |
ads:write | 10 operations · Ads · tier: beta | Owner · Admin | — |
ai_agents:read | 47 operations · AI agents, Onboarding, Templates · tier: beta and interna | Owner · Admin | — |
ai_agents:simulate | 25 operations · AI agents, Conversation Coach, Mejoras, +1 more · tier: interna | Owner · Admin | — |
ai_agents:write | 71 operations · AI agents, Onboarding, Conversation Coach, +1 more · tier: beta and interna | Owner · Admin | — |
analytics:read | 37 operations · Analytics, Dealer Alerts, Insights · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
analytics:write | 5 operations · Analytics · tier: interna | Owner · Admin | — |
api_keys:read | 2 operations · API keys, OAuth · tier: beta and interna | Owner · Admin | — |
api_keys:write | 6 operations · API keys, PublishableKeys, OAuth · tier: beta and interna | Owner · Admin | — |
appointment_types:read | 3 operations · Appointments, Deposit Policies · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
appointment_types:write | 6 operations · Appointments, Deposit Policies · tier: beta and interna | Owner · Admin | — |
appointments:delete | 1 operation · Appointments · tier: beta | Owner · Admin · Supervisor · Agent | — |
appointments:intake | 4 operations · Widget · tier: interna | Owner · Admin | pk_ |
appointments:read | 8 operations · Appointments, Calendar overlays · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
appointments:write | 5 operations · Calendar overlays, Appointments · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
audit:read | 1 operation · Audit · tier: interna | Owner · Admin | — |
bank_movements:read | 3 operations · Bank Movements · tier: interna | Owner · Admin | — |
bank_movements:write | 3 operations · Bank Movements · tier: interna | Owner · Admin | — |
billing:read | 10 operations · Payment method · tier: beta and interna | Owner · Admin | — |
billing:write | 8 operations · Payment method · tier: beta and interna | Owner | owner only |
campaigns:read | 17 operations · Audiences, Campaigns, WhatsApp Flows, +3 more · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
campaigns:write | 38 operations · WhatsApp templates, Campaigns, WhatsApp Flows, +3 more · tier: beta and interna | Owner · Admin | — |
clinic:read | 73 operations · Clinic, Patient register, Clinic pricing, +7 more · tier: beta and interna | Owner · Admin · Supervisor · Agent | sensitive · connector preset |
clinic:write | 56 operations · Clinic, Patient register, Clinic services, +3 more · tier: beta and interna | Owner · Admin | sensitive |
clinic_admin:write | 53 operations · Clinic, Templates and retention, Clinic pricing, +4 more · tier: beta and interna | Owner · Admin | sensitive |
clinic_insights:read | 12 operations · Clinic, Clinic caja · tier: interna | Owner · Admin | — |
clinic_money:read | 48 operations · Clinic caja, Clinic budgets, Clinic, +3 more · tier: beta and interna | Owner · Admin | — |
clinic_money:write | 66 operations · Clinic caja, Clinic budgets, Clinic bank feed, +3 more · tier: beta and interna | Owner · Admin | — |
clinic_patients:read | 8 operations · Patient register · tier: beta | Owner · Admin | sensitive |
clinic_patients:write | 10 operations · Patient register · tier: beta and interna | Owner · Admin | sensitive |
clinic_record:read | 27 operations · Clinical record, Consents, Record documents · tier: beta | Owner · Admin | sensitive |
clinic_record:write | 30 operations · Clinical record, Consents, Record documents · tier: beta | Owner · Admin | sensitive |
companies:read | 2 operations · Companies · tier: beta | Owner · Admin · Supervisor · Agent | — |
companies:write | 3 operations · Companies · tier: beta | Owner · Admin · Supervisor · Agent | — |
consignments:read | 14 operations · Consignments · tier: beta and interna | Owner · Admin | — |
consignments:write | 9 operations · Consignments, Vehicles · tier: beta and interna | Owner · Admin | — |
contacts:read | 18 operations · Contacts, Contact Completeness · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
contacts:write | 21 operations · Contacts · tier: beta | Owner · Admin · Supervisor · Agent | — |
conversations:read | 28 operations · Conversations, Copilot, Custom attributes, +3 more · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
conversations:write | 36 operations · Conversations, Mejoras · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
copilot:read | 9 operations · Copilot · tier: interna | Owner · Admin · Supervisor · Agent | — |
copilot:write | 15 operations · Copilot · tier: interna | Owner · Admin · Supervisor · Agent | — |
corrections:read | 19 operations · Conversation Coach, Mejoras, AI agents · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
corrections:write | 10 operations · Conversation Coach, Mejoras · tier: interna | Owner · Admin · Supervisor · Agent | — |
credit_applications:read | 5 operations · Credit applications, Financial Institutions · tier: beta and interna | Owner · Admin | — |
credit_applications:write | 5 operations · Credit applications · tier: beta | Owner · Admin | — |
custom_attributes:read | 3 operations · Custom attributes · tier: beta | Owner · Admin · Supervisor · Agent | — |
custom_attributes:write | 4 operations · Custom attributes · tier: beta | Owner · Admin | — |
dealer_sites:read | 1 operation · Dealer sites · tier: interna | Owner · Admin | — |
dealer_sites:write | 1 operation · Dealer sites · tier: interna | Owner · Admin | — |
dealership_economics:read | 25 operations · Insights, Overhead, Margin, +9 more · tier: interna | Owner · Admin | — |
dealership_economics:write | 18 operations · Overhead, Cost Categories, Financial Institutions, +4 more · tier: interna | Owner · Admin | — |
document_payments:read | 1 operation · Document payments · tier: beta | Owner · Admin | — |
document_payments:write | 1 operation · Document payments · tier: beta | Owner · Admin | — |
document_templates:read | 5 operations · Document Templates · tier: interna | Owner · Admin | — |
document_templates:write | 5 operations · Document Templates · tier: interna | Owner · Admin | — |
erp_copilot:use | 5 operations · ERP Copilot · tier: interna | Owner · Admin · Supervisor · Agent | — |
followups:manage | 3 operations · Follow-ups · tier: interna | Owner · Admin | — |
followups:read | 20 operations · Follow-ups, Vehicles · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
followups:write | 22 operations · Follow-ups · tier: interna | Owner · Admin · Supervisor · Agent | — |
functions:read | 5 operations · Functions, Custom tools · tier: beta and interna | Owner · Admin | — |
functions:write | 9 operations · Custom tools, Functions · tier: beta and interna | Owner · Admin | — |
healthatom:read | 17 operations · HealthAtom · tier: interna | Owner · Admin | — |
healthatom:write | 10 operations · HealthAtom, Clinic caja · tier: interna | Owner · Admin | — |
help_centers:read | 11 operations · Help centers · tier: beta | Owner · Admin · Supervisor · Agent | connector preset |
help_centers:write | 29 operations · Help centers · tier: beta | Owner · Admin | — |
integrations:read | 4 operations · Integrations · Meta Ads · tier: beta and interna | Owner · Admin | — |
integrations:write | 7 operations · Integrations · Meta Ads · tier: beta and interna | Owner · Admin | — |
kb:read | 10 operations · Knowledge base — sources and indexed text, Knowledge base — files, AI agents · tier: beta | Owner · Admin · Supervisor · Agent | — |
kb:write | 21 operations · Knowledge base — sources and indexed text, Knowledge base — files, AI agents · tier: beta | Owner · Admin | — |
labels:read | 3 operations · Labels · tier: interna | Owner · Admin · Supervisor · Agent | — |
labels:write | 5 operations · Labels · tier: interna | Owner · Admin · Supervisor · Agent | — |
leads:intake | 2 operations · Public stock · tier: beta | Owner · Admin | pk_ |
leads:read | 10 operations · Leads · tier: beta | Owner · Admin · Supervisor · Agent | connector preset |
leads:write | 18 operations · Leads, Copilot · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
legal:read | 2 operations · Legal · tier: interna | Owner · Admin | — |
legal:write | 2 operations · Clinic caja, Legal · tier: interna | Owner | owner only |
macros:read | 5 operations · Macros · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
macros:write | 3 operations · Macros · tier: beta | Owner · Admin | — |
marketplace:read | 46 operations · Vehicles, Marketplaces, Instagram Media, +3 more · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
marketplace:write | 43 operations · Marketplaces, Vehicles, Instagram Media, +2 more · tier: beta and interna | Owner · Admin | — |
mcp:connector | No API route requires it today | — | connector preset |
mcp_servers:read | 2 operations · McpServers · tier: interna | Owner · Admin | — |
mcp_servers:write | 3 operations · McpServers · tier: interna | Owner · Admin | — |
memberships:read | 3 operations · Team · tier: beta | Owner · Admin · Supervisor | — |
memberships:write | 6 operations · Team · tier: beta | Owner · Admin | — |
messages:read | No API route requires it today | Owner · Admin · Supervisor · Agent | — |
messages:send | 8 operations · Conversations, Appointments · tier: beta | Owner · Admin · Supervisor · Agent | — |
messages:write | 1 operation · Messages · tier: interna | Owner · Admin | — |
messaging_accounts:read | 19 operations · MessagingAccounts, Channels, Messaging Accounts, +3 more · tier: beta and interna | Owner · Admin | — |
messaging_accounts:write | 30 operations · MessagingAccounts, Messaging Accounts, Onboarding, +3 more · tier: beta and interna | Owner · Admin | — |
organization_legal:read | 2 operations · Organization Legal · tier: interna | Owner · Admin | — |
organization_legal:write | 3 operations · Organization Legal · tier: interna | Owner · Admin | — |
outbound_approvals:read | 2 operations · Outbound approvals · tier: interna | Owner · Admin | — |
outbound_approvals:write | 2 operations · Outbound approvals · tier: interna | Owner · Admin | — |
outbound_holds:read | 3 operations · Safety holds · tier: interna | Owner · Admin | — |
outbound_holds:write | 3 operations · Safety holds · tier: interna | Owner · Admin | — |
payments:read | 7 operations · Charges and payments, Contacts · tier: beta | Owner · Admin | — |
payments:reverse | 2 operations · Charges and payments · tier: beta | Owner · Admin | — |
payments:write | 13 operations · Charges and payments, Clinic budgets, Contacts · tier: beta | Owner · Admin | — |
personal_tokens:read | 1 operation · Personal tokens · tier: beta | Owner · Admin · Supervisor · Agent | — |
personal_tokens:write | 2 operations · Personal tokens · tier: beta | Owner · Admin · Supervisor · Agent | — |
pipelines:read | 6 operations · Pipelines · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
pipelines:write | 6 operations · Pipelines · tier: beta and interna | Owner · Admin | — |
price_approval:approve | 1 operation · Price approvals · tier: beta | Owner · Admin | — |
price_approval:read | 2 operations · Price approvals · tier: beta | Owner · Admin | connector preset |
price_approval:request | 1 operation · Price approvals · tier: beta | Owner · Admin | — |
pricing:read | 11 operations · Pricing · tier: interna | Owner · Admin | — |
pricing:write | 6 operations · Pricing · tier: interna | Owner · Admin | — |
provisioning:read | 3 operations · Provisioning · tier: interna | Owner · Admin | — |
provisioning:write | 7 operations · Provisioning · tier: interna | Owner · Admin | — |
purchase_notes:read | 2 operations · Purchase notes · tier: beta | Owner · Admin | — |
purchase_notes:void | 1 operation · Purchase notes · tier: beta | Owner · Admin | — |
purchase_notes:write | 2 operations · Purchase notes · tier: beta | Owner · Admin | — |
quotes:read | 2 operations · Quotes · tier: beta | Owner · Admin | — |
quotes:void | 1 operation · Quotes · tier: beta | Owner · Admin | — |
quotes:write | 3 operations · Quotes · tier: beta | Owner · Admin | — |
reservations:dispose_abono | 1 operation · Reservations · tier: beta | Owner · Admin | — |
reservations:read | 2 operations · Reservations · tier: beta | Owner · Admin | — |
reservations:void | 1 operation · Reservations · tier: beta | Owner · Admin | — |
reservations:write | 1 operation · Reservations · tier: beta | Owner · Admin | — |
reservo:read | 2 operations · Reservo · tier: interna | Owner · Admin | — |
reservo:write | 5 operations · Reservo · tier: interna | Owner · Admin | — |
rexplus:read | 2 operations · outside the published contract | Owner · Admin | — |
rexplus:write | 4 operations · outside the published contract | Owner · Admin | — |
roles:read | 2 operations · Custom roles · tier: beta | Owner · Admin | — |
roles:write | 3 operations · Custom roles · tier: beta | Owner · Admin | — |
routing:read | 3 operations · Assignment rules · tier: beta | Owner · Admin | — |
routing:write | 5 operations · Assignment rules · tier: beta | Owner · Admin | — |
sale_notes:read | 10 operations · Sale notes, Transfer Tax · tier: beta and interna | Owner · Admin | — |
sale_notes:void | 1 operation · Sale notes · tier: beta | Owner · Admin | — |
sale_notes:write | 9 operations · Sale notes, Reservations · tier: beta and interna | Owner · Admin | — |
sales_leaderboard:read | 1 operation · Insights · tier: interna | Owner · Admin | — |
sandbox:read | 3 operations · Sandbox · tier: beta | Owner · Admin | — |
sandbox:write | 3 operations · Sandbox · tier: beta | Owner · Admin | — |
schedule_config:write | 1 operation · Appointments · tier: beta | Owner · Admin | — |
seller_compensation:read | 2 operations · Sale notes, Seller Compensation · tier: interna | Owner · Admin | — |
seller_compensation:write | 2 operations · Sale notes, Seller Compensation · tier: interna | Owner · Admin | — |
service_lifecycle:read | 6 operations · Service lifecycle · tier: interna | Owner · Admin | — |
service_lifecycle:write | 11 operations · Service lifecycle · tier: interna | Owner · Admin | — |
slas:read | 2 operations · SLAs · tier: beta | Owner · Admin · Supervisor · Agent | — |
slas:write | 3 operations · SLAs · tier: beta | Owner · Admin | — |
stages:read | 2 operations · Stages · tier: beta | Owner · Admin · Supervisor · Agent | — |
stages:write | 5 operations · Stages · tier: beta | Owner · Admin | — |
stock:read | 5 operations · Public stock · tier: beta | Owner · Admin | pk_ |
stock_dedup:read | 1 operation · Vehicles · tier: beta | Owner · Admin | — |
stock_dedup:write | 1 operation · Vehicles · tier: beta | Owner · Admin | — |
stock_photo_mirror:read | 1 operation · Vehicles · tier: beta | Owner · Admin | — |
stock_photo_mirror:write | 2 operations · Vehicles · tier: beta | Owner · Admin | — |
stock_retirement:read | 1 operation · Vehicles · tier: beta | Owner · Admin | — |
stock_retirement:write | 1 operation · Vehicles · tier: beta | Owner · Admin | — |
storefront_events:write | 2 operations · Public stock · tier: beta | Owner · Admin | pk_ |
tags:read | 4 operations · Tags, Conversations · tier: beta | Owner · Admin · Supervisor · Agent | — |
tags:write | 5 operations · Tags, Conversations · tier: beta | Owner · Admin · Supervisor · Agent | — |
teams:read | 3 operations · Teams · tier: beta | Owner · Admin · Supervisor · Agent | connector preset |
teams:write | 6 operations · Teams · tier: beta | Owner · Admin · Supervisor | — |
tenant:delete | No API route requires it today | Owner | owner only |
tenant:read | 9 operations · Workspace settings, Locations, Digest, +1 more · tier: beta and interna | Owner · Admin · Supervisor · Agent | connector preset |
tenant:write | 19 operations · Workspace settings, Locations, Add-ons, +2 more · tier: beta and interna | Owner · Admin | — |
tenant_bank_accounts:read | 2 operations · Bank Accounts · tier: interna | Owner · Admin | — |
tenant_bank_accounts:write | 2 operations · Bank Accounts · tier: interna | Owner · Admin | — |
tickets:claim | 1 operation · Tickets · tier: beta | Owner · Admin · Supervisor · Agent | — |
tickets:read | 6 operations · Tickets · tier: beta | Owner · Admin · Supervisor · Agent | connector preset |
tickets:write | 7 operations · Tickets, Conversations, Copilot · tier: beta and interna | Owner · Admin · Supervisor · Agent | — |
tool_credentials:read | 2 operations · Tool credentials · tier: beta | Owner · Admin | — |
tool_credentials:write | 3 operations · Tool credentials · tier: beta | Owner · Admin | — |
tool_invocations:read | 2 operations · outside the published contract | Owner · Admin | — |
tools:read | 2 operations · Tools · tier: interna | Owner · Admin · Supervisor · Agent | — |
transfer_cases:read | 3 operations · Transfer Cases · tier: interna | Owner · Admin | — |
transfer_cases:write | 5 operations · Transfer Cases · tier: interna | Owner · Admin | — |
triggers:read | 2 operations · Triggers · tier: beta | Owner · Admin | — |
triggers:write | 3 operations · Triggers · tier: beta | Owner · Admin | — |
vehicle_pipeline:read | 1 operation · Vehicles · tier: beta | Owner · Admin · Supervisor · Agent | connector preset |
vehicle_pipeline:write | 4 operations · Vehicles · tier: beta | Owner · Admin · Supervisor · Agent | — |
vehicle_registry:read | 2 operations · Vehicle attachments · tier: beta | Owner · Admin | — |
vehicle_registry:write | 2 operations · Vehicle attachments · tier: beta | Owner · Admin | — |
voice_drift:read | 1 operation · outside the published contract | Owner · Admin | — |
webhooks:read | 4 operations · Webhooks · tier: beta | Owner · Admin | — |
webhooks:write | 5 operations · Webhooks · tier: beta | Owner · Admin | — |
widget:chat | 4 operations · Widget · tier: interna | — | pk_ |
worker_failures:read | 2 operations · WorkerFailures · tier: interna | Owner · Admin | — |
worker_failures:write | 2 operations · WorkerFailures · tier: interna | Owner · Admin | — |
The connector preset
What the guided connect flow for a Connected app mints: one read permission per tool family the connector profile exposes, and nothing else. It is not a role, and no person carries it.
mcp:connector sits inside it, and it is not a permission: it guards no route, no tool, no field and no column. Its only effect is to take capability away from its bearer — the MCP server sees the marker and narrows its catalogue to a read-only profile — which is why it can travel in plain sight on the credential: there is nothing to escalate to. A credential carrying this marker and nothing else can do strictly less than a credential carrying nothing at all.
analytics:readappointment_types:readappointments:readclinic:readcontacts:readconversations:readfollowups:readhelp_centers:readleads:readmarketplace:readmcp:connectorpipelines:readprice_approval:readteams:readtenant:readtickets:readvehicle_pipeline:read
Margin and cost reading is not included: it is added by ticking the matching box while connecting, and without that scope those tools are absent from the catalogue rather than present and refusing.
Publishable pk_ keys
A pk_ key lives in the browser, so it carries no scopes of its own: the platform resolves this fixed set for it on every request. No role hands it out and the mint form does not offer it; a pk_ can never carry a broad write or an admin permission.
appointments:intakeleads:intakestock:readstorefront_events:writewidget:chat
Adding an entry to this set grants it to every pk_ already in the wild, with no re-mint — which is why the list stays short and every entry opens exactly one public surface.
Deprecated spellings
A one-release bridge: a credential carrying the old string is treated as carrying the new one, and nothing else changes. The deprecated spelling cannot be handed out, no role offers it and the mint form will not take it — it only keeps working on the credentials that already had it.
| Deprecated spelling | Treated as |
|---|---|
healthatom:read | clinic:read |
healthatom:write | clinic:write |