Skip to content
Beta

Get started Overview

  • v1.0a
  • Beta
  • Read-only

Totem API

Read the leads, calls, conversations and bookings of your Totem teams from your own systems, and keep a copy in sync.

GET /v1/me Your first request
cURL
curl https://api.totemstudio.ai/v1/me \
  -H "Authorization: Bearer $TOTEM_API_KEY"
Example response · 200 OKJSON
{
  "object": "integration",
  "id": "prn_m1NFIcoIU8smXfqR4ymgt6j07TfRF",
  "livemode": false,
  "name": "Example CRM sync",
  "key": { "last4": "Q7xZ" },
  "teams": [
    "team_r9uYrIW4gSFJJ6hZQ9ip1UIpPaAD1CF7NR"
  ],
  "scopes": [
    "teams:read",
    "crm:read",
    "calls:read",
    "messages:read",
    "calendar:read"
  ]
}

At a glance

Base URL
https://api.totemstudio.ai/v1
HTTPS only

Explore the API

Every endpoint, grouped by resource. Each one opens its reference.

Guides

From your first request to a production sync.

  • Quickstart

    Make your first requests to the Totem API in a few minutes. Check your key, find your team, list leads and start a sync.

  • Authentication

    Secret keys and where they may live, the Totem-Team header for keys with several teams, IP allowlists, and how to roll or revoke a key.

  • TypeScript SDK

    Use the official TypeScript client to read your Totem data, paginate lists and handle API errors from your server.

  • Keep a copy in sync

    Copy a team with the changes feed and keep the copy current. Apply pages safely, recover from errors, and start from a reference client that Totem tests.

  • Lists and pagination

    How list endpoints return records a page at a time, how to read every page, and what order and filters a list supports.

  • Data coverage

    What Totem records, since when, and how to tell an empty value from a fact that was never recorded.

Built for safe integrations

  • Read-only

    No endpoint creates, changes or deletes anything in Totem. A bug in your integration cannot alter your CRM.

  • No message or call content

    You read contact details, such as names, email addresses and phone numbers, and what happened: when, through which channel and at which stage. The API never returns message text, call transcripts, summaries, recordings, notes, free-text answers or custom form fields.

  • Server-side keys

    Secret keys belong on your server, never in a browser or a mobile app. Totem refuses a secret key sent from a web page.

The Totem API lets your server read the CRM data of your Totem teams: leads with their place in the pipeline, their origin and their contact permissions, what happened to each lead, calls, conversations and bookings. With it you can:

  • Export your CRM to another CRM, or to files and tables you control.
  • Sync a BI tool or a data warehouse, and report on leads, calls and bookings next to the rest of your business.
  • Automate follow-up in your own systems, for example when a lead reaches a stage, while honoring each lead's contact permissions.

The Quickstart takes you from a new key to your first leads in four steps.

What version 1.0a is

  • Read-only. No endpoint creates or changes anything in Totem.
  • Beta. Available to eligible Totem customers. Create a key in Settings → Developers; no invitation is needed. Conventions explains what can change during the Beta.
  • Contact details, no content. The API returns contact details, such as names, email addresses and phone numbers, and the metadata of the CRM: stages, calls, conversations and bookings. It never returns message text, call transcripts, summaries, recordings, notes, free-text answers or custom form fields. Treat every response as personal data.
  • Polling, no webhooks. You keep a copy current by reading the changes feed every 1 to 5 minutes. The changelog announces any new capability.
  • Administrator-level access. A key reads everything an administrator of its teams can read, including channels and records marked Private. The administrator who creates the key confirms this.

What you can read

Every request goes to https://api.totemstudio.ai/v1 over HTTPS, and the API answers in JSON.

DataEndpoints
Your integration and its teamsGET /v1/me, GET /v1/teams, GET /v1/teams/{id}
Team membersGET /v1/members
Boards, with their stagesGET /v1/boards
Leads, with their attribution and responseGET /v1/leads, GET /v1/leads/{id}, POST /v1/leads/search
What happened to a leadGET /v1/leads/{id}/activities
CallsGET /v1/calls, GET /v1/calls/{id}
Conversations, without their messagesGET /v1/conversations, GET /v1/conversations/{id}
Bookable servicesGET /v1/booking_services
BookingsGET /v1/bookings, GET /v1/bookings/{id}
Every change, team by teamGET /v1/sync/changes
Whether the API is upGET /v1/health

Before you build

  • Keep the key on your server. Never put it in a browser, a mobile app or a public repository. Authentication explains where a key may live.
  • Apply contact permissions first. Copy each lead's contact_permissions before any of your systems contacts that person.
  • Apply removals. When the changes feed removes a record, delete it from every system you copied it to, as soon as you can.
  • Protect what you copy. Security and personal data explains what Totem protects and what to do with the personal data you receive.
  • Test with fictitious data. Testing and go-live explains how.

Next steps

  • Quickstart: make your first requests.
  • Keep a copy in sync: copy a team with the changes feed and keep the copy current, with a tested receiver to start from.
  • Authentication: keys, teams and the Totem-Team header.
  • Errors: what every error code means and what to do about it.
  • Conventions: the rules every response follows, before the endpoint reference.
  • Security and personal data: keys, activity records, where the API runs and how to handle the data you copy.

API version 1.0a