No auth. This is how a tenant is born: POST an email and get back an
API key (`writ_...`), a tenant ID, and the tenant's default verb
policy. The **first** key issued for an email creates a new tenant and
also returns that tenant's **sponsor token** (`writ_sp_...`) — shown
exactly once, never recoverable. The sponsor token is the human half
of the credential model: it mints grants and operates the kill
switch. Pass `inviteCode` to join an existing tenant instead of
creating your own — joining members do not receive the sponsor token.
Rate-limited to 10 keys per hour per client IP. Without this, the
free monthly check quota would be trivially bypassed by minting keys.
Request
This endpoint expects an object.
emailstringRequired
Contact email for the key. The first key for an email creates the tenant.
tenantNamestringOptional
Display name for a newly created tenant.
inviteCodestringOptional
Team invite code (writ_inv_…) to join an existing tenant instead of creating one.