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

# Get Calls Bulk

> Retrieves calls within a date range like Get Calls, but lets the caller opt into additional fields (transcript, collected info, summary, recording, sentiment, credits, ...) via the Fields property. Only the requested fields are returned.



## OpenAPI

````yaml post /v2/Pearl/{pearlId}/Calls/Bulk
openapi: 3.0.1
info:
  title: NLPearl Client API
  description: A sample API that demonstrates features in the OpenAPI specification
  version: v2
servers:
  - url: https://api.nlpearl.ai
    description: Production Environement
security:
  - bearer_auth: []
tags:
  - name: Pearl
    description: >-
      Manage your Pearls, the AI agents that handle your inbound and outbound
      calls. Create and configure Pearls, retrieve their details and settings,
      run or pause them, list and bulk-export their calls, monitor calls in
      progress, get analytics, and reset a customer's conversation memory.
paths:
  /v2/Pearl/{pearlId}/Calls/Bulk:
    post:
      tags:
        - Pearl
      summary: Get Calls Bulk
      description: >-
        Retrieves calls within a date range like Get Calls, but lets the caller
        opt into additional fields (transcript, collected info, summary,
        recording, sentiment, credits, ...) via the Fields property. Only the
        requested fields are returned.
      parameters:
        - name: pearlId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallsBulkSearchApi'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallsBulkSearchApi'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CallsBulkSearchApi'
      responses:
        '200':
          description: >-
            Calls within the specified date range, including the requested
            fields.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CallBulkApiViewTableSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/CallBulkApiViewTableSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/CallBulkApiViewTableSearchResult'
        '400':
          description: Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
