VitrinaAPI

The Vitrina API

What the platform exposes and how this documentation is ordered.

Your code gets into a workspace with an API key. One call is enough:

curl https://api.vitrinadev.com/api/v1/locations \
  -H "Authorization: Bearer $VITRINA_KEY"
{
  "data": [
    {
      "id": "6812d9f0-9bed-44b5-91df-4e5b90941f6b",
      "name": "Sucursal Providencia",
      "comuna_code": "13123",
      "region_code": "13",
      "timezone": "America/Santiago",
      "is_active": true
    }
  ]
}

Everything hangs off https://api.vitrinadev.com/api/v1 and everything asks for that same credential. What worked lands inside data; what failed, inside error. Errors has the code catalogue.

A workspace holds the business's contacts and conversations. It also holds the calendar, the locations, the team and the catalogue of what the business offers. Verticals run on that base, today car dealerships and clinics, and add what their trade needs.

How this documentation is ordered

The platform comes first: the chapters that hold in any workspace. Then one group per vertical, with what exists only there. Both carry their Recipes: one whole task, solved end to end.

ChapterWhat it is for
Get startedThe short path: one credential, one read, one failure and one event subscription.
See the training videosVideos, slide decks and manuals for the app, at training.vitrinadev.com.
Solve one whole job with the APIThe recipes that hold in any workspace: each one assembles a whole job, in order.
Use the TypeScript SDKThe TypeScript package generated from the contract: typed client, pagination, webhook verification.
Issue and rotate your API keysWhich credentials exist, what a scope is, and how a narrow key is minted.
Issue a personal tokenA person's credential: it sees exactly what they see and dies with their membership.
Run your integration without touching real dataA synthetic workspace, an sk_test_ key, and the sends that get captured instead of going out.
Send messagesWriting to a contact on their channel, and the blocks that can stop it.
Manage products and variantsThe catalog of what the workspace offers, its variants and the facts each one keeps.
Search, create and merge contactsThe workspace's people and the companies they belong to: search, create, correct, merge and tag.
Move leads across the boardThe opportunities the team is working, and the board they move across.
Reply and resolve ticketsThe thread with a customer and the case that outlives it: read the inbox, reply, assign, snooze and resolve.
Write emails with an assistantThe draft a connected assistant leaves ready, the workspace voice it reads before writing, and the send a person always makes.
Schedule an appointmentThe hour that is booked, the service being booked, and the events that announce every state change.
Configure the agent that talksThe agent that talks on the workspace's behalf: draft and live config, skills, tools and change requests.
Give the agent something to quoteWhat an agent may quote from: uploaded files and hand-authored sources.
Publish your help centerThe customer-facing self-service portal, and its sync into the knowledge base.
Measure the workspaceThe workspace's numbers and the panel's reports, read-only.
Configure your locationsThe workspace's places of business, and the address they are shown with.
Manage the workspace's peopleThe workspace's members and their invitations: add one, change a role, and a removal that never strands open work.
Build teams and custom rolesThe teams that route channels and tickets, and the custom roles that decide access.
Automate replies and assignmentOne-click replies with side-effects, and the ordered routing that decides who a conversation lands with.
Check and disconnect channelsRead, check the health of, and disconnect a messaging channel.
Set SLAs and automate actionsA ticket's time targets, and the event → condition → action automations.
Verify your sending domainThe workspace's own domain for sending email campaigns.
Use WhatsApp templates and FlowsMeta-approved messages and the forms a conversation can open.
Receive signed eventsSubscribe to the workspace's events and verify the signature they arrive with.
MCPConnect an AI client, Claude or Cursor, to the workspace in read-only mode.
Read an error and act on itThe envelope every failure arrives in, and what to do with each code.
Track versions and deprecationsWhat each operation promises at its tier, and how long a deprecated one lives.
ChangelogEvery operation or event that was added, changed, deprecated or removed, by release.
Handle personal and health dataWhich operations touch sensitive data, and what using them obliges you to.

The Reference has the full contract, operation by operation. It's generated from the same OpenAPI document the backend emits.

This site is written in Spanish first and mirrored here. Both trees carry the same chapters, and the language switcher keeps you on the page you're reading. The examples are the same run either way, so a field name or a message you see here is what the API really returned.

What is published, and what is not

Every published operation carries a tier, which says how much it can change and with how much notice. Today they're all beta; none has reached estable. Anything with no published tier is interna: undocumented, and it can change or disappear without notice, so don't build on it. Track versions and deprecations explains the three tiers.

Where to start

Money works the same in every trade. Charge and reconcile payments covers what somebody owes, what arrived and how the two meet.

Each vertical also carries its recipes, one whole task solved end to end:

And each one has its own chapters. For car dealerships, Load and keep the lot and Keep and read the vehicle file. For clinics, Book into the clinic's agenda, List services and their prices and Quote a plan and close the till.

On this page