# Kair Voice ## Docs - [Introduction](https://docs.kair.is/introduction.md): What Kair Voice is, who it's for, and how it fits together. - [Platform Overview](https://docs.kair.is/platform/overview.md): The components that make up Kair Voice and how they relate. - [Architecture](https://docs.kair.is/platform/architecture.md): How the pieces connect — services, data flows, and deployment topology. - [Databases & Storage](https://docs.kair.is/platform/databases.md): Where data lives, why each store was chosen, and what it holds. - [Queue System](https://docs.kair.is/platform/queue-system.md): How audio becomes a transcript becomes a summary — the job pipeline. - [Configuration](https://docs.kair.is/platform/configuration.md): Full config.yml reference — all fields, defaults, and what each controls. - [Authentication](https://docs.kair.is/api/authentication.md): How users and devices authenticate with the Kair Voice API. - [Sessions](https://docs.kair.is/api/sessions.md): Session lifecycle — creation, recording, transcription, and finalisation. - [Transcription](https://docs.kair.is/api/transcription.md): How audio is transcribed — backends, diarisation, limits, and configuration. - [Workspaces](https://docs.kair.is/api/workspaces.md): Workspaces isolate groups, projects, or organisations within the platform. - [Devices](https://docs.kair.is/api/devices.md): ESP32 hardware devices — pairing, sessions, and authentication. - [Admin](https://docs.kair.is/api/admin.md): Admin-only endpoints for system configuration, user management, and job monitoring. - [Local Development](https://docs.kair.is/guides/local-development.md): Running the API, workers, and frontend locally. - [Recording a Session](https://docs.kair.is/guides/recording-a-session.md): Step-by-step: from creating a session to getting a transcript. - [Managing Workspaces](https://docs.kair.is/guides/managing-workspaces.md): Creating workspaces, adding members, and organising sessions. - [Session Recording Flow](https://docs.kair.is/flows/session-recording.md): Sequence diagram: how recording state is managed between client, API, and Redis. - [Chunked Upload Flow](https://docs.kair.is/flows/chunked-upload.md): Sequence diagram: how audio chunks are uploaded, transcribed, and stitched. - [Single Audio Upload Flow](https://docs.kair.is/flows/single-audio-upload.md): Sequence diagram: uploading a complete audio file in one request. - [Device Pairing Flow](https://docs.kair.is/flows/device-pairing.md): Full device pairing sequence — device side and user side — plus data model and API reference. - [Device Meeting Flow](https://docs.kair.is/flows/device-meeting.md): Sequence diagram: how a hardware device starts and manages a session. - [Workspace Join Flow](https://docs.kair.is/flows/workspace-join.md): Sequence diagram: invitation, acceptance, and workspace membership. - [HiRAG Indexing Process](https://docs.kair.is/flows/hirag-indexing.md): How transcripts are indexed into the knowledge graph after a session completes. - [Post authregister](https://docs.kair.is/api-reference/auth/post-authregister.md) - [Post authlogin](https://docs.kair.is/api-reference/auth/post-authlogin.md) - [Get authrefresh token](https://docs.kair.is/api-reference/auth/get-authrefresh-token.md) - [Get authme](https://docs.kair.is/api-reference/auth/get-authme.md) - [Post authrequest magic link](https://docs.kair.is/api-reference/auth/post-authrequest-magic-link.md) - [Post authvalidate magic link](https://docs.kair.is/api-reference/auth/post-authvalidate-magic-link.md) - [Post authcomplete guest onboarding](https://docs.kair.is/api-reference/auth/post-authcomplete-guest-onboarding.md) - [Post workspaces join](https://docs.kair.is/api-reference/auth/post-workspaces-join.md) - [GDPR right-to-erasure](https://docs.kair.is/api-reference/auth/gdpr-right-to-erasure.md) - [Get sessions](https://docs.kair.is/api-reference/session/get-sessions.md) - [Post sessions](https://docs.kair.is/api-reference/session/post-sessions.md) - [Put sessions](https://docs.kair.is/api-reference/session/put-sessions.md) - [Delete sessions](https://docs.kair.is/api-reference/session/delete-sessions.md) - [Get sessions recording status](https://docs.kair.is/api-reference/session/get-sessions-recording-status.md) - [Post sessions upload audio](https://docs.kair.is/api-reference/session/post-sessions-upload-audio.md) - [Get sessions chunks](https://docs.kair.is/api-reference/session/get-sessions-chunks.md) - [Get sessions audios](https://docs.kair.is/api-reference/session/get-sessions-audios.md) - [Get sessions audios stream url](https://docs.kair.is/api-reference/session/get-sessions-audios-stream-url.md) - [Patch sessions audios move](https://docs.kair.is/api-reference/session/patch-sessions-audios-move.md) - [Get sessions transcriptions](https://docs.kair.is/api-reference/session/get-sessions-transcriptions.md) - [Patch sessions transcriptions move](https://docs.kair.is/api-reference/session/patch-sessions-transcriptions-move.md) - [Get transcriptions segments](https://docs.kair.is/api-reference/session/get-transcriptions-segments.md) - [Post sessions summarise](https://docs.kair.is/api-reference/session/post-sessions-summarise.md) - [Post sessions upload transcript](https://docs.kair.is/api-reference/session/post-sessions-upload-transcript.md) - [Get sessions summaries](https://docs.kair.is/api-reference/session/get-sessions-summaries.md) - [Post sessions retranscribe](https://docs.kair.is/api-reference/session/post-sessions-retranscribe.md) - [Post sessions hirag query](https://docs.kair.is/api-reference/session/post-sessions-hirag-query.md) - [Post sessions moderator query](https://docs.kair.is/api-reference/session/post-sessions-moderator-query.md) - [Post sessions trigger hirag indexing](https://docs.kair.is/api-reference/session/post-sessions-trigger-hirag-indexing.md) - [Get sessions entities](https://docs.kair.is/api-reference/session/get-sessions-entities.md) - [Put sessions entities](https://docs.kair.is/api-reference/session/put-sessions-entities.md) - [Delete sessions entities](https://docs.kair.is/api-reference/session/delete-sessions-entities.md) - [Get sessions communities](https://docs.kair.is/api-reference/session/get-sessions-communities.md) - [Put sessions communities](https://docs.kair.is/api-reference/session/put-sessions-communities.md) - [Get sessions documents](https://docs.kair.is/api-reference/session/get-sessions-documents.md) - [Upload a document to an existing session (no new session ...](https://docs.kair.is/api-reference/session/upload-a-document-to-an-existing-session-no-new-session-.md) - [Get documents chunks](https://docs.kair.is/api-reference/session/get-documents-chunks.md) - [Post sessions speaker claims](https://docs.kair.is/api-reference/session/post-sessions-speaker-claims.md) - [Get sessions speaker claims](https://docs.kair.is/api-reference/session/get-sessions-speaker-claims.md) - [Delete sessions speaker claimsme](https://docs.kair.is/api-reference/session/delete-sessions-speaker-claimsme.md) - [Get sessions concerns](https://docs.kair.is/api-reference/concerns/get-sessions-concerns.md) - [Post sessions meeting bot](https://docs.kair.is/api-reference/session/post-sessions-meeting-bot.md) - [Get audiodownload](https://docs.kair.is/api-reference/session/get-audiodownload.md) - [Get workspaces](https://docs.kair.is/api-reference/workspace/get-workspaces.md) - [Post workspaces](https://docs.kair.is/api-reference/workspace/post-workspaces.md) - [Put workspaces](https://docs.kair.is/api-reference/workspace/put-workspaces.md) - [Delete workspaces](https://docs.kair.is/api-reference/workspace/delete-workspaces.md) - [Get workspaces public info](https://docs.kair.is/api-reference/workspace/get-workspaces-public-info.md) - [Get workspaces join url](https://docs.kair.is/api-reference/workspace/get-workspaces-join-url.md) - [Get workspaces members](https://docs.kair.is/api-reference/workspace/get-workspaces-members.md) - [Post workspaces members](https://docs.kair.is/api-reference/workspace/post-workspaces-members.md) - [Delete workspaces members](https://docs.kair.is/api-reference/workspace/delete-workspaces-members.md) - [Post workspaces hirag query](https://docs.kair.is/api-reference/workspace/post-workspaces-hirag-query.md) - [Post workspaces agentic query](https://docs.kair.is/api-reference/workspace/post-workspaces-agentic-query.md) - [Get workspaces concerns](https://docs.kair.is/api-reference/concerns/get-workspaces-concerns.md) - [Get workspaces concernsrecurring](https://docs.kair.is/api-reference/concerns/get-workspaces-concernsrecurring.md) - [Get workspaces timeline](https://docs.kair.is/api-reference/concerns/get-workspaces-timeline.md) - [Post workspaces documents](https://docs.kair.is/api-reference/workspace/post-workspaces-documents.md) - [Get workspaces content library](https://docs.kair.is/api-reference/workspace/get-workspaces-content-library.md) - [Post workspaces audio](https://docs.kair.is/api-reference/workspace/post-workspaces-audio.md) - [Presigned stream URL for workspace-scoped audio (session_...](https://docs.kair.is/api-reference/workspace/presigned-stream-url-for-workspace-scoped-audio-session_.md) - [Post devicesregister](https://docs.kair.is/api-reference/device/post-devicesregister.md) - [Get devices](https://docs.kair.is/api-reference/device/get-devices.md) - [Put devices](https://docs.kair.is/api-reference/device/put-devices.md) - [Get devices sessions](https://docs.kair.is/api-reference/device/get-devices-sessions.md) - [Post devices heartbeat](https://docs.kair.is/api-reference/device/post-devices-heartbeat.md) - [Post devicespairing codes](https://docs.kair.is/api-reference/device/post-devicespairing-codes.md) - [Post devicespairconfirm](https://docs.kair.is/api-reference/device/post-devicespairconfirm.md) - [Post devicespairclaim auth](https://docs.kair.is/api-reference/device/post-devicespairclaim-auth.md) - [Get devicespairstatus](https://docs.kair.is/api-reference/device/get-devicespairstatus.md) - [Post devices sessionstart](https://docs.kair.is/api-reference/device/post-devices-sessionstart.md) - [Post devices sessionstop](https://docs.kair.is/api-reference/device/post-devices-sessionstop.md) - [Post devices commands](https://docs.kair.is/api-reference/device/post-devices-commands.md) - [Get concerns](https://docs.kair.is/api-reference/concerns/get-concerns.md) - [Patch concerns](https://docs.kair.is/api-reference/concerns/patch-concerns.md) - [Topic aggregation: one row per `(name_normalised, entity_...](https://docs.kair.is/api-reference/graph/topic-aggregation:-one-row-per-`name_normalised-entity_.md) - [Sessions across all relevant workspaces (not just the cal...](https://docs.kair.is/api-reference/graph/sessions-across-all-relevant-workspaces-not-just-the-cal.md) - [File a new access request for a session the caller cannot...](https://docs.kair.is/api-reference/graph/file-a-new-access-request-for-a-session-the-caller-cannot.md) - [Inbox: requests targeting *me* (workspace/session owner).](https://docs.kair.is/api-reference/graph/inbox:-requests-targeting-*me*-workspacesession-owner.md) - [Outbox: my own outgoing requests with their current status.](https://docs.kair.is/api-reference/graph/outbox:-my-own-outgoing-requests-with-their-current-status.md) - [Owner accepts or denies a pending request](https://docs.kair.is/api-reference/graph/owner-accepts-or-denies-a-pending-request.md) - [Get api keys](https://docs.kair.is/api-reference/apikey/get-api-keys.md) - [Post api keys](https://docs.kair.is/api-reference/apikey/post-api-keys.md) - [Put api keys](https://docs.kair.is/api-reference/apikey/put-api-keys.md) - [Delete api keys](https://docs.kair.is/api-reference/apikey/delete-api-keys.md) - [Post workshops](https://docs.kair.is/api-reference/workshop/post-workshops.md) - [Get workshops](https://docs.kair.is/api-reference/workshop/get-workshops.md) - [Put workshops](https://docs.kair.is/api-reference/workshop/put-workshops.md) - [Delete workshops](https://docs.kair.is/api-reference/workshop/delete-workshops.md) - [Post workshops characters](https://docs.kair.is/api-reference/workshop/post-workshops-characters.md) - [Get workshops characters](https://docs.kair.is/api-reference/workshop/get-workshops-characters.md) - [Put workshops characters](https://docs.kair.is/api-reference/workshop/put-workshops-characters.md) - [Delete workshops characters](https://docs.kair.is/api-reference/workshop/delete-workshops-characters.md) - [Post workshops invites](https://docs.kair.is/api-reference/workshop/post-workshops-invites.md) - [Post workshops invites join](https://docs.kair.is/api-reference/workshop/post-workshops-invites-join.md) - [Get workshops guestsme](https://docs.kair.is/api-reference/workshop/get-workshops-guestsme.md) - [Put workshops guestsme](https://docs.kair.is/api-reference/workshop/put-workshops-guestsme.md) - [Get workshops guests](https://docs.kair.is/api-reference/workshop/get-workshops-guests.md) - [Get status](https://docs.kair.is/api-reference/job/get-status.md) - [Get jobs](https://docs.kair.is/api-reference/job/get-jobs.md) - [Post waitlistsignup](https://docs.kair.is/api-reference/admin/post-waitlistsignup.md) - [Get waitlist](https://docs.kair.is/api-reference/admin/get-waitlist.md) - [Post waitlist approve](https://docs.kair.is/api-reference/admin/post-waitlist-approve.md) - [Post waitlist reject](https://docs.kair.is/api-reference/admin/post-waitlist-reject.md) - [Delete waitlist](https://docs.kair.is/api-reference/admin/delete-waitlist.md) - [Get users](https://docs.kair.is/api-reference/admin/get-users.md) - [Post users disable](https://docs.kair.is/api-reference/admin/post-users-disable.md) - [Post users enable](https://docs.kair.is/api-reference/admin/post-users-enable.md) - [Post users impersonate](https://docs.kair.is/api-reference/admin/post-users-impersonate.md) - [Get adminjobstranscriptions](https://docs.kair.is/api-reference/admin/get-adminjobstranscriptions.md) - [Post adminjobstranscriptions requeue](https://docs.kair.is/api-reference/admin/post-adminjobstranscriptions-requeue.md) - [Post adminjobstranscriptions redo](https://docs.kair.is/api-reference/admin/post-adminjobstranscriptions-redo.md) - [Apply a flat rewrite map to the segments' `speaker_label`...](https://docs.kair.is/api-reference/admin/apply-a-flat-rewrite-map-to-the-segments-`speaker_label`.md) - [Get adminjobssummarisations](https://docs.kair.is/api-reference/admin/get-adminjobssummarisations.md) - [Post adminjobssummarisations requeue](https://docs.kair.is/api-reference/admin/post-adminjobssummarisations-requeue.md) - [Post adminjobssummarisations redo](https://docs.kair.is/api-reference/admin/post-adminjobssummarisations-redo.md) - [Get adminjobshirag](https://docs.kair.is/api-reference/admin/get-adminjobshirag.md) - [Post adminjobshirag redo](https://docs.kair.is/api-reference/admin/post-adminjobshirag-redo.md) - [Get adminjobshirag executions](https://docs.kair.is/api-reference/admin/get-adminjobshirag-executions.md) - [Get adminjobshirag knowledge graph](https://docs.kair.is/api-reference/admin/get-adminjobshirag-knowledge-graph.md) - [Get adminsystemqueues](https://docs.kair.is/api-reference/admin/get-adminsystemqueues.md) - [Get adminsystemworkers](https://docs.kair.is/api-reference/admin/get-adminsystemworkers.md) - [Get adminsystemhirag config](https://docs.kair.is/api-reference/admin/get-adminsystemhirag-config.md) - [Put adminsystemhirag config](https://docs.kair.is/api-reference/admin/put-adminsystemhirag-config.md) - [Get adminsystemsummarisation config](https://docs.kair.is/api-reference/admin/get-adminsystemsummarisation-config.md) - [Put adminsystemsummarisation config](https://docs.kair.is/api-reference/admin/put-adminsystemsummarisation-config.md) - [Get adminsessions](https://docs.kair.is/api-reference/admin/get-adminsessions.md) - [Elevate this admin's view-content access for one session ...](https://docs.kair.is/api-reference/admin/elevate-this-admins-view-content-access-for-one-session-.md) - [Post adminbenchmarkstart](https://docs.kair.is/api-reference/admin/post-adminbenchmarkstart.md) - [Post adminbenchmarksummarise](https://docs.kair.is/api-reference/admin/post-adminbenchmarksummarise.md) - [Post adminbenchmarkindex](https://docs.kair.is/api-reference/admin/post-adminbenchmarkindex.md) - [Get adminbenchmarkhistory](https://docs.kair.is/api-reference/admin/get-adminbenchmarkhistory.md) - [Get adminaudiostream](https://docs.kair.is/api-reference/admin/get-adminaudiostream.md) - [Get trust](https://docs.kair.is/api-reference/admin/get-trust.md) - [Put adminsystemtrust config](https://docs.kair.is/api-reference/admin/put-adminsystemtrust-config.md) ## OpenAPI Specs - [openapi](https://docs.kair.is/openapi.json)