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

Abort an in-flight (or queued) diarisation for a single row.

Idempotent: calling on a row that's already terminal (completed / failed / idle) returns the row unchanged with a 200, so the UI can fire this from a "Stop" button without having to pre-check the state.

Race notes:

  • The row's diarised_transcript_status is flipped to failed with :data:CANCELLED_BY_USER_ERROR BEFORE the Celery revoke, so the polling UI sees the cancel immediately.
  • If the worker happens to finish between our DB flip and the SIGTERM landing, its finaliser will detect the cancelled sentinel on the row and skip its own status / score writes (see :mod:app.workers.tasks.transcribe_call_import_row).

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

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/cancel-diarisation"
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "row_index": 0,  "conversation_id": "string",  "recording_url": "string",  "recording_date": "2019-08-24",  "transcript": "string",  "transcript_source": "string",  "transcript_provider": "string",  "transcript_model": "string",  "transcript_status": "string",  "transcript_error": "string",  "transcribed_at": "2019-08-24T14:15:22Z",  "diarised_transcript": "string",  "diarised_transcript_provider": "string",  "diarised_transcript_model": "string",  "diarised_transcript_status": "string",  "diarised_transcript_error": "string",  "diarised_at": "2019-08-24T14:15:22Z",  "diarised_llm_provider": "string",  "diarised_llm_model": "string",  "diarised_prompt": "string",  "diarised_segments": [    {}  ],  "diarised_speaker_swap": false,  "status": "pending",  "recording_s3_key": "string",  "recording_content_type": "string",  "recording_size_bytes": 0,  "error_message": "string",  "attempts": 0,  "raw_columns": {},  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}

Community & contact

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