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

# Get campaigns

> Retrieve a paginated list of campaigns.

Responses include direct Enginy app URLs when available. Each campaign response includes an `appUrl` that opens the campaign overview in Enginy. MCP agents should return those URLs to users whenever they are present in the response.

    > **Required scope:** `CAMPAIGNS_READ`
    >
    > **Rate limit:** 100 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json get /v1/campaigns
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/campaigns:
    get:
      tags:
        - Campaigns
      summary: Get campaigns
      description: >-
        Retrieve a paginated list of campaigns.


        Responses include direct Enginy app URLs when available. Each campaign
        response includes an `appUrl` that opens the campaign overview in
        Enginy. MCP agents should return those URLs to users whenever they are
        present in the response.

            > **Required scope:** `CAMPAIGNS_READ`
            >
            > **Rate limit:** 100 requests per minute
      parameters:
        - schema:
            type: string
            default: '1'
            description: Page number for pagination. Minimum value is 1. Defaults to 1.
          required: false
          description: Page number for pagination. Minimum value is 1. Defaults to 1.
          name: page
          in: query
        - schema:
            type: string
            default: '25'
            description: >-
              Number of items per page. Minimum is 1, maximum is 100. Defaults
              to 25.
          required: false
          description: >-
            Number of items per page. Minimum is 1, maximum is 100. Defaults to
            25.
          name: pageSize
          in: query
        - schema:
            type: string
            description: Search term to filter campaigns by name (case-insensitive).
          required: false
          description: Search term to filter campaigns by name (case-insensitive).
          name: search
          in: query
        - schema:
            type: string
            description: Filter campaigns by sender identity ID.
          required: false
          description: Filter campaigns by sender identity ID.
          name: identitySenderId
          in: query
        - schema:
            type: string
            enum:
              - ACTIVE
              - PENDING
              - DRAFT
              - COMPLETED
            description: Filter campaigns by status.
          required: false
          description: Filter campaigns by status.
          name: status
          in: query
      responses:
        '200':
          description: Successful response with paginated campaigns
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          description: Unique identifier for the campaign
                        appUrl:
                          type: string
                          format: uri
                          description: Direct Enginy app URL for opening the campaign.
                        name:
                          type: string
                          description: Name of the campaign
                        description:
                          type:
                            - string
                            - 'null'
                          description: Description of the campaign
                        status:
                          type: string
                          enum:
                            - DRAFT
                            - PENDING
                            - ACTIVE
                            - COMPLETED
                            - DELETED
                          description: Status of the campaign
                        createdBy:
                          type: object
                          properties:
                            id:
                              type: number
                              description: ID of the user who created the campaign
                            name:
                              type:
                                - string
                                - 'null'
                              description: Name of the user who created the campaign
                          required:
                            - id
                            - name
                          description: User who created the campaign
                        crmOwnerId:
                          type:
                            - string
                            - 'null'
                          description: CRM owner associated with the campaign
                        senderIdentity:
                          type:
                            - object
                            - 'null'
                          properties:
                            id:
                              type: number
                              description: ID of the sender identity
                            name:
                              type:
                                - string
                                - 'null'
                              description: Name of the sender identity
                          required:
                            - id
                            - name
                          description: Identity being used to send from
                        createdAt:
                          type: string
                          format: date-time
                          description: Date and time when the campaign was created
                      required:
                        - id
                        - appUrl
                        - name
                        - description
                        - status
                        - createdBy
                        - crmOwnerId
                        - senderIdentity
                        - createdAt
                  meta:
                    type: object
                    properties:
                      page:
                        type: number
                      pageSize:
                        type: number
                      total:
                        type: number
                    required:
                      - page
                      - pageSize
                      - total
                required:
                  - data
                  - meta
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````