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.