Each entry is dated, and an entry that asks you to change your integration or to run a full resync starts with Action required. Conventions explains what can change during the Beta.
1.0a: Beta updates (2026-10-18)
GET /v1/calls,GET /v1/conversationsandGET /v1/bookingstake an optionalleadfilter: one lead's calls, conversations or bookings, without paging the whole list.POST /v1/leads/searchbyphonealso finds the number stored in the layouts phone libraries write (+1 202-555-0123,(202) 555-0123and2025550123), as older imports stored it.- The Spanish docs show each error's title in Spanish. The
titleof a problem body stays in English. - Totem stops exporting teams in a sensitive business sector, such as health care, until it changes its sector policy. Such a team can no longer be added to an integration, and a key that covers one gets
403 sector_restrictedfor it. Skip the team. The changes feed delivers nothing for it, removals included, so keep what you already have only as long as your retention policy allows, then delete your copy. - Activities whose first capture failed are now captured later, so a lead can receive activities older than ones you already hold.
transferred_to.leadnow documents that it is alsonullwhen the transfer landed on an existing lead-ads lead or another lead with a fixed id.- The docs now say that the API is reachable over IPv4 only, so an IPv6 entry in an IP allowlist never matches.
- Calls that Totem reconciled or imported from its AI voice provider now report their real
outcome, instead ofunknown. A call still in progress reportsduration_secondsasnull. - A lead whose status this version does not know now reads
record_kind: "lead"withstatus: null, instead ofclient. - A lead's
attribution.original_capture.origin.kindis alwaysconversationorcall, andoriginal_capture.sourceuses the same values as the lead'ssource. A LinkedIn submission the person withdrew is no longer reported as the latest submission. - Action required. A one-team key stops reading its team, with
404 team_not_accessible, once the team joins, leaves or changes organization. Revoke it and create a new one. - The per-key rate limit charges every request it counts at least one item, including a search with no match and a
404. Rate limits lists what is not charged. - A tampered
cursoronGET /v1/sync/changesgets400 invalid_request, instead of a500. - Failed attempts with a revoked or expired key no longer count toward a lockout, and a locked key keeps working for the holder of its real secret.
limitdocuments its default of 25. The docs now explain what deleting a lead, call or conversation in Totem sends through the changes feed, and what the firewall answers outside/v1/.- TypeScript SDK 0.1.0-beta.2: typed error actions and codes, deadline-aware retries, open enum types and Node.js 22.12 support.
1.0a: Beta (2026-10-18)
Public Beta. Eligible team and organization administrators can create integrations in Settings → Developers without an invitation.
- The first version of the API: read-only, and in beta.
- Endpoints for the integration and its teams, boards, members, bookable services, leads (with their attribution, response and activities), calls, conversations and bookings.
- The changes feed,
GET /v1/sync/changes, with removals and full resync. - Secret keys with roll, revoke and an optional IP allowlist, managed in Settings → Developers.
- No webhooks: poll the changes feed every 1 to 5 minutes.