WhaBuzz docs
Guides

Idempotency

Retry a send without double-sending, using the Idempotency-Key header.

Networks fail between "we sent it" and "you heard back". Add an Idempotency-Key header to POST /v1/messages (up to 255 characters, any string you generate, a UUID works) and a retry will not send twice.

curl -X POST https://api.whabuzz.com/v1/messages \
  -H "Authorization: Bearer $WHABUZZ_KEY" \
  -H "Idempotency-Key: order-48213-shipped" \
  -H "Content-Type: application/json" -d @body.json
bash
SituationResult
First request with the keyProcessed normally. The answer is stored for 24 hours.
Same key, same body, original finishedThe stored answer is replayed with the header Idempotent-Replayed: true. Nothing is sent to Meta.
Same key, original still running409 idempotency_conflict. Wait and retry.
Same key, different body422 idempotency_conflict. Use a new key.

Do not fire two requests with the same key at the same time.

If WhaBuzz could not reach Meta (502 meta_unreachable) the outcome is unknown. That 502 is stored against the key too, so a retry returns the same 502 instead of risking a duplicate. Use a new key only after you have checked, through GET /v1/events or a message.status event, that the first message was not sent.

Batches use client_ref for the same purpose; see Sending messages.

This page as Markdown: /guides/idempotency.md. All docs in one file: /llms-full.txt.