Skip to content
watsi

Get started

Which surface to use

The four ways to connect your system to watsi — the REST API, the MCP server, webhooks and the website widget — and when each one fits.

watsi exposes the same capabilities through several doors. All of them read and write one workspace, the one your credential belongs to, and all of them come from the same contract: an action defined once is published as a REST route and as an MCP tool at the same time, with the same scopes.

You want to…UseCredential
Have your backend read or write data (contacts, conversations, analytics)REST APIAPI key wats_live_…
Let an AI assistant (Claude, ChatGPT, Cursor) query your workspaceMCP serverAPI key or OAuth 2.1
Find out as soon as something happens (new message, booked appointment, handoff)WebhooksAn HTTPS endpoint watsi registers
Put the agent’s chat on your websiteWebsite widgetConfigured in the app

REST API

https://api.watsi.ai/v1/actions/<domain>/<verb>

Every route is an action: GET to read (parameters go in the query string) and POST to write (JSON body). All of them authenticate with Authorization: Bearer <your key> and require one or more scopes. Responses are JSON; errors always look like { "error": { "code", "message" } }.

Every route

This table is generated from the action contract when the site is built, so it cannot fall behind what the server mounts. The Idempotency-Key column marks the writes that accept that header (idempotency).

MethodPathScopesIdempotency-Key
POST/v1/actions/agents/assignmentagents:write—
GET/v1/actions/agents/configagents:read—
POST/v1/actions/agents/createagents:writeYes
POST/v1/actions/agents/knowledgeknowledge:writeYes
POST/v1/actions/agents/knowledge/deleteknowledge:writeYes
GET/v1/actions/agents/listagents:read—
POST/v1/actions/agents/updateagents:writeYes
GET/v1/actions/analytics/agent-performanceanalytics:read—
GET/v1/actions/analytics/escalationsanalytics:read—
GET/v1/actions/analytics/lead-attributionanalytics:read—
GET/v1/actions/analytics/overviewanalytics:read—
GET/v1/actions/analytics/profiling-reportanalytics:read—
POST/v1/actions/attachments/create-uploadagents:writeYes
POST/v1/actions/attachments/finalizeagents:writeYes
POST/v1/actions/attachments/import-urlagents:writeYes
GET/v1/actions/billing/credit-usagebilling:read—
GET/v1/actions/billing/payment-historybilling:read—
GET/v1/actions/billing/statusbilling:read—
POST/v1/actions/contacts/createcontacts:writeYes
GET/v1/actions/contacts/listcontacts:read—
GET/v1/actions/conversations/getconversations:read—
GET/v1/actions/conversations/listconversations:read—
POST/v1/actions/conversations/statusconversations:write—
POST/v1/actions/crm/tagscrm:writeYes
POST/v1/actions/crm/tags/removecrm:writeYes
POST/v1/actions/lifecycle/attach-filelifecycle:writeYes
GET/v1/actions/lifecycle/case-filelifecycle:readbilling:read—
POST/v1/actions/lifecycle/record-calllifecycle:write—
POST/v1/actions/lifecycle/steplifecycle:write—
GET/v1/actions/lifecycle/transcriptlifecycle:read—
GET/v1/actions/messages/searchconversations:read—
GET/v1/actions/resources/getresources:read—
GET/v1/actions/resources/listresources:read—
POST/v1/actions/scheduling/member-schedulesscheduling:write—
GET/v1/actions/templates/searchtemplates:read—
GET/v1/actions/voice/callsagents:read—
GET/v1/actions/voice/configagents:read—
POST/v1/actions/voice/configagents:writeYes
GET/v1/actions/voice/diagnoseagents:read—
GET/v1/actions/workspace/integrationsintegrations:read—
GET/v1/actions/workspace/membersworkspace:read—
GET/v1/actions/workspace/settingsworkspace:read—

The lifecycle/* routes serve watsi’s own customer-success process and require scopes only watsi issues. You don’t need them to integrate.

MCP server

https://mcp.watsi.ai/mcp speaks the Model Context Protocol over Streamable HTTP. Every MCP tool is one of the actions above, with the same scope; the MCP server has nothing the REST API lacks. Use it when the caller is a model rather than your code. MCP server guide.

Webhooks

watsi sends a POST to your HTTPS endpoint when an event happens: an inbound message, an assigned conversation, a booked appointment, an agent action. The watsi team registers endpoints for you. How they work · Event catalog.

Website widget

The agent’s chat on your site is installed with a snippet you copy from Integrations in the watsi app; it needs neither the API nor a key.