Pause or resume a single ad set
Ad-set-scoped pause/resume (doesn't touch sibling ad sets). Thin wrapper over PUT /v1/ads/ad-sets/{adSetId} for callers that only want the status toggle and prefer a symmetric URL to /v1/ads/campaigns/{campaignId}/status.
On Meta and LinkedIn this writes the ad set's own on/off switch
(Meta: configured_status), whatever delivery status its ads report:
an ad still in review does not block resuming its ad set. The echoed
status is the confirmation that it landed. Where the platform has no
ad-set switch (TikTok and others) the toggle is emulated by flipping the
child ads; a call with no actionable ad then writes nothing and returns a
message with no status.
updated / skipped describe only the ads whose own stored status
CHANGED alongside the switch, so updated: 0 is a normal successful
response. See skippedReasons for which of the three cases applies
(terminal, already in the target state, or switched on but not yet
delivering).
A campaign created paused needs its campaign resumed as well: pair this with PUT /v1/ads/campaigns/{campaignId}/status.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Platform ad set ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
{ "status": "active", "updated": 0, "skipped": 0, "skippedReasons": [ "string" ], "message": "string"}Delete an ad set
Deletes the ad set on the platform, cascading to its ads only (never the campaign). Locally, every Ad document under the ad set is marked `status: cancelled`. Delete is soft on platforms that have no hard delete: LinkedIn moves the campaign to `PENDING_DELETION`, Pinterest archives the ad group, and X soft-flags the line item. Google removes the ad group. All remain readable for reporting.
List Search keywords
Returns the Google Search keyword criteria (positive and negative) synced from connected Google Ads accounts, one row per ad-group keyword. Refreshed about once a week per Google Ads customer (the keyword sweep rides the ads discovery pass on a slower slot, to stay inside Google's shared daily API quota), so keywords added on Google can take several days to appear. A customer synced for the first time is populated on the next discovery pass rather than waiting for its weekly slot, and connecting an account or triggering a manual sync refreshes it immediately. Campaign-level negative keywords are not included; only ad-group-level criteria are.