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.
Pass principal_id to issue the key to an identity-directory
principal (see Principals); the id must belong to a live principal
in the tenant. Without one, the key lands on the tenant’s
default principal, created on first use.
Request
Team invite code (writ_inv_…) to join an existing tenant instead of creating one.
Identity-directory principal (prn_…) the key is issued to. Must be a live principal in the tenant.
Response
apiKey, tenantId, sponsorToken (first key of a tenant only), defaultPolicy, monthlyChecks (10,000 free receipts per tenant per month)