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

# List agents

> Most recent first, 50 per page. Filter with `name`, `active`, `use_ai`.



## OpenAPI

````yaml /api-reference/v2.0/openapi.json get /agents
openapi: 3.1.0
info:
  title: Shortext API
  description: >-
    **Versioning**: every version is a frozen contract. A released version only
    receives additive changes

    (new endpoints, new optional fields, new response fields); anything breaking
    ships in a new version.

    Responses carry `X-Shortext-Api-Version`. When a version is scheduled for
    removal, responses also carry

    `Deprecation` and `Sunset` headers; after the sunset date the version
    answers HTTP 410.

    The list of versions and their status is available at `GET /api/versions`.


    **Responses**: always HTTP 200. Check `success` and `code` (`1000` =
    success), see `ApiEnvelope`.

    On failure, `trace_id` identifies the request for support.
  version: '2.0'
servers:
  - url: https://shortext.ny-corp.io/api/v2.0
security: []
tags:
  - name: Agents
    description: Agents
  - name: Channels
    description: Channels
  - name: Conversations
    description: Conversations
  - name: Account
    description: Account
  - name: Templates
    description: Templates
  - name: Hosted sessions
    description: Hosted sessions
  - name: Webhooks
    description: Webhooks
paths:
  /agents:
    get:
      tags:
        - Agents
      summary: List agents
      description: Most recent first, 50 per page. Filter with `name`, `active`, `use_ai`.
      operationId: listAgents
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: integer
        - name: name
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >-
            Always HTTP 200: the outcome is in `success` and `code` (absolute
            value of the response code).
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiEnvelope'
                  - properties:
                      body:
                        allOf:
                          - $ref: '#/components/schemas/ApiPage'
                          - properties:
                              data:
                                type: array
                                items:
                                  $ref: '#/components/schemas/Agent'
                            type: object
                    type: object
      security:
        - bearerAuth: []
components:
  schemas:
    ApiEnvelope:
      properties:
        success:
          type: boolean
          example: true
        code:
          type: integer
          example: 1000
        message:
          type: string
          example: Request success.
        body:
          description: Endpoint payload, null when there is none
        token:
          description: Present only on authentication routes
          type:
            - string
            - 'null'
        trace_id:
          description: Present only when success is false
          type:
            - string
            - 'null'
      type: object
    ApiPage:
      description: >-
        A page of results: `data` holds the items. Ask another page with
        `?page=`
      properties:
        current_page:
          type: integer
          example: 1
        data:
          type: array
          items: {}
        per_page:
          type: integer
          example: 50
        total:
          type: integer
          example: 120
        last_page:
          type: integer
          example: 3
        from:
          type:
            - integer
            - 'null'
        to:
          type:
            - integer
            - 'null'
        first_page_url:
          type: string
        last_page_url:
          type: string
        next_page_url:
          type:
            - string
            - 'null'
        prev_page_url:
          type:
            - string
            - 'null'
        path:
          type: string
      type: object
    Agent:
      properties:
        id:
          description: Public representation of an agent (API v2.0 and webhooks)
          type: string
          example: AGI-XXXXX
        name:
          type: string
          example: Support
        active:
          description: An inactive agent stores messages without answering
          type: boolean
        use_ai:
          description: The AI answers, following the instructions
          type: boolean
        inactive_message:
          description: Fixed answer when the AI is off
          type:
            - string
            - 'null'
        instructions:
          description: System prompt of the AI
          type:
            - string
            - 'null'
        channels:
          description: Not in webhook payloads
          type: array
          items:
            $ref: '#/components/schemas/Channel'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      type: object
    Channel:
      properties:
        type:
          description: >-
            Public representation of a channel (API v2.0 and webhooks). The id
            is the one webhooks use as channel_id.
          type: string
          enum:
            - whatsapp
            - mail
            - shortext
          example: whatsapp
        id:
          description: >-
            Channel id (the channel_id of the webhooks): WhatsApp phone number
            id, mailbox id (mbx_...) or Shortext endpoint id (ste_...)
          type: string
          example: '532867649916076'
        name:
          type: string
          example: +237 6 99 99 99 99 (Acme)
        enabled:
          type: boolean
        agent:
          description: >-
            null when the channel is detached: messages are stored, nobody
            answers automatically
          properties:
            id:
              type: string
              example: AGI-XXXXX
            name:
              type: string
          type:
            - object
            - 'null'
        settings:
          description: 'Shortext only: endpoint settings (null for the other channels)'
          properties:
            client_type:
              type: string
              example: server
            inbound_url:
              description: Where your server posts the messages of your users
              type: string
            reply_mode:
              description: >-
                `async`: replies pushed to webhook_url; `sync`: replies in the
                inbound response
              type: string
              enum:
                - async
                - sync
            sync_timeout:
              description: Seconds the sync mode waits for the replies
              type: integer
            webhook_url:
              type:
                - string
                - 'null'
          type:
            - object
            - 'null'
        created_at:
          type: string
          format: date-time
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Company API key, sent as `Authorization: Bearer <key>`. Create it in the
        dashboard (Developer > API Keys) with the permissions the integration
        needs.
      scheme: bearer

````

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