Issue a free API key and tenant

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.

Response

apiKey, tenantId, sponsorToken (first key of a tenant only), defaultPolicy, monthlyChecks (1,000 free receipts per tenant per month)

Errors

400
Bad Request Error
429
Too Many Requests Error