components:
  schemas:
    CallsBulkSearchApi:
      required:
        - fromDate
        - toDate
      type: object
      properties:
        skip:
          type: integer
          description: Number of entries to skip for pagination.
          format: int32
        limit:
          type: integer
          description: Limit on the number of entries to return.
          format: int32
        sortProp:
          type: string
          description: Property name to sort by.
          nullable: true
        isAscending:
          type: boolean
          description: Whether the sort order is ascending.
        fromDate:
          type: string
          description: The start date for filtering the search results.
          format: date-time
        toDate:
          type: string
          description: The end date for filtering the search results.
          format: date-time
        tags:
          type: array
          items:
            type: string
          description: List of tags to filter by.
          nullable: true
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/eLeadStatusView'
          description: |+
            List of Status to filter by.

          nullable: true
        searchInput:
          type: string
          description: Text to filter by.
          nullable: true
        fields:
          type: array
          items:
            type: string
          description: >-
            Optional list selecting which additional fields are included in each
            returned call. Only the requested fields are populated; all others
            are omitted. Allowed values: Tags, Name, Summary, Recording,
            Transcript, CollectedInfo, OverallSentiment, IsCallTransferred,
            QueueDuration, CreditDebited, SmsCreditDebited, LeadId.
          nullable: true
      additionalProperties: false
    CallBulkApiViewTableSearchResult:
      type: object
      properties:
        count:
          type: integer
          description: The total number of items matching the search criteria.
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/CallBulkApiView'
          description: >-
            The list of results for the current page, based on the search
            criteria.
          nullable: true
      additionalProperties: false
    ValidationProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          nullable: true
      additionalProperties: {}
    eLeadStatusView:
      type: integer
      description: >+
        The Status of the lead is the status of the last conversation.


        To determine the definition of 'Success' or 'Not Successful,' please
        refer to the [Create a Pearl](/pages/create_pearl#pearl-name) page at
        step 4.


        `1 - New`


        `10 - NeedRetry`


        `20 - InCallQueue`


        `30 - WrongCountryCode`


        `40 - OnCall`


        `70 - VoiceMailLeft`


        `100 - Success`


        `110 - NotSuccessful`


        `130 - Completed`


        `150 - Unreachable`


        `220 - Blacklisted`


        `300 - QueueAbandon`


        `500 - Error`

      format: int32
    CallBulkApiView:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the call.
          nullable: true
        pearlId:
          type: string
          description: The unique identifier of the Pearl associated with the call.
          nullable: true
        relatedId:
          type: string
          description: The unique identifier of the related inbound or outbound entity.
          nullable: true
        startTime:
          type: string
          description: The date and time when the call processing started.
          format: date-time
          nullable: true
        conversationStatus:
          allOf:
            - $ref: '#/components/schemas/eConversationStatusView'
          description: >+
            The outcome of the conversation during the call.


            To determine the definition of 'Success' or 'Not Successful,' please
            refer to the [Create a Pearl](/pages/create_pearl#pearl-name) page
            at step 4.


            `10 - NeedRetry`


            `20 - InCallQueue`


            `40 - OnCall`


            `70 - VoiceMailLeft`


            `100 - Success`


            `110 - NotSuccessful`


            `130 - Completed`


            `150 - Unreachable`


            `220 - Blacklisted`


            `300 - QueueAbandon`


            `500 - Error`

          nullable: true
        status:
          allOf:
            - $ref: '#/components/schemas/eCallStatusView'
          description: |+
            Represents the current status of a call.

            `3 - InProgress`

            `4 - Completed`

            `5 - Busy`

            `6 - Failed`

            `7 - NoAnswer`

            `8 - Canceled`

            `10 - OnGoingText`

          nullable: true
        from:
          type: string
          description: The phone number from which the call was made.
          nullable: true
        to:
          type: string
          description: The phone number to which the call was made.
          nullable: true
        duration:
          type: integer
          description: The duration of the call in seconds.
          format: int32
          nullable: true
        tags:
          type: array
          items:
            type: string
          description: The tags or labels triggered during the conversation.
          nullable: true
        name:
          type: string
          description: The name associated with the call, if available.
          nullable: true
        summary:
          type: string
          description: A summary of the conversation.
          nullable: true
        recording:
          type: string
          description: The URL of the recording of the call, if available.
          nullable: true
        transcript:
          type: array
          items:
            $ref: '#/components/schemas/AgentChatMessageApiView'
          description: >-
            The transcript of the conversation, represented as a list of chat
            messages.
          nullable: true
        collectedInfo:
          type: array
          items:
            $ref: '#/components/schemas/CollectedInfoView'
          description: A list containing information collected during the call.
          nullable: true
        overallSentiment:
          allOf:
            - $ref: '#/components/schemas/eOverallSentiment'
          description: >+
            Represents the overall emotional tone detected from the client
            during the conversation.


            `1 - Negative`


            `2 - SlightlyNegative`


            `3 - Neutral`


            `4 - SlightlyPositive`


            `5 - Positive`

          nullable: true
        isCallTransferred:
          type: boolean
          description: >-
            Indicates whether the call was transferred to a human agent or
            another endpoint.
          nullable: true
        queueDuration:
          type: integer
          description: >-
            The time (in seconds) the user spent in the queue before being
            connected or transferred to an agent (inbound only).
          format: int32
          nullable: true
        creditDebited:
          type: integer
          description: The total amount of credits debited for the entire conversation.
          format: int32
          nullable: true
        smsCreditDebited:
          type: integer
          description: The total amount of SMS credits debited for the entire conversation.
          format: int32
          nullable: true
        leadId:
          type: string
          description: >-
            If the call is related to a lead, this is the unique identifier of
            that lead. Otherwise, this value is null.
          nullable: true
      additionalProperties: false
    eConversationStatusView:
      type: integer
      description: >+
        The outcome of the conversation during the call.


        To determine the definition of 'Success' or 'Not Successful,' please
        refer to the [Create a Pearl](/pages/create_pearl#pearl-name) page at
        step 4.


        `10 - NeedRetry`


        `20 - InCallQueue`


        `40 - OnCall`


        `70 - VoiceMailLeft`


        `100 - Success`


        `110 - NotSuccessful`


        `130 - Completed`


        `150 - Unreachable`


        `220 - Blacklisted`


        `300 - QueueAbandon`


        `500 - Error`

      format: int32
    eCallStatusView:
      type: integer
      description: |+
        Represents the current status of a call.

        `3 - InProgress`

        `4 - Completed`

        `5 - Busy`

        `6 - Failed`

        `7 - NoAnswer`

        `8 - Canceled`

        `10 - OnGoingText`

      format: int32
    AgentChatMessageApiView:
      type: object
      properties:
        role:
          allOf:
            - $ref: '#/components/schemas/eChatMessageRoleView'
          description: |+
            `2 - Pearl`

            `3 - Client`

            `4 - PlatformUser`

        content:
          type: string
          description: The content of the message
          nullable: true
        startTime:
          type: number
          description: The moment the message starts
          format: float
          nullable: true
        endTime:
          type: number
          description: The moment the message ends
          format: float
          nullable: true
      additionalProperties: false
    CollectedInfoView:
      type: object
      properties:
        id:
          type: string
          description: The ID of the variable collected
          nullable: true
        name:
          type: string
          description: The display name of the variable collected.
          nullable: true
        value:
          description: The value of the variable collected.
          nullable: true
      additionalProperties: false
    eOverallSentiment:
      type: integer
      description: >+
        Represents the overall emotional tone detected from the client during
        the conversation.


        `1 - Negative`


        `2 - SlightlyNegative`


        `3 - Neutral`


        `4 - SlightlyPositive`


        `5 - Positive`

      format: int32
    eChatMessageRoleView:
      type: integer
      description: |+
        `2 - Pearl`

        `3 - Client`

        `4 - PlatformUser`

      format: int32
  securitySchemes:
    bearer_auth:
      type: http
      description: >-
        Specify the authorization token.


        For more information, check out the [Authorization
        Guide](/api-reference/authorization).
      scheme: bearer

````