The API surface
Five services, one contract style. Every endpoint authenticates the same way, returns the same response envelope, and fails with the same error taxonomy.
Paths in the reference are relative to these base URLs.
POST /api/playtables/search means POST https://beta.getsales.io/playtables/v1/api/playtables/search. A bare /api/... path on the app host is not an API route: the prefix is part of the path.
Start here
Quickstart
Mint an API key and make your first call in a few minutes.
Authentication
API keys, OAuth access tokens, session JWTs and the Team-SID header.
API reference
Every endpoint of the five services, with an interactive playground.
Receive webhooks
Subscribe an endpoint, verify signed deliveries, read the delivery log.
MCP server
Give Claude, Cursor or ChatGPT the same tools over the Model Context Protocol.
Changelog
What shipped, in the order it shipped.
How the contract behaves
- Every success body is an envelope:
success: true, one typedoperationshape (search,get,create,update,delete,metrics,action), and ametablock with atrace_idyou can quote to support. - Every failure is one
McpErrorenvelope with a code from a fixed 16-code taxonomy, so you map errors once and reuse the mapping everywhere. See Envelopes and errors. - Lists page with
page_sizeplus an opaque forwardcursor, and filters are typed per field. See Pagination and filtering. - Endpoints marked deprecated in the reference are
501stubs: the request contract is final and validated, but the capability has not shipped yet. Build against them, do not ship against them. The reason is in each operation’s description.