Call Imports
POST
/api/v1/call-imports/{call_import_id}/rows/{row_id}/transcribe

Diarize / transcribe a single row.

Thin wrapper over the batch endpoint that hard-codes a single row_ids filter. Skip counts still surface so the UI can render "Skipped — transcript present" diagnostics consistently.

Authorization

AuthorizationBearer <token>

JWT access token. Use: Authorization: Bearer .

In: header

Path Parameters

call_import_id*Call Import Id
Formatuuid
row_id*Row Id
Formatuuid

Header Parameters

Authorization?string|null
X-API-Key?string|null
X-EFFICIENTAI-API-KEY?string|null
X-Workspace-Id?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Body for kicking off diarization for one or many call-import rows.

The same shape powers both the per-row endpoint (where row_ids is ignored) and the batch-level endpoint. only_missing is the safe default G�� rows with an existing transcript are skipped unless overwrite_existing is set.

Two modes are supported:

  • mode="stt_llm" (default) G�� the legacy two-stage pipeline: STT produces plain text, an LLM splits it into agent/user turns using diarization_prompt. stt_provider and stt_model are required in this mode.
  • mode="llm_only" G�� skip STT entirely and hand the recording's audio bytes to a multimodal chat model along with diarization_prompt. The model both transcribes and diarises in a single pass. The STT fields are ignored (and must be omitted / null). Only providers whose chat API accepts audio input (OpenAI gpt-4o-audio-*, Google Gemini 1.5/2.0) are usable; other providers will surface a typed error on the row.

Response Body

application/json

application/json

curl -X POST "https://example.com/api/v1/call-imports/497f6eca-6276-4993-bfeb-53cbbbba6f08/rows/497f6eca-6276-4993-bfeb-53cbbbba6f08/transcribe" \  -H "Content-Type: application/json" \  -d '{    "diarization_llm_provider": "string",    "diarization_llm_model": "string"  }'
{  "queued": 0,  "skipped_rows": 0,  "skipped_reason_counts": {    "property1": 0,    "property2": 0  },  "accepted": false}

Community & contact

  1. Found a bug or have a feature request? Open a GitHub issue.
  2. Join our Discord for faster replies!