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

# Get Campaign Results

> Get detailed information and results for a specific campaign



## OpenAPI

````yaml GET /campaigns/{campaignId}/details
openapi: 3.0.1
info:
  title: AI Phone Call Service API
  description: >-
    API for managing AI-based phone calls, including call initiation and result
    retrieval.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://my.cald.ai/client/api/v1
security:
  - apiKeyAuth: []
paths:
  /campaigns/{campaignId}/details:
    get:
      description: Get detailed information and results for a specific campaign
      parameters:
        - name: campaignId
          in: path
          description: The campaign ID of the campaign
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Campaign information
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Campaign'
                  - type: object
                    properties:
                      calls:
                        type: array
                        items:
                          $ref: '#/components/schemas/Call'
        '404':
          description: Campaign not found
components:
  schemas:
    Campaign:
      type: object
      properties:
        campaignId:
          type: string
          description: The campaign ID of the campaign
        name:
          type: string
          description: The name given to the campaign in the MyCald Dashboard
        listId:
          type: string
          description: The list ID of the list used for the campaign
        agentId:
          type: string
          description: The agent ID of the agent used for the campaign
        status:
          type: string
          description: >-
            The status of the campaign, can be `pending`, `active`,
            `not_funded`, `finished`, `cancelled`
        stats:
          type: object
          properties:
            totalCalls:
              type: number
              description: Total number of calls in the campaign
            completedCalls:
              type: number
              description: Number of calls that have been completed
            failedCalls:
              type: number
              description: Number of calls that have failed
            pendingCalls:
              type: number
              description: Number of calls that are pending
            pickedUpCalls:
              type: number
              description: Number of calls that have been picked up
            ivrCalls:
              type: number
              description: Number of calls that have been answered by an IVR
            voicemailCalls:
              type: number
              description: Number of calls that have been answered by a voicemail
            unansweredCalls:
              type: number
              description: Number of calls that have been unanswered
            disconnectedCalls:
              type: number
              description: Number of calls that have been disconnected
    Call:
      type: object
      properties:
        callId:
          type: string
          description: Unique identifier for the call
        direction:
          type: string
          description: Direction of the call, can be `outbound` or `inbound`
        from:
          type: string
          description: >-
            Phone number that initiated the call. In the case of an outbound
            call, this is the phone number that Cald used ot make the call. In
            the case of an inbound call, this is the phone number of the
            prospect/lead that called.
        to:
          type: string
          description: >-
            Phone number that received the call. In the case of an outbound
            call, this is the phone number of the prospect/lead that was called.
            In the case of an inbound call, this is the phone number of the
            agent that was called.
        completed:
          type: boolean
          description: Whether the call has been completed
        result:
          type: string
          description: >-
            Result of the call, can be `pending`, `pickedUp`, `ivr`,
            `voicemail`, `unanswered`, `disconnected`, `failed`. If the machine
            check isn't enabled in the agent's settings, the `ivr` or
            `voicemail` result will never be returned.
        createdAt:
          type: string
          description: Date and time the call was initiated
        completedAt:
          type: string
          description: >-
            Date and time the call was completed (not present if the call isn't
            completed)
        transcripts:
          type: array
          description: Transcripts of the call
          items:
            type: object
            properties:
              role:
                type: string
                description: >-
                  Whether the transcript is from the AI (`assistant`) or the
                  recipient of the call (`user`)
              content:
                type: string
                description: What was said during the call
        callLength:
          type: number
          description: >-
            Length of the call in seconds (not present if the call isn't
            completed)
        recordingUrl:
          type: string
          description: >-
            URL of the recording of the call (not present if the call isn't
            completed or if recording isn't enabled)
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Your API key, e.g. `caldLiveDe39a3accb206dd615f30d118e519df0`

````