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

# Get All Campaigns

> Retrieves a paginated list of campaigns for the current user with optional call count information.

Return campaigns in the current workspace. Use this for campaign dashboards, monitoring pages, and post-run reconciliation after either the standard flow or the beta large-campaign flow.

## Query guidance

* Use `limit` and `offset` for pagination.
* Use `call_count=true` when the UI needs call totals with each campaign.
* Pair this endpoint with call history filtered by `bulk_list_id` for detailed call-level results.
* For beta large campaigns, poll [Upload status](/api-reference/endpoint/campaign/get-large-campaign-upload-status) until CSV processing is complete before relying on campaign-level call progress.

## Typical flow

1. Upload contacts with [Upload campaign contact list](/api-reference/endpoint/campaign/upload-campaign-contact-list).
2. Start calls with [Start campaign](/api-reference/endpoint/campaign/start-campaign).
3. Monitor campaign state here.
4. Inspect calls through [Get call history](/api-reference/endpoint/history/get-call-history).

## Beta 5,000+ row flow

1. Upload the CSV with [Upload large campaign CSV](/api-reference/endpoint/campaign/upload-large-campaign-csv).
2. Poll [Get large campaign upload status](/api-reference/endpoint/campaign/get-large-campaign-upload-status).
3. Confirm balance with [Check large campaign balance](/api-reference/endpoint/campaign/check-large-campaign-balance).
4. Start calls with [Make large campaign calls async](/api-reference/endpoint/campaign/make-large-campaign-calls-async).
5. Monitor campaign state here and inspect call rows through call history.


## OpenAPI

````yaml get /campaign/all
openapi: 3.0.0
info:
  title: Ringg AI API Documentation
  description: >-
    This is the documentation for the Ringg AI APIs. The Ringg AI API follows
    RESTful principles, making it intuitive and easy to integrate with your
    applications. All API requests should be made to the base URL. The API
    accepts and returns data in JSON format. Ensure your requests include the
    appropriate Content-Type header for POST and PATCH requests.
  version: 2.0.0
servers:
  - url: https://prod-api.ringg.ai/ca/api/v0
security: []
tags:
  - name: workspace
    description: Endpoints for managing your workspace.
  - name: agent
    description: Endpoints for managing assistants (agents).
  - name: calling
    description: Endpoints for making and managing calls.
  - name: campaign
    description: Endpoints for managing campaigns.
  - name: analytics
    description: Endpoints for accessing call analytics and performance metrics.
  - name: termination
    description: Endpoints for terminating active calls using different methods.
  - name: knowledgebase
    description: Endpoints for managing knowledge bases.
paths:
  /campaign/all:
    get:
      tags:
        - campaign
      summary: Get All Campaigns
      description: >-
        Retrieves a paginated list of campaigns for the current user with
        optional call count information.
      operationId: getAllCampaigns
      parameters:
        - name: X-API-KEY
          in: header
          description: (Required) Your Ringg AI API key.
          required: true
          schema:
            type: string
            example: 7251cb4b-3373-43a4-844c-b27a1d45e0c9
        - name: call_count
          in: query
          description: 'Whether to include call count for each campaign (default: true).'
          required: false
          schema:
            type: boolean
            default: true
        - name: limit
          in: query
          description: 'Maximum number of campaigns to return (default: 10).'
          required: false
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: 'Number of campaigns to skip for pagination (default: 0).'
          required: false
          schema:
            type: integer
            default: 0
            minimum: 0
      responses:
        '200':
          description: List of campaigns retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  campaigns:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Campaign unique identifier
                          example: 550e8400-e29b-41d4-a716-446655440000
                        name:
                          type: string
                          description: Campaign name
                          example: Q4 Sales Campaign
                        campaign_status:
                          type: string
                          description: Current status of the campaign
                          example: completed
                          enum:
                            - pending
                            - registered
                            - running
                            - completed
                            - paused
                        created_at:
                          type: string
                          format: date-time
                          description: Campaign creation timestamp
                          example: '2024-01-15T14:30:00Z'
                        updated_at:
                          type: string
                          format: date-time
                          description: Campaign last update timestamp
                          example: '2024-01-15T16:45:00Z'
                        campaign_start_time:
                          type: string
                          format: date-time
                          description: Scheduled start time for the campaign
                          example: '2024-01-16T09:00:00Z'
                        campaign_end_time:
                          type: string
                          format: date-time
                          description: Scheduled end time for the campaign
                          example: '2024-01-16T17:00:00Z'
                        total_count:
                          type: integer
                          description: >-
                            Total number of calls in campaign (only included
                            when call_count=true)
                          example: 150
                        registered_count:
                          type: integer
                          description: >-
                            Number of registered calls (only included when
                            call_count=true)
                          example: 120
                        completed_count:
                          type: integer
                          description: >-
                            Number of completed calls (only included when
                            call_count=true)
                          example: 85
                  pagination:
                    type: object
                    properties:
                      total:
                        type: integer
                        description: Total number of campaigns available
                        example: 25
                      limit:
                        type: integer
                        description: Number of campaigns requested per page
                        example: 10
                      offset:
                        type: integer
                        description: Number of campaigns skipped
                        example: 0
        '401':
          description: Unauthorized - Invalid or missing authentication.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: Invalid credentials
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: An unexpected error occurred.

````