Menu

Idempotency

How (provider, external_id) makes every POST /v1/calls safe to retry.

On this page

(provider, external_id) is unique per Chambr account and is the idempotency key. Retrying POST /v1/calls is always safe. No header is needed; Chambr accepts and ignores an Idempotency-Key header.

You send Chambr returns
A new (provider, external_id) 202, created: true
The same (provider, external_id) with the same transcript 200, the same id, created: false. Nothing changes.
The same (provider, external_id) with a different transcript 409 external_id_conflict. Calls cannot be updated; a different call needs a new external_id.
A new external_id with a transcript this rep already has 200, created: false, describing the call that already exists: its own external_id (which may differ, or be null for a call uploaded in Chambr), and no newly sent recording. The existing call does not change; store the returned id.

Replays

A replay compares the transcript only. Chambr ignores other changed fields, such as rep, call_type or recording_id, and returns the stored call.