> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useanima.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Post agentsign up



## OpenAPI

````yaml /openapi.json post /agent/sign-up
openapi: 3.1.1
info:
  title: Anima API
  version: 0.1.0
  description: >-
    The Anima API provides programmatic access to unified infrastructure for AI
    agents: create and manage agents; send and receive email; place phone calls
    and send/receive SMS and voice; store and retrieve vault credentials; manage
    agent identity; and configure webhooks for real-time events. Authenticate
    using a Bearer token or an API key passed via the X-API-Key header.
  contact:
    name: Anima Labs
    url: https://useanima.sh
    email: support@useanima.sh
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://api.useanima.sh/v1
    description: Production
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /agent/sign-up:
    post:
      operationId: agentSelfService.signUp
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                human_email:
                  type: string
                  format: email
                  description: >-
                    Your human's email address — used for verification and
                    claiming
                username:
                  type: string
                  minLength: 2
                  maxLength: 64
                  pattern: ^[a-z0-9-]+$
                  description: >-
                    Preferred inbox username (e.g. 'my-agent' →
                    'my-agent@agents.useanima.sh')
                name:
                  type: string
                  minLength: 2
                  maxLength: 100
                  description: Display name for the agent. Defaults to username if omitted
                provision_vault:
                  type: boolean
                  description: >-
                    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.
                source:
                  default: unknown
                  enum:
                    - smithery
                    - cline
                    - dxt
                    - open-mcp
                    - cli
                    - skill-md
                    - web
                    - unknown
                  type: string
                  description: >-
                    Channel that produced this sign-up (e.g. 'smithery').
                    Optional; defaults to 'unknown'. Unrecognised values coerce
                    rather than fail.
              required:
                - human_email
                - username
              description: Self-service agent sign-up — no human required
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  agent_id:
                    type: string
                    description: Your agent ID
                  organization_id:
                    type: string
                    description: Your organization ID
                  inbox_id:
                    type: string
                    description: Your email address (e.g. 'my-agent@agents.useanima.sh')
                  api_key:
                    type: string
                    description: >-
                      Your API key — save this immediately, it won't be shown
                      again
                  auth_type:
                    enum:
                      - agent_unverified
                      - agent_verified
                      - claimed
                    type: string
                    description: Current verification status
                  vault_id:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      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.
                required:
                  - agent_id
                  - organization_id
                  - inbox_id
                  - api_key
                  - auth_type
                  - vault_id
                description: Sign-up response with credentials
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT Bearer token obtained from authentication. Pass as: Authorization:
        Bearer <token>
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'API key for programmatic access. Pass as: X-API-Key: <your-key>'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.