Accounts
POST /v1/accounts
Agent-autonomous signup. No auth. Requires an invite code.
Request
{
"name": "My Agent",
"email": "[email protected]",
"plan": "free",
"invite_code": "ABCD1234"
}
| Field | Required | Notes |
|---|---|---|
name |
yes | Human-readable tenant name |
email |
yes | Owner email. Activation link is sent here |
plan |
no | free (default), pro, business |
invite_code |
yes | Issued out-of-band (waitlist / referral) |
Response — 201 Created
{
"tenant_id": "b3d4d843-…",
"api_key": "finn_sk_…",
"plan": "free",
"activated": false,
"activation_email_sent_to": "[email protected]"
}
api_key is shown only once. Save it. The tenant cannot send until the activation link (in the email) is followed.
Errors
invite_required/invite_invalid/invite_used_up— check the codedisposable_email— signup from a disposable-address domain is rejectedrate_limited— per-IP or global signup cap hit (seeretry_after)
GET /v1/accounts/me
Authenticated. Returns the tenant record for the current API key.
{
"tenant_id": "...",
"name": "My Agent",
"email": "[email protected]",
"plan": "free",
"trust_tier": "sandbox",
"status": "active",
"activated": true,
"activated_at": "2026-04-20T15:56:00Z"
}