CarlyEmail docs

Idempotency

Retrying a create without creating twice.

Creation endpoints accept a client_id — your own identifier for the thing you are creating.

curl -X POST https://api.carlyemail.com/v0/inboxes \
  -H "Authorization: Bearer $CARLYEMAIL_API_KEY" \
  -H 'content-type: application/json' \
  -d '{"username": "pepsi", "client_id": "onboarding-run-4821"}'

Send the same client_id again and you get the original resource back rather than a second one. This matters more for agents than for ordinary clients: a model that retries a tool call after a timeout should not end up with two mailboxes.

Sign-up is the deliberate exception. An owner email identifies an account but does not authenticate its owner, so repeating sign-up returns account_exists without rotating any keys. A person who lost a key signs in with an emailed code through the console.