> ## 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.

# Get agents



## OpenAPI

````yaml /openapi.json get /agents
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: []
tags:
  - name: Agents
    description: Create and manage AI agents with email and phone capabilities
  - name: Inboxes
    description: Manage email inboxes and their configurations
  - name: Messages
    description: Send, receive, and search email messages
  - name: Webhooks
    description: Register and manage webhook subscriptions for real-time events
  - name: Organizations
    description: Manage organizations and team settings
  - name: Domains
    description: Configure and verify custom email domains
  - name: Phone
    description: Manage phone numbers and SMS/voice capabilities
  - name: Invoices
    description: Track invoices, match receipts, and reconcile payments
  - name: Billing
    description: View usage, tiers, and billing information
  - name: Security
    description: Configure security policies and access controls
  - name: Vault
    description: Store and retrieve encrypted secrets
  - name: API Keys
    description: Create and manage API keys for programmatic access
paths:
  /agents:
    get:
      operationId: agent.list
      parameters:
        - name: cursor
          in: query
          schema:
            type: string
            pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
            description: Opaque cursor from a previous response to fetch the next page
          allowEmptyValue: true
          allowReserved: true
        - name: limit
          in: query
          schema:
            default: 20
            type: integer
            minimum: 1
            maximum: 100
            description: Maximum number of items to return per page (1–100, default 20)
          allowEmptyValue: true
          allowReserved: true
        - name: orgId
          in: query
          schema:
            type: string
            pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
            description: Filter agents by organization ID
          allowEmptyValue: true
          allowReserved: true
        - name: status
          in: query
          schema:
            enum:
              - ACTIVE
              - SUSPENDED
              - DELETED
            type: string
            description: Filter agents by lifecycle status
          allowEmptyValue: true
          allowReserved: true
        - name: query
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 120
            description: Free-text search query to filter agents by name or slug
          allowEmptyValue: true
          allowReserved: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
                          description: Unique identifier of the agent
                        orgId:
                          type: string
                          pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
                          description: Organization ID that owns this agent
                        name:
                          type: string
                          description: Human-readable display name
                        slug:
                          type: string
                          description: URL-friendly unique identifier
                        status:
                          enum:
                            - ACTIVE
                            - SUSPENDED
                            - DELETED
                          type: string
                          description: Current lifecycle status
                        apiKeyPrefix:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: >-
                            Prefix of the agent's API key for identification, or
                            null if no key is set
                        keyRotatedAt:
                          anyOf:
                            - type: string
                              format: date-time
                            - type: 'null'
                          description: >-
                            ISO 8601 timestamp of the last API-key rotation,
                            null if never rotated
                        metadata:
                          type: object
                          additionalProperties: {}
                          description: Arbitrary key-value metadata
                        emailIdentities:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
                                description: Unique identifier of the email identity
                              email:
                                type: string
                                format: email
                                description: Full email address
                              domain:
                                type: string
                                description: Domain portion of the email address
                              localPart:
                                type: string
                                description: Local part (before the @) of the email address
                              isPrimary:
                                type: boolean
                                description: >-
                                  Whether this is the agent's primary email
                                  identity
                              verified:
                                type: boolean
                                description: Whether the email address has been verified
                              createdAt:
                                type: string
                                format: date-time
                                description: Timestamp when the email identity was created
                            required:
                              - id
                              - email
                              - domain
                              - localPart
                              - isPrimary
                              - verified
                              - createdAt
                            description: Email identity associated with an agent
                          description: Email identities associated with this agent
                        phoneIdentities:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
                                description: Unique identifier of the phone identity
                              phoneNumber:
                                type: string
                                description: Phone number in E.164 format
                              provider:
                                const: TELNYX
                                description: Telephony provider managing this number
                              providerId:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: >-
                                  Provider-specific identifier for this phone
                                  number
                              capabilities:
                                type: object
                                properties:
                                  sms:
                                    default: false
                                    type: boolean
                                    description: Whether the number supports SMS messaging
                                  mms:
                                    default: false
                                    type: boolean
                                    description: Whether the number supports MMS messaging
                                  voice:
                                    default: false
                                    type: boolean
                                    description: Whether the number supports voice calls
                                description: >-
                                  Communication capabilities supported by this
                                  phone number
                              tenDlcStatus:
                                enum:
                                  - PENDING
                                  - REGISTERED
                                  - REJECTED
                                  - NOT_REQUIRED
                                type: string
                                description: 10DLC campaign registration status
                              isPrimary:
                                type: boolean
                                description: >-
                                  Whether this is the agent's primary phone
                                  identity
                              createdAt:
                                type: string
                                format: date-time
                                description: Timestamp when the phone identity was created
                            required:
                              - id
                              - phoneNumber
                              - provider
                              - providerId
                              - capabilities
                              - tenDlcStatus
                              - isPrimary
                              - createdAt
                            description: Phone identity associated with an agent
                          description: Phone identities associated with this agent
                        readiness:
                          type: object
                          properties:
                            canSendEmail:
                              type: boolean
                              description: >-
                                True iff the agent has at least one verified
                                email identity right now
                            canReceiveEmail:
                              type: boolean
                              description: >-
                                True iff inbound MX is configured for the
                                agent's primary domain
                            canSendSms:
                              type: boolean
                              description: >-
                                True iff the agent has a provisioned phone
                                identity with SMS capability that's past 10DLC
                                if required
                            canPlaceVoiceCall:
                              type: boolean
                              description: >-
                                True iff the agent has a phone identity with
                                voice capability
                            blockers:
                              type: array
                              items:
                                type: object
                                properties:
                                  code:
                                    enum:
                                      - IDENTITY_NOT_VERIFIED
                                      - DOMAIN_NOT_VERIFIED
                                      - PHONE_NOT_PROVISIONED
                                    type: string
                                    description: >-
                                      Stable code matching the typed error
                                      thrown at call time
                                  field:
                                    type: string
                                    description: >-
                                      JSON-path-ish location of the failing
                                      field, e.g. emailIdentities[0]
                                  hint:
                                    type: string
                                    description: Human-readable remediation hint
                                  remediationUrl:
                                    type: string
                                    description: >-
                                      Optional pointer to where the user can
                                      resolve this blocker
                                required:
                                  - code
                                  - field
                                  - hint
                                description: One reason a capability isn't currently usable
                              description: >-
                                All current blockers across capabilities; empty
                                array means fully ready
                          required:
                            - canSendEmail
                            - canReceiveEmail
                            - canSendSms
                            - canPlaceVoiceCall
                            - blockers
                          description: >-
                            Per-capability readiness summary. Optional for
                            backward compatibility — clients without readiness
                            handling continue to work; clients that branch on it
                            get the delayed-verification gap closed.
                        createdAt:
                          type: string
                          format: date-time
                          description: Timestamp when the agent was created
                        updatedAt:
                          type: string
                          format: date-time
                          description: Timestamp when the agent was last updated
                      required:
                        - id
                        - orgId
                        - name
                        - slug
                        - status
                        - apiKeyPrefix
                        - keyRotatedAt
                        - metadata
                        - emailIdentities
                        - phoneIdentities
                        - createdAt
                        - updatedAt
                      description: Full agent resource representation
                    description: Array of agent resources matching the query
                  pagination:
                    type: object
                    properties:
                      nextCursor:
                        anyOf:
                          - type: string
                            pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
                          - type: 'null'
                        description: >-
                          Cursor to pass as the `cursor` parameter to retrieve
                          the next page, or null if no more results
                      hasMore:
                        type: boolean
                        description: Whether additional pages of results are available
                    required:
                      - nextCursor
                      - hasMore
                    description: Pagination metadata for retrieving additional pages
                required:
                  - items
                  - pagination
                description: Paginated list of agents
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>'

````