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

# List Agent Sessions

> List your team's sessions, newest first.



## OpenAPI

````yaml get /v1/agent/sessions
openapi: 3.1.0
info:
  title: FishAudio OpenAPI
  version: '1'
servers:
  - description: Fish Audio API
    url: https://api.fish.audio
security: []
tags: []
paths:
  /v1/agent/sessions:
    get:
      tags:
        - Agent Sessions
      summary: List Agent Sessions
      description: >-
        List your team's sessions, newest first. Filter by agent, status, caller

        number, or creation time. Paginate with `cursor` (recommended; follow

        `next_cursor` while `has_more` is true) or with `page` for offset
        pagination

        with a `total` count — the two are mutually exclusive.
      parameters:
        - in: query
          name: agent_id
          description: ''
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Agent Id
          deprecated: false
        - in: query
          name: status
          description: >-
            Comma-separated status filter
            (pending/active/completed/failed/unknown). Default: every status
            except pending.
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Status
          deprecated: false
        - in: query
          name: caller_number
          description: Exact-match caller E.164 (phone sessions only).
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Caller Number
          deprecated: false
        - in: query
          name: created_after
          description: ''
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Created After
          deprecated: false
        - in: query
          name: created_before
          description: ''
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Created Before
          deprecated: false
        - in: query
          name: cursor
          description: ''
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
            title: Cursor
          deprecated: false
        - in: query
          name: page
          description: >-
            1-based page number (offset pagination). Returns total; mutually
            exclusive with cursor, which deep scans must use.
          required: false
          schema:
            anyOf:
              - minimum: 1
                type: integer
              - type: 'null'
            default: null
            title: Page
          deprecated: false
        - in: query
          name: include_total
          description: Also count the filtered set on the cursor path.
          required: false
          schema:
            default: false
            title: Include Total
            type: boolean
          deprecated: false
        - in: query
          name: page_size
          description: ''
          required: false
          schema:
            default: 30
            maximum: 100
            minimum: 1
            title: Page Size
            type: integer
          deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  sessions:
                    items:
                      $ref: '#/components/schemas/AgentSessionSummary'
                    title: Sessions
                    type: array
                  has_more:
                    title: Has More
                    type: boolean
                  next_cursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                    default: null
                    title: Next Cursor
                  total:
                    anyOf:
                      - type: integer
                      - type: 'null'
                    default: null
                    title: Total
                required:
                  - sessions
                  - has_more
                type: object
        '400':
          description: Bad request syntax or unsupported method
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
        '401':
          description: No permission -- see authorization schemes
          headers: {}
          content:
            application/json:
              schema:
                properties:
                  status:
                    title: Status
                    type: integer
                  message:
                    title: Message
                    type: string
                required:
                  - status
                  - message
                type: object
      security:
        - BearerAuth: []
components:
  schemas:
    AgentSessionSummary:
      description: |-
        One list row: lifecycle facts only — the conversation timeline lives on
        the detail endpoint (Retell-style thin list).
      properties:
        session_id:
          title: Session Id
          type: string
        agent_id:
          title: Agent Id
          type: string
        agent_name:
          title: Agent Name
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Name
        status:
          enum:
            - pending
            - active
            - completed
            - failed
            - unknown
          title: Status
          type: string
        source:
          enum:
            - api_key
            - dashboard
            - public
            - phone
          title: Source
          type: string
        caller_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Caller Number
        dialed_number:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Dialed Number
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Timezone
        created_at:
          title: Created At
          type: string
        started_at:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Started At
        ended_at:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Ended At
        duration_seconds:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Duration Seconds
        metadata:
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
          title: Metadata
          type: object
      required:
        - session_id
        - agent_id
        - agent_name
        - status
        - source
        - created_at
      title: AgentSessionSummary
      type: object
    JsonValue: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````