Changelog
Every API change is listed here: new routes, fields, values and fixes.
#410 error on lists
The detail text of the cursor_expired error now covers both lists and the event feed: for a list, start again without cursor; for the feed, run recovery. The new text reads: "The cursor expired. Restart a list without cursor. For the event feed, record the gap, request start=now, reconcile campaigns and leads, then resume the feed". The code and status are unchanged.
#v1, early access
The first version of the public API. Read-only access with an organization API key.
- Routes:
GET /v1/me,GET /v1/workspaces,GET /v1/campaigns,GET /v1/campaigns/{id},GET /v1/leads,GET /v1/leads/{id},GET /v1/leads/{id}/messages,GET /v1/events. - Key permissions:
campaigns:read,leads:read,messages:read,events:read, plus a separate "Message text" checkbox. - Key scope by workspace and campaign, expiration date, IP allowlist, rotation with an overlap period, revocation and a request log.
- An event feed with
lead.first_message_sentandlead.replied, a 30-day cursor, and thestart=nowandinclude_textparameters. - Errors in RFC 9457 format with a
Request-Idheader, and rate limits in weight units withRateLimitheaders. - An OpenAPI 3.1 specification.
- Materials for AI agents:
llms.txt,llms-full.txt, Markdown for every page, an agent prompt and a "Copy page" menu.
Known early access limitations:
delivery_statewith the valueswaiting_queueandfailed, andautomation_statewith the valuecompleted, are not returned yet.- Completeness of the conversation archive and the event feed is not guaranteed: check
meta.completenessandmeta.coverage. - The API can't write data yet. Plans are described in What's next.