Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from authentication. Pass as: Authorization: Bearer

Body

application/json

Self-service agent sign-up — no human required

human_email
string<email>
required

Your human's email address — used for verification and claiming

username
string
required

Preferred inbox username (e.g. 'my-agent' → 'my-agent@anima.email')

Required string length: 2 - 64
Pattern: ^[a-z0-9-]+$
name
string

Display name for the agent. Defaults to username if omitted

Required string length: 2 - 100
provision_vault
boolean

Provision an encrypted vault for the new agent as part of sign-up. This is the only way a self-service agent can obtain a first vault: vault.provision is master-gated, and sign-up never discloses the master key. Safe here precisely because the org is being created by this same call — there is no existing privilege to escalate from.

Response

200 - application/json

OK

Sign-up response with credentials

agent_id
string
required

Your agent ID

organization_id
string
required

Your organization ID

inbox_id
string
required

Your email address (e.g. 'my-agent@anima.email')

api_key
string
required

Your API key — save this immediately, it won't be shown again

auth_type
enum<string>
required

Current verification status

Available options:
agent_unverified,
agent_verified,
claimed
vault_id
string | null
required

Vault identity id when provision_vault was requested and granted, else null. Null with provision_vault=true means the vault feature is off on this deployment — sign-up still succeeded.