# openai_ads_submit_bulk_job

> Preview and confirm one limited-preview bulk job with up to 1000 operations.

[Documentation](https://www.getmcpads.com/docs) / [Sources](https://www.getmcpads.com/docs/sources) / [ChatGPT Ads](https://www.getmcpads.com/docs/sources/chatgpt-ads)

Preview and confirm one limited-preview bulk job with up to 1000 operations. Saved approval and stable request/operation keys are required. Defaults to native validation-only; acceptance is not operation completion. Read job status and every outcome, then reconcile native entities. No automatic write retry.

> **Note** Connect with the Ads Management API key from Ads Manager Settings, then select the verified advertising account. Native account permissions and feature eligibility apply.

> **Warning** This tool changes the account. It is absent from the tool list on the Free plan, and it previews by default: without `confirm: true` it describes the change and applies nothing.

|  |  |
| --- | --- |
| Source | [ChatGPT Ads](https://www.getmcpads.com/docs/sources/chatgpt-ads) |
| Kind | Write |
| Discovery | Reachable through `search_tools` and `run_tool` |
| Account parameter | `adAccountId` |
| Endpoint | https://mcp.getmcpads.com/openai-ads/mcp |

## Parameters

| Name | Type | Required | Notes |
| --- | --- | --- | --- |
| `adAccountId` | string | Required | Exact verified and selected ChatGPT Ads account ID; the token is scoped to this account. |
| `body` | object | Required | Documented Bulk API body. Defaults validate_only=true. Bulk inputs differ from single-resource bodies; parents refer to create keys in this job. Creation is always paused. |
| `requestId` | string | Required | Stable UUID for this exact logical change. Reuse to retrieve its receipt; never replace after an uncertain outcome. |
| `confirm` | boolean | Optional | False returns a saved preview. True applies only the exact preview explicitly approved by the person. Default: `false`. |
| `confirmationToken` | string | Optional | Exact saved preview token returned for these arguments, account, actor and workspace. |

## Calling it

Through run_tool, since it is not announced

```json
{
  "name": "run_tool",
  "arguments": {
    "name": "openai_ads_submit_bulk_job",
    "args": {
      "adAccountId": "<string>",
      "body": "<object>",
      "requestId": "<string>"
    }
  }
}
```

- [ChatGPT Ads metrics](https://www.getmcpads.com/docs/sources/chatgpt-ads/metrics): What you can ask for.
- [ChatGPT Ads dimensions](https://www.getmcpads.com/docs/sources/chatgpt-ads/dimensions): How you can break it down.

---

This page as HTML: https://www.getmcpads.com/docs/sources/chatgpt-ads/tools/openai_ads_submit_bulk_job
Every page under /docs is available as Markdown: append `.md`, or send `Accept: text/markdown`.
