API reference
Dashboard API
The data behind the dashboard: conversations and contacts — including subject-access export and erasure — per-bot analytics and knowledge gaps, API keys, request logs, plan usage and saved views.
Endpoints
21 operations, each with its parameters, schemas and an example request on its own page.
- get/api/api-keysList API keys
- post/api/api-keysCreate API key — Creates a key. The plaintext is returned exactly once and never again - only a peppered hash is stored.
- delete/api/api-keys/{api_key_id}Revoke API key
- get/api/bots/{bot_id}/analyticsBot analytics — Overview and daily series for one bot.
- get/api/bots/{bot_id}/analytics/gapsKnowledge gaps — Questions the bot could not answer.
- get/api/bots/{bot_id}/analytics/insightsBot insights — The three numbers that answer "is it working".
- get/api/bots/{bot_id}/contactsList contacts — One row per person, deduplicated across sessions and devices - unlike /conversations, which is one row per…
- get/api/bots/{bot_id}/contacts/exportExport contacts
- get/api/bots/{bot_id}/contacts/{contact_id}/dataExport subject data — Everything held about one person, for a subject access request.
- delete/api/bots/{bot_id}/contacts/{contact_id}/dataErase subject data — Article 17 erasure, in whichever of the two forms the tenant chooses.
- get/api/bots/{bot_id}/conversationsList conversations — One page of conversations.
- post/api/bots/{bot_id}/conversations/bulkBulk update conversations — Resolve, reopen or delete a batch of conversations.
- get/api/bots/{bot_id}/conversations/{conversation_id}Get conversation
- get/api/logsList request logs — This workspace's API traffic, newest first.
- get/api/logs/summaryRequest log summary — Volume, error rate, latency and the busiest endpoints over a window.
- get/api/overviewOrg overview — The dashboard home page: cross-bot totals plus plan usage.
- get/api/usagePlan usage
- get/api/viewsList saved views — Named filter sets for the conversation and contact lists.
- post/api/viewsCreate saved view
- patch/api/views/{view_id}Update saved view
- delete/api/views/{view_id}Delete saved view
Authentication
Every call here needs Authorization: Bearer with a key from the dashboard — Authentication covers keys and scopes.
Objects returned
The models these endpoints send back, with every field. Open one to read it.
Message2 fields
messagestringrequiredokbooleanDefault: true
PaginatedResponse_ContactRead_6 fields
itemsarray of ContactReadrequired13 fields · ContactRead
first_seen_atstring (date-time)requiredidstringrequiredlast_seen_atstring (date-time)requiredvisitor_idstringrequiredconversation_countintegerDefault: 0
countrystring | nullcustom_fieldsobjectemailstring | nullis_leadbooleanDefault: false
message_countintegerDefault: 0
namestring | nullphonestring | nulltagsarray of any
pageintegerrequiredpage_sizeintegerrequiredtotalintegerrequiredhas_morebooleanDefault: false
next_cursorstring | null
PaginatedResponse_ConversationRead_6 fields
itemsarray of ConversationReadrequired21 fields · ConversationRead
idstringrequiredlast_message_atstring (date-time)requiredstarted_atstring (date-time)requiredstatusstringrequiredvisitor_idstringrequiredconsentstringDefault: unknown
contact_emailstring | nullcontact_idstring | nullcontact_namestring | nullcontact_phonestring | nullcustom_fieldsobjectended_atstring (date-time) | nullis_leadbooleanDefault: false
message_countintegerDefault: 0
page_urlstring | nullratinginteger | nullresolvedboolean | nullsentimentstring | nullsummarystring | nulltitlestring | nulltotal_cost_usdnumberDefault: 0
pageintegerrequiredpage_sizeintegerrequiredtotalintegerrequiredhas_morebooleanDefault: false
next_cursorstring | null
BulkResponse3 fields
failedintegerrequiredresultsarray of BulkOutcomerequired3 fields · BulkOutcome
idstringrequiredokbooleanrequirederrorstring | null
succeededintegerrequired
ConversationDetail25 fields
idstringrequiredlast_message_atstring (date-time)requiredstarted_atstring (date-time)requiredstatusstringrequiredvisitor_idstringrequiredconsentstringDefault: unknown
contact_emailstring | nullcontact_idstring | nullcontact_namestring | nullcontact_phonestring | nullcustom_fieldsobjectended_atstring (date-time) | nullis_leadbooleanDefault: false
message_countintegerDefault: 0
messagesarray of MessageRead13 fields · MessageRead
contentstringrequiredcreated_atstring (date-time)requiredidstringrequiredrolestringrequiredcitationsarray of object | nullcost_usdnumber | nullerror_codestring | nullinput_tokensinteger | nullis_errorbooleanDefault: false
latency_msinteger | nullmodelstring | nulloutput_tokensinteger | nullttft_msinteger | null
page_urlstring | nullratinginteger | nullreferrerstring | nullresolvedboolean | nullsentimentstring | nullsummarystring | nulltitlestring | nulltotal_cost_usdnumberDefault: 0
total_input_tokensintegerDefault: 0
total_output_tokensintegerDefault: 0
Something here wrong or missing? Tell us — the documentation and the API are maintained by the same person, so a correction is a fix rather than a ticket.