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

# Get a Campaign

> Gets a single campaign by its `campaign_id`, including its attached audiences.



## OpenAPI

````yaml https://api.monaco.com/openapi.json get /v1/campaigns/{campaign_id}
openapi: 3.1.0
info:
  title: Monaco Public API
  description: Public API for Monaco
  version: 1.0.0
servers:
  - url: https://api.monaco.com
security: []
paths:
  /v1/campaigns/{campaign_id}:
    get:
      tags:
        - Campaigns
      summary: Get a Campaign
      description: >-
        Gets a single campaign by its `campaign_id`, including its attached
        audiences.
      operationId: get_campaign
      parameters:
        - name: campaign_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Campaign Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PublicItemResponse_CampaignDetailResponse_
              example:
                data:
                  id: cmp_abc123
                  name: Q3 Enterprise Outbound
                  status: active
                  prioritized: false
                  end_date: '2026-12-31'
                  template_id: seqt_789ghi
                  template_name: Enterprise Onboarding
                  audiences:
                    - id: aud_abc123
                      name: Enterprise West
                  created_at: '2026-01-15T10:30:00Z'
                  updated_at: '2026-05-10T14:22:00Z'
                meta:
                  timestamp: '2026-05-11T17:00:00Z'
        4XX:
          description: Client error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
