API reference
Every operation, generated from the OpenAPI document. The base address is https://app.zentiqai.com/v1; every call carries your key as a Bearer token.
For tools that read one: the OpenAPI 3.1 document.
Identity
The calling key, the organisation and the API's health.
Keys
API keys and their scopes.
Usage
Minutes and usage.
Languages
The languages avatars speak.
Avatars
Faces: the library and your own.
Voices
Voices: the library and your clones.
Personas
Personas: a face, a voice and what they know and say.
Duos
Two-person avatars.
Widget
A persona on your website.
Knowledge
Knowledge packs and their documents.
- GET
/v1/knowledge/basesList knowledge packs - POST
/v1/knowledge/basesCreate a knowledge pack - GET
/v1/knowledge/bases/{id}Get a knowledge pack - PATCH
/v1/knowledge/bases/{id}Rename a knowledge pack - DELETE
/v1/knowledge/bases/{id}Delete a knowledge pack - GET
/v1/knowledge/bases/{id}/documentsList a knowledge pack's documents - POST
/v1/knowledge/bases/{id}/documentsAdd a document (a file, an address or text) - POST
/v1/knowledge/bases/{id}/searchSearch a knowledge pack - GET
/v1/knowledge/documents/{id}Get a document (poll until it is read) - DELETE
/v1/knowledge/documents/{id}Delete a document - GET
/v1/knowledge/documents/{id}/downloadDownload a document's original file
Sessions
Live conversations.
- GET
/v1/sessionsList sessions - POST
/v1/sessions/tokensStart a live session (mint a client token) - POST
/v1/sessions/end-idleReclaim this org's dead/idle sessions - GET
/v1/sessions/{id}Get a session - PATCH
/v1/sessions/{id}Steer a live session - DELETE
/v1/sessions/{id}End a session (alias of /end) - POST
/v1/sessions/{id}/endEnd a session (stops billing) - POST
/v1/sessions/{id}/sayMake the avatar speak exact text now - GET
/v1/sessions/{id}/transcriptTurn-by-turn transcript - GET
/v1/sessions/{id}/analyticsSession analytics - POST
/v1/sessions/{id}/staff-tokenJoin a visitor's live conversation as a person from your team
Portals
Portals built from templates, and their doors.
- GET
/v1/portalsList portals - POST
/v1/portalsBuild a portal from templates - GET
/v1/portals/templatesPortal templates (the gallery) - GET
/v1/portals/{id}Get a portal - PATCH
/v1/portals/{id}Update a portal - GET
/v1/portals/{id}/personaWho speaks on a portal - PUT
/v1/portals/{id}/personaChange who speaks on a portal - POST
/v1/portals/{id}/publishPublish a portal - POST
/v1/portals/{id}/embed-tokensSign one of your users in (an embed token) - GET
/v1/portals/{id}/go-liveCheck a portal can go live - POST
/v1/portals/{id}/customer-tokensMint an identity token for a signed-in customer (Actions) - POST
/v1/portals/{id}/escalationsHand a chat to the video avatar - GET
/v1/portals/{id}/case-linksList a portal's case links - POST
/v1/portals/{id}/case-linksSend a customer a link to their case - GET
/v1/case-links/{id}Get a case link - DELETE
/v1/case-links/{id}Revoke a case link - GET
/v1/portals/{id}/doorsEvery way in to a portal - PUT
/v1/portals/{id}/doors/visitorsOpen or close the visitors' door
Connections
Your own systems (a calendar, a CRM, a shop, an MCP server) that the avatar uses through actions.
Subjects
A portal's subjects and their content.
- GET
/v1/subjects/{id}Get a subject - PATCH
/v1/subjects/{id}Change a subject - GET
/v1/subjects/{id}/contentRead a subject's content - PATCH
/v1/subjects/{id}/contentChange a subject's content (as a draft) - GET
/v1/subjects/{id}/go-liveCheck a subject can go live - GET
/v1/subjects/{id}/versionsList a subject's versions - POST
/v1/subjects/{id}/publishPublish a subject's content - POST
/v1/subjects/{id}/translate-questionsTranslate a subject's questions (as a draft)
Setup
Building portals from a sentence.
Results
Results, reports, certificates and completion records.
People
Units, members, learners and guardian consent.
- POST
/v1/people/{id}/membershipsGive a person another place - GET
/v1/peopleList people - POST
/v1/peopleAdd a person (or find them) and give them a place - GET
/v1/unitsList units - POST
/v1/unitsAdd a unit (a class, team or group) - PATCH
/v1/memberships/{id}Change a place - DELETE
/v1/memberships/{id}Remove a place - GET
/v1/people/{id}Get a person - GET
/v1/units/{id}Get a unit - PATCH
/v1/units/{id}Rename, move or switch off a unit - POST
/v1/memberships/{id}/guardian-consentRecord a parent's or guardian's consent
Hiring
Candidate screening: roles, invites, candidates and decisions.
- GET
/v1/invites/{id}Get an invite - DELETE
/v1/invites/{id}Cancel an invite - GET
/v1/roles/{id}/invitesList a role's invites - POST
/v1/roles/{id}/invitesInvite candidates to a role - POST
/v1/candidates/{id}/decisionRecord a person's decision - GET
/v1/candidates/{id}Get a candidate - GET
/v1/candidates/{id}/complianceGet a candidate's US hiring record - GET
/v1/candidates/{id}/interviewGet a candidate's interview - GET
/v1/roles/{id}/candidatesList a role's candidates - GET
/v1/roles/{id}/interviewsList a role's interviews - GET
/v1/roles/{id}/requestsList a role's candidate requests - GET
/v1/rolesList screening roles
Inbox
Website leads, bookings and hand-offs.
Webhooks
Webhooks and their deliveries.
Events
The event log.
Agents
For AI assistants: ask a business's public website assistant a question (no key).