Skip to main content
POST
/
ad_campaigns
/
{id}
/
pause
Pause an Ad Campaign
curl --request POST \
  --url https://{defaultHost}/ad_campaigns/{id}/pause \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "title": "<string>",
  "status": "draft",
  "platform": "meta",
  "objective": "awareness",
  "special_ad_categories": [
    "housing"
  ],
  "optimization_goal": "<string>",
  "budget_amount": 123,
  "budget_type": "daily",
  "budget_optimization": "ad_campaign",
  "bid_type": "minimum_cost",
  "created_at": "<string>",
  "updated_at": "<string>",
  "click_through_rate": 123,
  "clicks": 123,
  "cost_per_click": 123,
  "cost_per_lead": 123,
  "cost_per_mille": 123,
  "cost_per_purchase": 123,
  "cost_per_result": 123,
  "frequency": 123,
  "impressions": 123,
  "leads": 123,
  "purchase_value": 123,
  "purchases": 123,
  "reach": 123,
  "return_on_ad_spend": 123,
  "spend": 123,
  "spend_currency": "<string>",
  "unique_click_through_rate": 123,
  "unique_clicks": 123,
  "issues": [
    {
      "id": "<string>",
      "category": "policy_rejection",
      "resource_id": "<string>",
      "resource_type": "ad_campaign"
    }
  ]
}

Authorizations

Authorization
string
header
required

An account API key, account scoped JWT, app API key, or user OAuth token.

Headers

Api-Version-Date
string<date>

Pins the request to a dated API version. When omitted, the request uses the original (2025-01-01) request/response shapes, so existing unversioned callers are never broken. Generated SDKs always send the latest version they were built against. An unrecognized value is rejected with a 400. The schemas documented here always describe the latest version.

Example:

"2026-06-20"

Path Parameters

id
string
required

The ad campaign ID.

Response

200 - application/json

ad campaign paused

id
string
required

Unique identifier for the ad campaign.

title
string
required

The title of the ad campaign.

status
enum<string>
required

The lifecycle status of the ad campaign.

Available options:
draft,
active,
paused,
payment_failed
Example:

"draft"

platform
enum<string>
required

The ad network the campaign runs on.

Available options:
meta
Example:

"meta"

objective
enum<string> | null
required

The goal the campaign optimizes toward.

Available options:
awareness,
traffic,
engagement,
leads,
sales,
null
Example:

"awareness"

special_ad_categories
enum<string>[]
required

Regulated categories the campaign is declared under. Ads in these categories are subject to extra targeting restrictions. Empty when none apply.

Available options:
housing,
employment,
financial_products,
politics
optimization_goal
string | null
required

The specific event the campaign optimizes for. If the campaign is CBO, then all ad groups will have the same optimization goal, which will be returned here.

budget_amount
number | null
required

The campaign budget in USD. Null when budget is set at the ad group level (ABO).

budget_type
enum<string> | null
required

Whether the budget is spent per day or over the campaign's lifetime.

Available options:
daily,
lifetime,
null
Example:

"daily"

budget_optimization
enum<string> | null
required

Which level owns the budget — the campaign (CBO) or each ad group (ABO).

Available options:
ad_campaign,
ad_group,
null
Example:

"ad_campaign"

bid_type
enum<string> | null
required

The bidding strategy the campaign uses.

Available options:
minimum_cost,
average_target,
maximum_target,
null
Example:

"minimum_cost"

created_at
string
required

When the campaign was created, as an ISO 8601 timestamp.

updated_at
string
required

When the campaign was last updated, as an ISO 8601 timestamp.

click_through_rate
number
required

Clicks divided by impressions, between 0 and 1.

clicks
number
required

The number of clicks for all ads within this campaign.

cost_per_click
number
required

Spend divided by clicks; 0 when there are no clicks.

cost_per_lead
number | null
required

Spend divided by attributed leads; null when leads are not a goal and none are attributed.

cost_per_mille
number
required

Spend per 1,000 impressions; 0 when there are no impressions.

cost_per_purchase
number | null
required

Spend divided by attributed purchases; null when purchases are not a goal and none are attributed.

cost_per_result
number | null
required

Spend divided by results; null when nothing is being optimized for.

frequency
number | null
required

Platform-reported impressions divided by reach.

impressions
number
required

The number of impressions.

leads
number
required

Whop pixel-attributed leads, last-click.

purchase_value
number
required

USD value of pixel-attributed purchases.

purchases
number
required

Whop pixel-attributed purchases, last-click.

reach
number
required

The number of unique people who saw an ad.

return_on_ad_spend
number
required

Purchase value divided by spend; 0 when there is no spend.

spend
number
required

The amount charged, in spend_currency.

spend_currency
string | null
required

The ISO 4217 currency code of all monetary metrics.

unique_click_through_rate
number | null
required

Unique clicks divided by impressions, between 0 and 1.

unique_clicks
number
required

The number of unique clicks.

issues
object[]
required