> ## 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 Campaigns

> Fetch a paginated list of campaigns with optional filters.

**Pagination parameters** (passed as query params):
- **page**: Page number, 1-indexed (default: 1).
- **size**: Items per page, max 200 (default: 50).
- **search**: Search term matched against campaign name.
- **start** / **end**: ISO 8601 date range filter on campaign creation date.

**Filter parameters:**
- **status**: Filter by campaign status. Possible values: pending, processing, paused, aborted, completed.
- **source**: Filter by campaign source (e.g. 'internal', 'api').
- **tags**: Repeat to filter by multiple tags: `?tags=region:west&tags=priority:high`.
- **campaignType**: Filter by campaign type ('single' or 'multi').
- **groupId**: Return only campaigns belonging to the specified group.
- **runNumber**: Return only the campaign with this run number within its group.



## OpenAPI

````yaml https://api-prod.interactly.ai/api-docs/sms/api.json get /campaigns/v1/campaigns
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:
    get:
      tags:
        - Campaigns
      summary: List Campaigns
      description: >-
        Fetch a paginated list of campaigns with optional filters.


        **Pagination parameters** (passed as query params):

        - **page**: Page number, 1-indexed (default: 1).

        - **size**: Items per page, max 200 (default: 50).

        - **search**: Search term matched against campaign name.

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


        **Filter parameters:**

        - **status**: Filter by campaign status. Possible values: pending,
        processing, paused, aborted, completed.

        - **source**: Filter by campaign source (e.g. 'internal', 'api').

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

        - **campaignType**: Filter by campaign type ('single' or 'multi').

        - **groupId**: Return only campaigns belonging to the specified group.

        - **runNumber**: Return only the campaign with this run number within
        its group.
      operationId: campaigns_service_get_campaigns_v1_campaigns_get
      parameters:
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by status
            title: Status
          description: Filter by status
        - name: source
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by source
            title: Source
          description: Filter by source
        - name: tags
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
              - type: 'null'
            description: 'Filter by tags (format: key:value)'
            title: Tags
          description: 'Filter by tags (format: key:value)'
        - name: campaignType
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by campaign type
            title: Campaigntype
          description: Filter by campaign type
        - 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: runNumber
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: Filter by run number
            title: Runnumber
          description: Filter by run number
        - name: is_deleted
          in: query
          required: false
          schema:
            type: boolean
            description: When true, return only soft-deleted campaigns
            default: false
            title: Is Deleted
          description: When true, return only soft-deleted campaigns
        - 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: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Search keywords
            title: Search
          description: Search keywords
        - 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 campaigns
          content:
            application/json:
              schema:
                $ref: 17af3725-8b08-4cb7-a3a8-f8191aac20a8
        '400':
          description: Bad request — invalid input or constraint violation
          content:
            application/json:
              schema:
                $ref: e525ba89-10eb-466b-acde-70640ae0f189
        '404':
          description: Requested resource not found
          content:
            application/json:
              schema:
                $ref: e525ba89-10eb-466b-acde-70640ae0f189
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: 61188eef-82a8-4002-94b5-80ed8ff45c7a
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: e525ba89-10eb-466b-acde-70640ae0f189
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: Bearer
      type: http
      description: >-
        Retrieve your API Key from [Dashboard API Keys
        Section](https://dashboard.interactly.ai/api-keys).

````