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

# List Calls

> Fetch a paginated list of call records for a campaign.

- **page** / **size**: Pagination (default: page=1, size=50, max size=200).
- **start** / **end**: ISO 8601 date range filter on call creation date.
- **status**: Filter by call status (received, ready, queued, ringing, processing, ended, completed, failed).
- **search**: Search term matched against phone number or other call fields.
- **outcomes**: Repeat to filter by multiple outcomes: `?outcomes=voicemail&outcomes=no_answer`.
- **tags**: Repeat to filter by multiple tags: `?tags=region:west&tags=priority:high`.
- **groupId**: When provided, returns calls across all campaign runs in the group.



## OpenAPI

````yaml https://api-prod.interactly.ai/api-docs/campaigns/api.json get /campaigns/v1/campaigns/{campaign_id}/calls/list
openapi: 3.1.0
info:
  title: Interactly API
  description: API for building interactly.ai services
  version: 1.1.0
  contact:
    name: Interactly
    url: https://interactly.ai
    email: developers@interactly.ai
servers:
  - url: https://api-prod.interactly.ai
    description: API Server
security: []
paths:
  /campaigns/v1/campaigns/{campaign_id}/calls/list:
    get:
      tags:
        - Campaigns Calls
        - Campaign Calls
      summary: List Calls
      description: >-
        Fetch a paginated list of call records for a campaign.


        - **page** / **size**: Pagination (default: page=1, size=50, max
        size=200).

        - **start** / **end**: ISO 8601 date range filter on call creation date.

        - **status**: Filter by call status (received, ready, queued, ringing,
        processing, ended, completed, failed).

        - **search**: Search term matched against phone number or other call
        fields.

        - **outcomes**: Repeat to filter by multiple outcomes:
        `?outcomes=voicemail&outcomes=no_answer`.

        - **tags**: Repeat to filter by multiple tags:
        `?tags=region:west&tags=priority:high`.

        - **groupId**: When provided, returns calls across all campaign runs in
        the group.
      operationId: >-
        campaigns_service_get_campaigns_call_list_v1_campaigns__campaign_id__calls_list_get
      parameters:
        - name: campaign_id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/PydanticObjectId'
            description: Campaign configuration ID
          description: Campaign configuration ID
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Call status
            title: Status
          description: Call status
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Search keywords
            title: Search
          description: Search keywords
        - name: outcomes
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: Outcome values to filter by
            title: Outcomes
          description: Outcome values to filter by
        - name: tags
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: 'Filter by tags (format: key:value)'
            title: Tags
          description: 'Filter by tags (format: key:value)'
        - name: groupId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by group ID
            title: Groupid
          description: Filter by group ID
        - name: is_deleted
          in: query
          required: false
          schema:
            type: boolean
            description: When true, return only soft-deleted calls
            default: false
            title: Is Deleted
          description: When true, return only soft-deleted calls
        - name: size
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: Number of items per page
            default: 300
            title: Size
          description: Number of items per page
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: Page number
            default: 1
            title: Page
          description: Page number
        - name: start
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Filter by start time (ISO 8601 format)
            title: Start
          description: Filter by start time (ISO 8601 format)
        - name: end
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: Filter by end time (ISO 8601 format)
            title: End
          description: Filter by end time (ISO 8601 format)
      responses:
        '200':
          description: Paginated list of call records
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignCallListResponse'
        '400':
          description: Bad request — invalid input or constraint violation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearer: []
