CarlyEmail docs

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": "support", "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 idempotent by human_email instead — repeating it rotates the API key and re-issues the verification code rather than erroring, so a retrying agent is never stuck.