Sales Montana / Docs

Developers

REST API soon

Everything the app does, over HTTP. The same permission model as the app itself, so a key can never reach further than the person who made it.

Not shipped yet

Everything on this page is designed and specified, and none of it is running in production today. It is written down ahead of the build so the behaviour is agreed before the code exists.

Authentication

A bearer token, created under Settings, then Developers. Keys are scoped to one workspace and carry an access level, the same three levels the MCP connection uses.

curl https://api.salesmontana.com/v1/calls?campaign_id=cmp_9f2&limit=25 \
  -H "Authorization: Bearer sm_live_..."

Resources

ResourceWhat you can do
/companiesList, read, create, update. The account and its fields.
/contactsPeople at an account.
/callsList and read. Includes transcript, summary and score where the call was reviewed.
/campaignsList, read, create. Enrol and remove leads.
/dealsFull pipeline access.
/tasksFollow-ups and callbacks.
/analyticsThe funnel, filtered the same way the reports screen filters it.
/numbersList your numbers and what they are assigned to.

Shape

JSON in, JSON out. Cursor pagination through a next field rather than page numbers, because a list that changes while you walk it will otherwise repeat or skip rows. Timestamps are ISO 8601 in UTC. Errors carry a stable code alongside a message meant for a human.

Rate limits

Per key, per minute, returned on every response in the RateLimit headers. A 429 tells you when to come back in Retry-After. Bulk work belongs on the bulk endpoints rather than in a loop over the single-item ones.