---
title: "Pause An Outbound Campaign"
method: POST
path: "/v1/convai/outbound-campaigns/campaigns/{campaign_id}/pause"
tags: ["Agents Platform"]
---

# Pause An Outbound Campaign

`POST /v1/convai/outbound-campaigns/campaigns/{campaign_id}/pause`

## Request

- Base URL: `https://api.elevenlabs.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.elevenlabs.io/v1/convai/outbound-campaigns/campaigns/{campaign_id}/pause`
- Auth: none declared
- TypeScript: <https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/docs/v1/convai/outbound-campaigns/campaigns/:campaign_id/pause/post.ts> (a function with typed inputs; its response is checked against the schema)

Pause an outbound campaign. It places no new calls until resumed; calls already placed carry on.

## Path parameters

- `campaign_id` string, required

## Headers

- `xi-api-key` string, nullable: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- CampaignResponse
  - `campaign_id` string, required
  - `call_name` string, required: The campaign's name.
  - `agent_id` string, required
  - `channel_config` union, required
    - PhoneChannelConfigOutput
      - `channel` 'phone'
      - `agent_phone_number_id` string, required: The phone number to call from.
      - `mode_config` PhoneVoiceConfigOutput
        - `ringing_timeout_secs` integer: How long to ring the recipient before giving up, in seconds. Note that this will also be limited by the provider's own constraints.
        - `twilio_call_recording_enabled` boolean: Whether to record the call using Twilio call recording. Ignored for non-Twilio providers. Recordings are stored in your Twilio account.
        - `twilio_machine_detection` TwilioMachineDetectionConfig: How to run Twilio's carrier-level answering machine detection (AMD) on a call.
          - `mode` 'enable' | 'detect_message_end': Which Twilio answering-machine-detection (AMD) mode to request for a call. `enable` returns a verdict as soon as Twilio can tell a human from a machine. `detect_message_end` additionally waits for the greeting to finish, which is what distinguishes the `machine_end_*` verdicts, at the cost of a later result.
          - `actions` TwilioMachineDetectionRule[]: Actions to take on the call per AMD verdict. Each action can appear in at most one rule, so list all of its verdicts together. Verdicts without a rule leave the call running.
            - `action` 'hang_up', required
            - `answered_by` TwilioAnsweredBy[], required: Verdicts that trigger the action.
        - `mode` 'voice'
    - WhatsAppChannelConfig
      - `channel` 'whatsapp'
      - `whatsapp_phone_number_id` string, required: The WhatsApp phone number to call or message from.
      - `mode_config` union, required
        - WhatsAppVoiceConfig
          - `mode` 'voice'
          - `whatsapp_call_permission_request_template_name` string, required: The approved template that asks the contact for permission to call.
          - `whatsapp_call_permission_request_template_language_code` string, required: The language code of that template.
        - WhatsAppMessageConfig
          - `mode` 'message'
          - `template` WhatsAppTemplate, required
            - `name` string, required
            - `language` string, required: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages
            - `parameter_format` 'POSITIONAL' | 'NAMED'
            - `components` WhatsAppTemplateComponent[], required
              - …
            - `category` string, nullable: https://developers.facebook.com/docs/graph-api/reference/whats-app-business-account/message_templates/
  - `status` 'active' | 'paused' | 'stopping' | 'stopped' | 'completed' | 'failed' | 'attention', required
  - `policy` CampaignPolicySnapshot, required: The policy the campaign took when it was created, laid out like a submitted `policy`.
    - `timezone` string, required
    - `retry` RetryPolicy, required
      - `retry_delay_seconds` integer: How long to wait before a short retry.
      - `max_short_retries` integer: Retries a calling window allows after a failed call. Once used up, the next retry waits for the following window, which starts afresh.
      - `max_total_calls` integer: The most calls a lead gets, counting the first.
      - `max_callbacks` integer: The most callbacks to honor for one number.
      - `max_redirects` integer: The most times a lead follows a request to call another number.
      - `interval_placement` 'start' | 'random' | 'rotate'
      - `rotate_step_seconds` integer: How far `rotate` placement moves each call. Only used by `rotate`.
      - `max_consecutive_failures_per_number` integer, nullable: Calls to one number that may fail in a row before the lead moves on to its next listed number, or ends when there is none. An answered call, or a redirect to a new number, restarts the count. Unset leaves only `max_total_calls`.
    - `calling_periods` CallingPeriodPolicy[], required
      - `weekdays` integer[], required
      - `intervals` CallingIntervalPolicy[], required: Windows on each of those days. They may not overlap on any day.
        - `start` string, required: Local start time, as `HH:MM`.
        - `end` string, required: Local end time, as `HH:MM`; `24:00` ends at midnight.
    - `data_collection` DataCollectionPolicy, required
      - `callback_time` string, nullable
      - `redirect_phone_number` string, nullable
      - `stop` string, nullable
      - `mappings` object: Copies data collection results into dynamic variables for later calls: each key is a data collection item ID and its value the variable's name.
    - `followup_context` FollowupContextPolicy, required: Which `campaign__` dynamic variables follow-up calls get.
      - `call_type` boolean: Pass the call type as `campaign__call_type`.
      - `previous_conversation_id` boolean: Pass the last conversation's ID as `campaign__previous_conversation_id`.
      - `previous_summary` boolean: Pass the last conversation's summary as `campaign__previous_summary`.
      - `previous_transcript` boolean: Pass the last conversation's transcript as `campaign__previous_transcript`.
  - `variant` 'simple' | 'advanced', required
  - `source` 'ui' | 'api', required
  - `created_at_unix` integer, required
  - `scheduled_time_unix` integer, nullable, required: When the campaign starts calling; unset to start once created.
  - `updated_at_unix` integer, required
  - `branch_id` string, nullable, required: The agent branch the campaign calls with.
  - `environment` string, nullable, required: The environment the agent's environment variables resolve in.
  - `target_concurrency_limit` integer, nullable, required: The most calls the campaign places at once.
  - `channel` 'phone' | 'whatsapp', required
  - `mode` 'voice' | 'message', required
  - `counts` CampaignSummaryCounts, required
    - `leads` integer, required
    - `terminal_leads` integer, required: Leads that won't be called again.
    - `open_attention` integer, required: Attention items not yet resolved.
    - `delivery` RecipientDeliveryCounts
      - `sent` integer
      - `delivered` integer
      - `read` integer
      - `replied` integer
      - `failed` integer
  - `agent_name` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-10** `5803fbabfb60`: 1 breaking
  - removed the required property `outcome` from the response with the `200` status
- **2026-11-10** `49e0431bea4c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/convai/outbound-campaigns/campaigns/:campaign_id/pause/post.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) - [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/revisions/fcdef62e353b?raw)
