Skip to main content
POST
Capture a voice note (transcription only)

Authorizations

X-API-Key
string
header
required

Body

application/json

Payload to create a transcription-only voice session for a signal (C-3314).

The transcript is produced client-side by the browser's Web Speech API — the same capture mechanism the existing voice-feedback pipeline uses — so the consumer reviews and (optionally) edits the text before attaching it. Audio bytes are never uploaded to Closient by this endpoint; the session stores the readable transcript only. Crucially this path is transcription-only: it never runs the Bedrock enrichment / Linear-issue analysis step the superuser "/feedback" stream uses (epic dumb-pipe rule, C-3310).

transcript
string
required

Transcribed voice note, produced client-side by the browser's Web Speech API and reviewable/editable by the consumer before submit. Whitespace-only values are rejected with 400. Stored verbatim; never analysed (transcription is a format conversion, not content analysis — epic dumb-pipe rule).

Minimum string length: 1
Example:

"The packaging smelled off when I opened the box."

page_url
string
default:""

URL of the hosted product page the voice note was captured on. Stored verbatim for context; empty when not provided.

Maximum string length: 2000

Response

Created

The created voice session, returned so the form can attach it to a signal.

The consumer form takes id and sends it back as voice_session_id when it POSTs the signal (C-3312), which links the session via the Signal.voice_session FK (C-3311). No enrichment/Linear fields are exposed — the signals voice path never runs that step.

id
string<shortuuid>
required

Public short-UUID of the created voice session. Send this as voice_session_id when creating the signal to link the transcript to it.

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$
transcript
string
required

The stored transcript, echoed back so the client can confirm what was captured.