(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.