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

# Get Campaign Status

> Returns a progress snapshot for a campaign: its settings, a breakdown of call outcomes so far, and the state of every contact upload and its calling queue. Cheap to poll.



## OpenAPI

````yaml GET /v1/campaigns/{id}/status
openapi: 3.1.0
info:
  title: OSVI AI API
  description: REST API for the OSVI AI voice and chat platform
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.osvi.ai
security:
  - ApiToken: []
paths:
  /v1/campaigns/{id}/status:
    get:
      summary: Get campaign status
      description: >-
        Returns a progress snapshot for a campaign: its settings, a breakdown of
        call outcomes so far, and the state of every contact upload and its
        calling queue. Cheap to poll.
      parameters:
        - name: id
          in: path
          required: true
          description: The campaign's numeric id.
          schema:
            type: integer
      responses:
        '200':
          description: Campaign progress snapshot.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      campaign:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 7
                          name:
                            type: string
                            example: June Renewals
                          status:
                            type: string
                            enum:
                              - active
                              - inactive
                            example: active
                          is_retry_enabled:
                            type: boolean
                            example: true
                          retry_threshold:
                            type: integer
                            nullable: true
                            example: 2
                          retry_delay:
                            type: integer
                            nullable: true
                            description: Seconds between retry attempts.
                            example: 1800
                          created_at:
                            type: string
                            format: date-time
                            example: '2026-06-01T10:00:00+05:30'
                      calls:
                        type: object
                        properties:
                          total:
                            type: integer
                            example: 120
                          by_status:
                            type: object
                            additionalProperties:
                              type: integer
                            example:
                              picked: 88
                              not_picked: 25
                              failed: 7
                      uploads:
                        type: array
                        items:
                          type: object
                          properties:
                            campaign_upload_id:
                              type: integer
                              example: 19
                            file_name:
                              type: string
                              nullable: true
                              example: 1718000000-api_contacts_ab12cd34ef567890.csv
                            agent_uuid:
                              type: string
                              nullable: true
                              example: agent_IsZ3Q6Sf_60Eh26XQMGbz-R_og
                            created_at:
                              type: string
                              format: date-time
                              example: '2026-06-02T11:00:00+05:30'
                            queues:
                              type: array
                              items:
                                type: object
                                properties:
                                  agent_uuid:
                                    type: string
                                    example: agent_IsZ3Q6Sf_60Eh26XQMGbz-R_og
                                  total_queued:
                                    type: integer
                                    example: 50
                                  completed:
                                    type: boolean
                                    example: false
        '401':
          description: Invalid or missing API token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
        '404':
          description: No campaign with that id exists on your account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
              example:
                success: false
                error: Campaign not found
                details: null
components:
  schemas:
    ErrorUnauthorized:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: Invalid API token
    ErrorNotFound:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          example: agent_not_found
        details:
          type: object
          nullable: true
          example: null
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: API-Token
      description: >-
        16-character API token associated with your OSVI account. Find it in
        your dashboard under Settings → API.

````