---
title: "Pause a Meta campaign, ad set or ad"
method: POST
path: "/api/v1/tools/meta_pause_entity/execute"
tags: ["Meta Ads"]
---

# Pause a Meta campaign, ad set or ad

`POST /api/v1/tools/meta_pause_entity/execute`

## Request

- Base URL: `https://adako.ai`
- URL: `https://adako.ai/api/v1/tools/meta_pause_entity/execute`
- Auth: HTTP bearer

Stops delivery on one campaign, ad set or ad by setting its status to PAUSED. Spend stops; nothing is deleted, and the object can be resumed later with meta_resume_entity.
Use when: the user has explicitly asked to stop something, and you have shown them what it is currently spending.
Do not pause an ad set that is still in the learning phase on the strength of a few days of data — say so and let the user decide.
Do not use this as a way to delete: pausing keeps the object, its history and its learning.
Returns the status and effective status read back from Meta, which is how you confirm the pause actually applied — a campaign can report PAUSED while its parent is what really stopped delivery.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object, required
    - `ad_account_id` string: Meta ad account id such as act_1234567890. Omit it to use the primary account; if several accounts are active and none is primary the call fails and lists the valid ids.
    - `entity_type` 'campaign' | 'adset' | 'ad', required: What the id refers to: campaign, adset or ad.
    - `entity_id` string, required: Id of the campaign, ad set or ad.
    - `idempotency_key` string: Optional caller-supplied key; identical keys never execute twice.
    - `raw_data` boolean: Return compact JSON only (no markdown). Use when you will compute on the result.

## Response `200`

The tool ran. A write returns proposal_id and approve_url while the change waits for approval.

- SuccessEnvelope
  - `success` unknown, required
  - `tool` string, required
  - `data` object, required: Machine-readable result.
  - `markdown` string, required: The same result written for a person or a model.
  - `quota` Quota: Task usage for the current billing period.
    - `plan` string
    - `used` integer
    - `limit` integer
    - `period_end` string
    - `upgrade_url` string
  - `proposal_id` string: Present for writes. Nothing changes on the ad platform until it is approved.
  - `approve_url` string: Where a person approves the proposal.
  - `request_id` string, required

## Other responses

- `400`: Invalid arguments, or the ad account could not be resolved.
- `401`: Missing, invalid, revoked or expired API key.
- `402`: Monthly task quota used up, or the plan does not include this tool.
- `403`: The connected ad account lacks the access level this tool needs.
- `404`: Unknown tool name.
- `409`: Not connected, reconnect needed, confirmation required, a proposal already pending or no longer pending, an identical create that failed earlier today (proposal_failed_before), a create that duplicates an approved one (duplicate_create), the ad-account limit of the plan reached (account_limit), or an Idempotency-Key reused with different arguments.
- `429`: Rate limited by Adako or by the ad platform. See Retry-After.
- `500`: Unexpected error inside Adako.
- `502`: The ad platform returned an error.

---

[API](https://skmtc.dev/adako/apis/adako-rest-api.md) · [All operations](https://skmtc.dev/adako/apis/adako-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adako/apis/adako-rest-api/revisions/59ee60d48a56?raw)
