VitrinaAPI
Authentication and API keys

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 scopes when 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: estable changes only through deprecation, beta may change with a changelog entry, interna is 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 only when no admin carries it; sensitive when one of its operations touches personal or health data beyond ordinary contact fields; connector preset when the guided connect flow for a Connected app includes it; pk_ when a browser-side publishable key carries it.

Every scope

198 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.

ScopeWhat it opensRolesMarks
ads:read87 operations · Ads, Integrations · Meta Ads · tier: beta and internaOwner · Adminconnector preset
ads:write67 operations · Ads, Integrations · Meta Ads, Workspace settings · tier: beta and internaOwner · Admin—
ai_agents:read52 operations · AI agents, Onboarding, Templates, +1 more · tier: beta and internaOwner · Adminconnector preset
ai_agents:simulate25 operations · AI agents, Conversation Coach, Improvements, +1 more · tier: internaOwner · Admin—
ai_agents:write77 operations · AI agents, Onboarding, Conversation Coach, +2 more · tier: beta and internaOwner · Admin—
analytics:read31 operations · Analytics, Dealership insights · tier: betaOwner · Adminconnector preset
analytics:write5 operations · Analytics · tier: internaOwner · Admin—
api_keys:read1 operation · API keys · tier: betaOwner · Admin—
api_keys:write5 operations · API keys, PublishableKeys · tier: beta and internaOwner · Admin—
appointment_types:read3 operations · Appointments, Deposit Policies · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
appointment_types:write6 operations · Appointments, Deposit Policies · tier: beta and internaOwner · Admin—
appointments:delete1 operation · Appointments · tier: betaOwner · Admin · Supervisor · Agent—
appointments:intake13 operations · Widget · tier: internaOwner · Adminpk_
appointments:read14 operations · Appointments, Demo agenda, Calendar overlays, +1 more · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
appointments:write12 operations · Demo agenda, Appointments, Calendar overlays, +1 more · tier: beta and internaOwner · Admin · Supervisor · Agent—
audit:read1 operation · Audit · tier: internaOwner · Admin—
bank_movements:read3 operations · Bank Movements · tier: internaOwner · Admin—
bank_movements:write3 operations · Bank Movements · tier: internaOwner · Admin—
billing:read23 operations · Payment method · tier: beta and internaOwner · Admin—
billing:write17 operations · Payment method · tier: beta and internaOwnerowner only
campaigns:read34 operations · Audiences, Campaigns, WhatsApp templates, +3 more · tier: beta and internaOwner · Adminconnector preset
campaigns:write49 operations · WhatsApp templates, Campaigns, WhatsApp Flows, +4 more · tier: beta and internaOwner · Admin—
clinic:read114 operations · Clinic diagnóstico and commercial numbers, Patient register, Clinic agenda, +11 more · tier: beta and internaOwner · Admin · Supervisor · Agentsensitive · connector preset
clinic:write77 operations · Clinic diagnóstico and commercial numbers, Clinic services, Patient register, +6 more · tier: beta and internaOwner · Adminsensitive
clinic_admin:write84 operations · Clinic diagnóstico and commercial numbers, Templates and retention, Clinic pricing, +9 more · tier: beta and internaOwner · Adminsensitive
clinic_insights:read23 operations · Clinic diagnóstico and commercial numbers, Clinic commissions, Pipelines · tier: beta and internaOwner · Admin—
clinic_money:read83 operations · Clinic commissions, Clinic diagnóstico and commercial numbers, Clinic budgets, +8 more · tier: beta and internaOwner · Adminsensitive
clinic_money:write94 operations · Clinic commissions, Clinic budgets, Insurance reimbursements, +6 more · tier: beta and internaOwner · Admin—
clinic_patients:read20 operations · Patient register, Clinic diagnóstico and commercial numbers, Clinic budgets, +1 more · tier: beta and internaOwner · Adminsensitive
clinic_patients:write14 operations · Patient register, Clinic insurance · tier: beta and internaOwner · Adminsensitive
clinic_record:read34 operations · Clinical record, Consents, Record documents, +1 more · tier: betaOwner · Adminsensitive
clinic_record:write41 operations · Clinical record, Consents, Record documents, +1 more · tier: betaOwner · Adminsensitive
companies:read2 operations · Companies · tier: betaOwner · Admin · Supervisor · Agent—
companies:write3 operations · Companies · tier: betaOwner · Admin · Supervisor · Agent—
consignments:read14 operations · Consignments · tier: beta and internaOwner · Admin—
consignments:write10 operations · Consignments, Vehicles · tier: beta and internaOwner · Admin—
contacts:read28 operations · Contacts, Audiences, Interest Topics, +4 more · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
contacts:write24 operations · Contacts · tier: beta and internaOwner · Admin · Supervisor · Agent—
conversations:read41 operations · Conversations, Inbox views, The workspace's email voice, +6 more · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
conversations:write51 operations · Conversations, Email drafts, Macros, +2 more · tier: beta and internaOwner · Admin · Supervisor · Agent—
copilot:read9 operations · The workspace's email voice · tier: internaOwner · Admin · Supervisor · Agent—
copilot:write16 operations · The workspace's email voice · tier: internaOwner · Admin · Supervisor · Agent—
corrections:read17 operations · Conversation Coach, Improvements · tier: internaOwner · Admin · Supervisor · Agentconnector preset
corrections:write10 operations · Conversation Coach, Improvements · tier: beta and internaOwner · Admin · Supervisor · Agent—
cotizacion_discount:approve2 operations · Projects · tier: betaOwner · Admin—
credit_applications:read5 operations · Credit applications, Financial Institutions · tier: beta and internaOwner · Admin—
credit_applications:write5 operations · Credit applications · tier: betaOwner · Admin—
custom_attributes:read4 operations · Custom attributes · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
custom_attributes:write9 operations · Custom attributes, Interest Topics · tier: beta and internaOwner · Admin—
dealer_reports:readNo API route requires it todayOwner · Admin · Supervisor · Agentconnector preset
dealer_sites:read1 operation · Dealer sites · tier: internaOwner · Admin—
dealer_sites:write1 operation · Dealer sites · tier: internaOwner · Admin—
dealership_economics:read30 operations · Margin and profitability, Dealership insights, Overhead, +9 more · tier: beta and internaOwner · Admin—
dealership_economics:write18 operations · Overhead, Cost Categories, Financial Institutions, +4 more · tier: beta and internaOwner · Admin—
document_payments:read1 operation · Document payments · tier: betaOwner · Admin—
document_payments:write1 operation · Document payments · tier: betaOwner · Admin—
document_templates:read8 operations · Document templates · tier: beta and internaOwner · Admin—
document_templates:write5 operations · Document templates · tier: internaOwner · Admin—
erp_copilot:use5 operations · ERP Copilot · tier: internaOwner · Admin · Supervisor · Agent—
finanzas:exportNo API route requires it todayOwner · Admin—
finanzas:read4 operations · Finanzas · tier: betaOwner · Adminconnector preset
finanzas:write2 operations · Finanzas · tier: betaOwner · Admin—
finanzas_admin:write6 operations · Finanzas · tier: beta and internaOwner · Admin—
finanzas_patients:readNo API route requires it todayOwner · Admin—
finanzas_payroll:readNo API route requires it todayOwner · Admin—
finanzas_reports:readNo API route requires it todayOwner · Adminconnector preset
followups:manage3 operations · Follow-ups · tier: betaOwner · Admin—
followups:read43 operations · Follow-ups, Sequences, Vehicles · tier: betaOwner · Admin · Supervisor · Agentconnector preset
followups:write38 operations · Follow-ups, Sequences · tier: beta and internaOwner · Admin · Supervisor · Agent—
functions:read5 operations · Functions, Custom tools · tier: beta and internaOwner · Admin—
functions:write9 operations · Custom tools, Functions · tier: beta and internaOwner · Admin—
healthatom:read19 operations · HealthAtom · tier: internaOwner · Admin—
healthatom:write12 operations · HealthAtom, Clinic commissions · tier: internaOwner · Admin—
help_centers:read11 operations · Help centers · tier: betaOwner · Admin · Supervisor · Agentconnector preset
help_centers:write29 operations · Help centers · tier: betaOwner · Admin—
integrations:read10 operations · Integrations · Meta Ads · tier: beta and internaOwner · Admin—
integrations:write21 operations · Integrations · Meta Ads · tier: beta and internaOwner · Admin—
kb:read10 operations · Knowledge base — sources and indexed text, Knowledge base — files, AI agents · tier: betaOwner · Adminconnector preset
kb:write21 operations · Knowledge base — sources and indexed text, Knowledge base — files, AI agents · tier: betaOwner · Admin—
labels:read3 operations · Labels · tier: internaOwner · Admin · Supervisor · Agent—
labels:write5 operations · Labels · tier: internaOwner · Admin · Supervisor · Agent—
leads:intake3 operations · Public stock · tier: betaOwner · Adminpk_
leads:read34 operations · Projects, Leads, Pipelines · tier: betaOwner · Admin · Supervisor · Agentconnector preset
leads:write41 operations · Leads, Projects, The workspace's email voice · tier: beta and internaOwner · Admin · Supervisor · Agent—
legal:read2 operations · Legal · tier: internaOwner · Admin—
legal:write4 operations · Clinic diagnóstico and commercial numbers, Clinic commissions, Legal · tier: internaOwnerowner only
macros:read14 operations · Macros, Media library, Voice clips, +1 more · tier: betaOwner · Admin · Supervisor · Agentconnector preset
macros:write10 operations · Media library, Macros, Voice clips · tier: betaOwner · Admin—
marketplace:read102 operations · Projects, Vehicles, Marketplaces, +6 more · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
marketplace:write132 operations · Projects, Vehicles, Marketplaces, +4 more · tier: beta and internaOwner · Admin—
mcp:connectorNo API route requires it today—connector preset
mcp_servers:read2 operations · McpServers · tier: internaOwner · Admin—
mcp_servers:write3 operations · McpServers · tier: internaOwner · Admin—
memberships:read3 operations · Team · tier: betaOwner · Admin · Supervisor—
memberships:write8 operations · Team, Projects · tier: betaOwner · Admin—
messages:readNo API route requires it todayOwner · Admin · Supervisor · Agent—
messages:send22 operations · Conversations, Campaigns, WhatsApp templates, +4 more · tier: betaOwner · Admin · Supervisor · Agent—
messages:write1 operation · Messages · tier: internaOwner · Admin—
messaging_accounts:read24 operations · Sending mailboxes, Channels, Messaging Accounts, +3 more · tier: beta and internaOwner · Admin—
messaging_accounts:write36 operations · Sending mailboxes, Messaging Accounts, Onboarding, +3 more · tier: beta and internaOwner · Admin—
notifications:read3 operations · My notifications · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
notifications:write3 operations · My notifications · tier: beta and internaOwner · Admin · Supervisor · Agent—
orders:checkout5 operations · Orders · tier: betaOwner · Admin—
orders:read6 operations · Orders · tier: betaOwner · Admin · Supervisor · Agentconnector preset
orders:refund1 operation · Orders · tier: betaOwner · Admin—
orders:write6 operations · Orders · tier: betaOwner · Admin · Supervisor · Agent—
organization_legal:read2 operations · Legal identity · tier: betaOwner · Admin—
organization_legal:write3 operations · Legal identity · tier: betaOwner · Admin—
outbound_approvals:read3 operations · Outbound approvals · tier: betaOwner · Adminconnector preset
outbound_approvals:write8 operations · Outbound approvals · tier: betaOwner · Admin—
outbound_holds:read3 operations · Safety holds · tier: internaOwner · Admin—
outbound_holds:write3 operations · Safety holds · tier: internaOwner · Admin—
payments:read18 operations · Charges and payments, Clinic payment registrations, Contacts, +1 more · tier: betaOwner · Admin—
payments:reverse2 operations · Charges and payments · tier: betaOwner · Admin—
payments:write26 operations · Charges and payments, Clinic budgets, Clinic payment registrations, +1 more · tier: betaOwner · Admin—
personal_tokens:read2 operations · ConnectorKeys, Personal tokens · tier: beta and internaOwner · Admin · Supervisor · Agent—
personal_tokens:write4 operations · ConnectorKeys, Personal tokens · tier: beta and internaOwner · Admin · Supervisor · Agent—
pipelines:read7 operations · Pipelines · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
pipelines:write6 operations · Pipelines · tier: beta and internaOwner · Admin—
price_approval:approve1 operation · Price approvals · tier: betaOwner · Admin—
price_approval:read3 operations · Price approvals · tier: betaOwner · Adminconnector preset
price_approval:request2 operations · Price approvals · tier: betaOwner · Admin—
pricing:read11 operations · Pricing · tier: internaOwner · Admin—
pricing:write6 operations · Pricing · tier: internaOwner · Admin—
provisioning:read3 operations · Provisioning · tier: internaOwner · Admin—
provisioning:write7 operations · Provisioning · tier: internaOwner · Admin—
purchase_notes:read3 operations · Purchase notes · tier: betaOwner · Admin—
purchase_notes:void1 operation · Purchase notes · tier: betaOwner · Admin—
purchase_notes:write2 operations · Purchase notes · tier: betaOwner · Admin—
quotes:read2 operations · Quotes · tier: betaOwner · Admin—
quotes:void1 operation · Quotes · tier: betaOwner · Admin—
quotes:write3 operations · Quotes · tier: betaOwner · Admin—
reservations:dispose_abono1 operation · Reservations · tier: betaOwner · Admin—
reservations:read4 operations · Reservations · tier: betaOwner · Admin—
reservations:void1 operation · Reservations · tier: betaOwner · Admin—
reservations:write5 operations · Reservations, Charges and payments · tier: betaOwner · Admin—
reservo:read2 operations · Reservo · tier: internaOwner · Admin—
reservo:write5 operations · Reservo · tier: internaOwner · Admin—
rexplus:read2 operations · outside the published contractOwner · Admin—
rexplus:write4 operations · outside the published contractOwner · Admin—
roi:readNo API route requires it todayOwner · Admin—
roles:read2 operations · Custom roles · tier: betaOwner · Admin—
roles:write3 operations · Custom roles · tier: betaOwner · Admin—
routing:read3 operations · Assignment rules · tier: betaOwner · Adminconnector preset
routing:write5 operations · Assignment rules · tier: betaOwner · Admin—
sale_notes:read13 operations · Sale notes, Transfer Tax · tier: beta and internaOwner · Admin—
sale_notes:void1 operation · Sale notes · tier: betaOwner · Admin—
sale_notes:write12 operations · Sale notes, Charges and payments, Reservations · tier: beta and internaOwner · Admin—
sales_leaderboard:read1 operation · Dealership insights · tier: internaOwner · Admin—
sandbox:read3 operations · Sandbox · tier: betaOwner · Admin—
sandbox:write3 operations · Sandbox · tier: betaOwner · Admin—
schedule_config:write1 operation · Appointments · tier: betaOwner · Admin—
seller_compensation:read2 operations · Sale notes, Seller Compensation · tier: beta and internaOwner · Admin—
seller_compensation:write3 operations · Sale notes, Seller Compensation · tier: beta and internaOwner · Admin—
service_lifecycle:read6 operations · Service lifecycle · tier: internaOwner · Admin—
service_lifecycle:write11 operations · Service lifecycle · tier: internaOwner · Admin—
slas:read2 operations · SLAs · tier: betaOwner · Admin · Supervisor · Agentconnector preset
slas:write3 operations · SLAs · tier: betaOwner · Admin—
stages:read2 operations · Stages · tier: betaOwner · Admin · Supervisor · Agentconnector preset
stages:write5 operations · Stages · tier: betaOwner · Admin—
stock:read10 operations · Public stock, Vehicles, Widget · tier: beta and internaOwner · Adminpk_
stock_dedup:read1 operation · Vehicles · tier: betaOwner · Admin—
stock_dedup:write1 operation · Vehicles · tier: betaOwner · Admin—
stock_photo_mirror:read1 operation · Vehicles · tier: betaOwner · Admin—
stock_photo_mirror:write2 operations · Vehicles · tier: betaOwner · Admin—
stock_retirement:read1 operation · Vehicles · tier: betaOwner · Admin—
stock_retirement:write1 operation · Vehicles · tier: betaOwner · Admin—
storefront_events:write2 operations · Public stock · tier: betaOwner · Adminpk_
tags:read4 operations · Tags, Conversations · tier: betaOwner · Admin · Supervisor · Agentconnector preset
tags:write5 operations · Tags, Conversations · tier: betaOwner · Admin · Supervisor · Agent—
teams:read3 operations · Teams · tier: betaOwner · Admin · Supervisor · Agentconnector preset
teams:write6 operations · Teams · tier: betaOwner · Admin · Supervisor—
tenant:deleteNo API route requires it todayOwnerowner only
tenant:read12 operations · Workspace settings, Locations, Monday summary, +4 more · tier: beta and internaOwner · Admin · Supervisor · Agentconnector preset
tenant:write25 operations · Workspace settings, Locations, AI agents, +5 more · tier: beta and internaOwner · Admin—
tenant_bank_accounts:read2 operations · Bank Accounts · tier: internaOwner · Admin—
tenant_bank_accounts:write2 operations · Bank Accounts · tier: internaOwner · Admin—
tickets:claim1 operation · Tickets · tier: betaOwner · Admin · Supervisor · Agent—
tickets:read10 operations · Tickets, Projects · tier: betaOwner · Admin · Supervisor · Agentconnector preset
tickets:write15 operations · Tickets, Projects, Conversations, +1 more · tier: beta and internaOwner · Admin · Supervisor · Agent—
tool_credentials:read2 operations · Tool credentials · tier: betaOwner · Admin—
tool_credentials:write3 operations · Tool credentials · tier: betaOwner · Admin—
tool_invocations:read2 operations · outside the published contractOwner · Admin—
tools:read2 operations · Tools · tier: internaOwner · Admin · Supervisor · Agent—
transfer_cases:read3 operations · Transfer Cases · tier: internaOwner · Admin—
transfer_cases:write5 operations · Transfer Cases · tier: internaOwner · Admin—
triggers:read2 operations · Triggers · tier: betaOwner · Adminconnector preset
triggers:write3 operations · Triggers · tier: betaOwner · Admin—
vehicle_pipeline:read1 operation · Vehicles · tier: betaOwner · Admin · Supervisor · Agentconnector preset
vehicle_pipeline:write4 operations · Vehicles · tier: betaOwner · Admin · Supervisor · Agent—
vehicle_registry:read2 operations · Vehicle attachments · tier: betaOwner · Admin—
vehicle_registry:write3 operations · Vehicle attachments · tier: betaOwner · Admin—
voice_drift:read1 operation · outside the published contractOwner · Admin—
webhooks:read4 operations · Webhooks · tier: betaOwner · Admin—
webhooks:write5 operations · Webhooks · tier: betaOwner · Admin—
widget:chat5 operations · Widget · tier: interna—pk_
worker_failures:read2 operations · WorkerFailures · tier: internaOwner · Admin—
worker_failures:write2 operations · WorkerFailures · tier: internaOwner · 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.

  • ads:read
  • ai_agents:read
  • analytics:read
  • appointment_types:read
  • appointments:read
  • campaigns:read
  • clinic:read
  • contacts:read
  • conversations:read
  • corrections:read
  • custom_attributes:read
  • dealer_reports:read
  • finanzas:read
  • finanzas_reports:read
  • followups:read
  • help_centers:read
  • kb:read
  • leads:read
  • macros:read
  • marketplace:read
  • mcp:connector
  • notifications:read
  • orders:read
  • outbound_approvals:read
  • pipelines:read
  • price_approval:read
  • routing:read
  • slas:read
  • stages:read
  • tags:read
  • teams:read
  • tenant:read
  • tickets:read
  • triggers:read
  • vehicle_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:intake
  • leads:intake
  • stock:read
  • storefront_events:write
  • widget: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 spellingTreated as
healthatom:readclinic:read
healthatom:writeclinic:write

On this page