components:
  schemas:
    PublicItemResponse_CampaignDetailResponse_:
      properties:
        data:
          $ref: '#/components/schemas/CampaignDetailResponse'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      type: object
      required:
        - data
      title: PublicItemResponse[CampaignDetailResponse]
    PublicErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - error
      title: PublicErrorResponse
    CampaignDetailResponse:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the campaign
          examples:
            - cmp_abc123
        name:
          type: string
          title: Name
          description: Name of the campaign
          examples:
            - Q3 Enterprise Outbound
        status:
          $ref: '#/components/schemas/CampaignStatus'
          description: Current lifecycle status of the campaign
          examples:
            - active
        prioritized:
          type: boolean
          title: Prioritized
          description: Whether this campaign takes priority over non-prioritized campaigns
          examples:
            - false
        end_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: End Date
          description: Date the campaign stops enrolling
          examples:
            - '2026-12-31'
        template_id:
          type: string
          title: Template Id
          description: ID of the template enrolled contacts are placed on
          examples:
            - seqt_789ghi
        template_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Template Name
          description: Title of the template
          examples:
            - Enterprise Onboarding
        audiences:
          items:
            $ref: '#/components/schemas/CampaignAudienceRef'
          type: array
          title: Audiences
          description: Audiences enrolled in this campaign
        enrollment_status:
          $ref: '#/components/schemas/PublicEnrollmentStatus'
          description: Progress of the async task enrolling this campaign's audiences
          examples:
            - completed
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Date and time the campaign was created
          examples:
            - '2026-01-15T10:30:00Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Date and time the campaign was last updated
          examples:
            - '2026-05-10T14:22:00Z'
        distribution:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/PercentageDistribution'
                - $ref: '#/components/schemas/AccountOwnerDistribution'
              discriminator:
                propertyName: mode
                mapping:
                  account_owner:
                    $ref: '#/components/schemas/AccountOwnerDistribution'
                  percentage:
                    $ref: '#/components/schemas/PercentageDistribution'
            - type: 'null'
          title: Distribution
          description: How sends are routed across senders (percentage or account_owner)
        rules_of_engagement:
          anyOf:
            - $ref: '#/components/schemas/PublicRulesOfEngagement-Output'
            - type: 'null'
          description: >-
            The campaign's effective rules of engagement; null when the campaign
            uses the org defaults with no campaign-level config
        autopilot_mode:
          $ref: '#/components/schemas/PublicAutopilotMode'
          description: >-
            `autopilot` when every sender auto-sends, `supervised` when none do,
            `hybrid` when it's a mix
          examples:
            - hybrid
        autopilot_settings:
          $ref: '#/components/schemas/PublicAutopilotSettings'
          description: Senders currently on autopilot and their daily send-release cap
      type: object
      required:
        - id
        - name
        - status
        - prioritized
        - template_id
        - enrollment_status
        - created_at
        - updated_at
        - autopilot_mode
        - autopilot_settings
      title: CampaignDetailResponse
      description: >-
        Full campaign resource, as returned by `get_campaign`,
        `create_campaign`,

        and `update_campaign`.
    ResponseMeta:
      properties:
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: Server timestamp of the response
      type: object
      title: ResponseMeta
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
          description: Machine-readable error code
          examples:
            - not_found
        message:
          type: string
          title: Message
          description: Human-readable error message
          examples:
            - Resource not found
      type: object
      required:
        - code
        - message
      title: ErrorDetail
    CampaignStatus:
      type: string
      enum:
        - active
        - paused
        - completed
        - draft
        - archived
      title: CampaignStatus
      description: Lifecycle status of a campaign.
    CampaignAudienceRef:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the audience
          examples:
            - aud_abc123
        name:
          type: string
          title: Name
          description: Name of the audience
          examples:
            - Enterprise West
      type: object
      required:
        - id
        - name
      title: CampaignAudienceRef
      description: An audience attached to a campaign.
    PublicEnrollmentStatus:
      type: string
      enum:
        - pending
        - running
        - completed
        - failed
      title: PublicEnrollmentStatus
      description: Progress of the async audience-enrollment task behind create/update.
    PercentageDistribution:
      properties:
        mode:
          type: string
          const: percentage
          title: Mode
          description: Distribution mode discriminator
          examples:
            - percentage
        sender_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Sender Ids
          description: IDs of the users sending on this campaign
          examples:
            - - 550e8400-e29b-41d4-a716-446655440001
        percentages:
          items:
            $ref: '#/components/schemas/SenderPercentage'
          type: array
          title: Percentages
          description: Per-sender percentages; must cover every sender_id and sum to 100
      type: object
      required:
        - mode
        - sender_ids
        - percentages
      title: PercentageDistribution
      description: Split sends across named senders by fixed percentages that sum to 100.
    AccountOwnerDistribution:
      properties:
        mode:
          type: string
          const: account_owner
          title: Mode
          description: Distribution mode discriminator
          examples:
            - account_owner
        sender_ids:
          items:
            type: string
            format: uuid
          type: array
          minItems: 1
          title: Sender Ids
          description: >-
            IDs of the users eligible to send on this campaign; a contact is
            routed to its account owner only when the owner appears in this list
          examples:
            - - 550e8400-e29b-41d4-a716-446655440001
        fallback_sender_id:
          type: string
          format: uuid
          title: Fallback Sender Id
          description: >-
            Sender used whenever a contact's account is unassigned or its owner
            is not in `sender_ids`. Required for `account_owner` mode.
          examples:
            - 550e8400-e29b-41d4-a716-446655440002
      type: object
      required:
        - mode
        - sender_ids
        - fallback_sender_id
      title: AccountOwnerDistribution
      description: |-
        Route each contact's sends to the owner of its account.

        A contact's sends go to its account owner when that owner is one of
        ``sender_ids``; otherwise they fall back to ``fallback_sender_id``.
    PublicRulesOfEngagement-Output:
      properties:
        do_not_contact:
          anyOf:
            - $ref: '#/components/schemas/PublicToggleRule'
            - type: 'null'
          description: Skip contacts flagged do-not-contact
        allow_sequence_stop_on_meeting_booked:
          anyOf:
            - $ref: '#/components/schemas/PublicToggleRule'
            - type: 'null'
          description: Stop a contact's sequence once a meeting is booked
        contact_cooldown:
          anyOf:
            - $ref: '#/components/schemas/PublicCooldownRule'
            - type: 'null'
          description: Cooldown before re-contacting the same contact
        account_cooldown:
          anyOf:
            - $ref: '#/components/schemas/PublicCooldownRule'
            - type: 'null'
          description: Cooldown before re-contacting any contact at the same account
        max_contacts_in_sequence:
          anyOf:
            - $ref: '#/components/schemas/PublicMaxContactsInSequenceRule'
            - type: 'null'
          description: Cap on simultaneously-active contacts per account
        allow_non_account_owner_campaigns:
          anyOf:
            - $ref: '#/components/schemas/PublicToggleRule'
            - type: 'null'
          description: >-
            Allow enrolling contacts whose account owner is not a campaign
            sender
        allow_stop_and_dismiss_on_account_status:
          anyOf:
            - $ref: '#/components/schemas/PublicStopAndDismissRule'
            - type: 'null'
          description: >-
            Stop and dismiss sequences when an account changes to certain
            statuses
        exclude_sequences_on_account_status:
          anyOf:
            - $ref: '#/components/schemas/PublicStopAndDismissRule'
            - type: 'null'
          description: >-
            Exclude not-yet-started sequences when an account is in (or
            transitions into) certain statuses; already-active sequences are
            unaffected
      type: object
      title: PublicRulesOfEngagement
      description: |-
        Per-rule overrides layered on the org's default rules of engagement.

        Only the rules you include are overridden, rules you omit keep
        their org default.
    PublicAutopilotMode:
      type: string
      enum:
        - autopilot
        - supervised
        - hybrid
      title: PublicAutopilotMode
    PublicAutopilotSettings:
      properties:
        sender_rates:
          items:
            $ref: '#/components/schemas/SenderAutopilotRate'
          type: array
          title: Sender Rates
      type: object
      title: PublicAutopilotSettings
      description: >-
        Senders on autopilot for this campaign and their daily send-release cap.


        Senders omitted here (but present in `distribution`) require manual
        approval

        before each send starts. An empty list moves every sender to supervised.
    SenderPercentage:
      properties:
        sender_id:
          type: string
          format: uuid
          title: Sender Id
          description: ID of the sending user
          examples:
            - 550e8400-e29b-41d4-a716-446655440001
        percentage:
          type: integer
          minimum: 0
          title: Percentage
          description: Share of sends routed to this sender; must be non-negative
          examples:
            - 50
      type: object
      required:
        - sender_id
        - percentage
      title: SenderPercentage
    PublicToggleRule:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether this rule is enforced for the campaign
          examples:
            - true
      type: object
      required:
        - enabled
      title: PublicToggleRule
      description: A rule controlled by a single on/off switch.
    PublicCooldownRule:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether the cooldown is enforced
          examples:
            - true
        days:
          type: integer
          title: Days
          description: Length of the cooldown window in days
          default: 90
          examples:
            - 90
      type: object
      required:
        - enabled
      title: PublicCooldownRule
      description: >-
        Suppress re-contacting the same contact or account within a cooldown
        window.
    PublicMaxContactsInSequenceRule:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: Whether the cap is enforced
          examples:
            - true
        max_contacts:
          type: integer
          title: Max Contacts
          description: Maximum contacts per account allowed in sequences simultaneously
          default: 5
          examples:
            - 3
      type: object
      required:
        - enabled
      title: PublicMaxContactsInSequenceRule
      description: >-
        Cap how many contacts from one account can be active in sequences at
        once.
    PublicStopAndDismissRule:
      properties:
        enabled:
          type: boolean
          title: Enabled
          description: >-
            Whether to stop and dismiss a contact's active sequences when its
            account transitions into one of the trigger statuses
          examples:
            - true
        statuses:
          anyOf:
            - items:
                $ref: '#/components/schemas/AccountStatusEnum'
              type: array
            - type: 'null'
          title: Statuses
          description: >-
            Account statuses whose transition triggers stop-and-dismiss; omit to
            inherit the org's default set
          examples:
            - - OPPORTUNITY
              - CUSTOMER
      type: object
      required:
        - enabled
      title: PublicStopAndDismissRule
      description: >-
        Stop and dismiss a contact's active sequences when its account
        transitions

        into one of the configured statuses.
    SenderAutopilotRate:
      properties:
        sender_id:
          type: string
          format: uuid
          title: Sender Id
          description: ID of the sending user
          examples:
            - 550e8400-e29b-41d4-a716-446655440001
        daily_rate_target:
          type: integer
          exclusiveMinimum: 0
          title: Daily Rate Target
          description: Daily cap on auto-released sends for this sender; must be positive
          examples:
            - 25
      type: object
      required:
        - sender_id
        - daily_rate_target
      title: SenderAutopilotRate
    AccountStatusEnum:
      type: string
      enum:
        - NEW
        - PROSPECTING
        - OPPORTUNITY
        - CUSTOMER
        - DISQUALIFIED
        - NURTURE
        - INBOUND
        - CHURNED
      title: AccountStatusEnum
      description: >-
        Represents the status of an account in the sales process.

        These are suggested values, but the field accepts any string for
        flexibility.

````