Skip to main content
PUT
Pause or resume a campaign

Request contract

  • Method and path: PUT /apis/v1/ads/campaigns/{campaignId}/status
  • Availability: enabled
  • Request URL template: https://api.aisa.one/apis/v1/ads/campaigns/{campaignId}/status
  • campaignId: path; required
  • connectionId: query; required
  • X-Aisa-Confirm: header; optional
  • Runtime facts: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Aisa-Confirm
enum<string>

Required with the value "spend" when the request can spend money or change spend. Without it the request is refused with 409 confirmation_required, which describes what would happen; nothing is sent to the ad platform.

Available options:
spend

Path Parameters

campaignId
string
required

Platform campaign ID

Query Parameters

connectionId
string
required

The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.

Pattern: ^adc_[0-9A-Za-z]+$

Body

application/json
status
enum<string>
required
Available options:
active,
paused
connectionId
string

The ads connection (adc_...), when not sent as the connectionId query parameter.

Pattern: ^adc_[0-9A-Za-z]+$
platform
enum<string>

Filled from the connection when omitted.

Available options:
facebook,
instagram,
tiktok,
linkedin,
pinterest,
google,
twitter,
openai,
reddit,
microsoft,
meta,
x

Response

Campaign status updated

platformCampaignStatus
string | null

The campaign's own switch as read back from the platform, in the raw platform vocabulary: Meta effective_status, TikTok ENABLE / DISABLE, Google ENABLED / PAUSED, ChatGPT (OpenAI) status, Reddit configured_status.

skipped
enum<integer>

1 when a live read showed the campaign already in the requested state, so nothing was written.

Available options:
0,
1
skippedReasons
string[]

Why the write was skipped, for example "Campaign already switched off".

status
enum<string>

The campaign's delivery status derived from its switch as read back (paused when the switch is off). Echoes the request when the platform could not be read.

Available options:
active,
paused
statusReadAt
string<date-time> | null

When the switch was read back. Null when it could not be read.

updated
enum<integer>

1 when the campaign's switch was written.

Available options:
0,
1