Skip to main content
Every error response has the same shape:
Branch on the HTTP status code, not on the message text.

Retrying safely

  • Reads (GET) are free and safe to poll and retry.
  • Create is idempotent per phone, so retrying POST /verifications never creates a duplicate.
  • Cancel is idempotent; cancelling an already-cancelled verification succeeds.
A 409 is not a transient error. It means the verification’s current status does not allow what you asked - re-read its status before deciding what to do next.