components:
  schemas:
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
    CampaignCallListResponse:
      properties:
        message:
          type: string
          title: Message
          description: Result description
          examples:
            - Calls fetched successfully.
        data:
          items:
            $ref: '#/components/schemas/CampaignCallResponse'
          type: array
          title: Data
          description: Paginated list of call record objects
        totalCount:
          type: integer
          title: Totalcount
          description: Total number of calls matching the applied filters
        page:
          type: integer
          title: Page
          description: Current page number (1-indexed)
        size:
          type: integer
          title: Size
          description: Number of items returned on this page
      type: object
      required:
        - message
        - data
        - totalCount
        - page
        - size
      title: CampaignCallListResponse
    ErrorResponse:
      properties:
        message:
          type: string
          title: Message
          description: Human-readable error description
          examples:
            - Resource not found.
      type: object
      required:
        - message
      title: ErrorResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CampaignCallResponse:
      properties:
        _id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
          description: Unique call record identifier
        configId:
          anyOf:
            - type: string
            - type: 'null'
          title: Configid
          description: ID of the campaign configuration this call belongs to
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
          description: Target phone number for this call
        status:
          type: string
          title: Status
          description: >-
            Current call status. Possible values: 'received', 'ready', 'queued',
            'ringing', 'processing', 'ended', 'completed', 'failed'
          default: received
        outcome:
          anyOf:
            - type: string
            - type: 'null'
          title: Outcome
          description: >-
            Call outcome label set by the AI assistant (e.g. 'conveyed',
            'voicemail', 'no_answer', 'callback_requested')
        errorCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Errorcode
          description: Error code when the call status is 'failed'
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Errormessage
          description: Human-readable error description when the call failed
        collectedInformation:
          additionalProperties: true
          type: object
          title: Collectedinformation
          description: >-
            Structured data collected by the AI assistant during the call
            conversation
        conversationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Conversationid
          description: Unique conversation identifier assigned by the AI assistant platform
        retryCount:
          anyOf:
            - type: integer
            - type: 'null'
          title: Retrycount
          description: Number of retry attempts made for this call so far
        maxRetries:
          anyOf:
            - type: integer
            - type: 'null'
          title: Maxretries
          description: Maximum number of retry attempts allowed for this call
        tags:
          items:
            type: string
          type: array
          title: Tags
          description: Tags attached to this call for filtering
        review:
          anyOf:
            - $ref: '#/components/schemas/Review'
            - type: 'null'
          description: >-
            Manual review details. review.status values: 'not_required',
            'pending', 'in_progress', 'rejected', 'approved'
        processTimings:
          anyOf:
            - $ref: >-
                #/components/schemas/campaigns_service__src__models__BenefitsVerificationCalls__ProcessTimings
            - type: 'null'
          description: 'Actual call execution timestamps: startAt and endAt (ISO 8601 UTC)'
        statusHistory:
          anyOf:
            - items:
                $ref: '#/components/schemas/StatusHistory-Output'
              type: array
            - type: 'null'
          title: Statushistory
          description: >-
            Chronological list of status transitions with timestamps and
            optional reasons
        createdAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createdat
          description: UTC timestamp when this call record was created
        updatedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updatedat
          description: UTC timestamp of the most recent update to this call record
      type: object
      title: CampaignCallResponse
      description: Public-facing call fields returned in API responses.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    Review:
      properties:
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
          description: Review status
          default: not_required
        by:
          anyOf:
            - $ref: '#/components/schemas/PydanticObjectId'
            - type: 'null'
          description: Reviewer identifier
        timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Timestamp
          description: Review timestamp
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: Review reason
        emails:
          items:
            type: string
          type: array
          title: Emails
          description: List of notification emails
        emailSent:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Emailsent
          description: Whether notification email was sent
          default: false
        emailSentAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Emailsentat
          description: Timestamp of email sent
        checklist:
          additionalProperties: true
          type: object
          title: Checklist
          description: Review checklist items
      type: object
      title: Review
      description: Represents the review details for a call.
    campaigns_service__src__models__BenefitsVerificationCalls__ProcessTimings:
      properties:
        startAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Startat
          description: Process start timestamp
        endAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Endat
          description: Process end timestamp
      type: object
      title: ProcessTimings
      description: Presents the actual timings of the call process.
    StatusHistory-Output:
      properties:
        status:
          type: string
          title: Status
          description: Current status of the call
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Timestamp when status was updated
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason
          description: Reason for status change
      type: object
      required:
        - status
        - timestamp
      title: StatusHistory
      description: Represents the history of status changes for a call.
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: Bearer
      type: http
      description: >-
        Retrieve your API Key from [Dashboard API Keys
        Section](https://dashboard.interactly.ai/api-keys).

````