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

# List email threads

> List email threads with cursor-based pagination and optional filters



## OpenAPI

````yaml get /api/v1/email/threads
openapi: 3.0.0
info:
  version: 1.0.0
  title: Feather AI API
servers:
  - url: https://prod.featherhq.com
    description: Production environment
security: []
paths:
  /api/v1/email/threads:
    get:
      tags:
        - Email
      summary: List email threads
      description: List email threads with cursor-based pagination and optional filters
      parameters:
        - schema:
            type: string
          required: false
          name: limit
          in: query
        - schema:
            type: string
          required: false
          name: cursor
          in: query
        - schema:
            type: string
            format: uuid
          required: false
          name: agentId
          in: query
        - schema:
            type: string
            format: email
          required: false
          name: toEmail
          in: query
        - schema:
            type: string
          required: false
          name: isActive
          in: query
        - schema:
            type: string
            enum:
              - OPTED_OUT
              - DNC
              - FRAUD
              - CONTACT_AGAIN
              - WRONG_NUMBER
              - NOT_INTERESTED
              - APPOINTMENT_BOOKED
              - ENDED
              - WORKFLOW_ONE_OFF_TEXT
              - FILTERED_SPAM
              - FILTERED_OOO
              - FILTERED_AUTO_REPLY
          required: false
          name: chatEndedReason
          in: query
        - schema:
            type: string
          required: false
          name: hasDraft
          in: query
        - schema:
            type: string
            enum:
              - CLOSED
              - TERMINATED
          required: false
          name: closedReason
          in: query
      responses:
        '200':
          description: List of email threads
          content:
            application/json:
              schema:
                type: object
                properties:
                  threads:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        organizationId:
                          type: string
                        agentId:
                          type: string
                        agentVersionId:
                          type: string
                        emailDomainId:
                          type: string
                          nullable: true
                        leadId:
                          type: string
                          nullable: true
                        fromEmail:
                          type: string
                          nullable: true
                        fromName:
                          type: string
                          nullable: true
                        toEmail:
                          type: string
                        subject:
                          type: string
                          nullable: true
                        isActive:
                          type: boolean
                        chatEndedReason:
                          type: string
                          nullable: true
                          enum:
                            - OPTED_OUT
                            - DNC
                            - FRAUD
                            - CONTACT_AGAIN
                            - WRONG_NUMBER
                            - NOT_INTERESTED
                            - APPOINTMENT_BOOKED
                            - ENDED
                            - WORKFLOW_ONE_OFF_TEXT
                            - FILTERED_SPAM
                            - FILTERED_OOO
                            - FILTERED_AUTO_REPLY
                        closedAt:
                          type: string
                          nullable: true
                        closedReason:
                          type: string
                          nullable: true
                        lastActivityAt:
                          type: string
                          nullable: true
                        reopenedAt:
                          type: string
                          nullable: true
                        emailTags:
                          type: array
                          items:
                            type: string
                          default: []
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                      required:
                        - id
                        - organizationId
                        - agentId
                        - agentVersionId
                        - emailDomainId
                        - leadId
                        - fromEmail
                        - fromName
                        - toEmail
                        - subject
                        - isActive
                        - chatEndedReason
                        - closedAt
                        - closedReason
                        - lastActivityAt
                        - reopenedAt
                        - createdAt
                        - updatedAt
                  pagination:
                    type: object
                    properties:
                      limit:
                        type: number
                        minimum: 1
                        maximum: 100
                        default: 10
                      nextCursor:
                        type: string
                required:
                  - threads
                  - pagination
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 400
                  message:
                    type: string
                    default: Bad request
                  code:
                    type: string
                    enum:
                      - BAD_REQUEST
                    default: BAD_REQUEST
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    default: 500
                  message:
                    type: string
                    default: Internal server error
                  code:
                    type: string
                    enum:
                      - INTERNAL_SERVER_ERROR
                    default: INTERNAL_SERVER_ERROR
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
      security:
        - ApiKey: []
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key

````