---
title: "Read one ChatGPT Ads pixel and its conversion events"
method: POST
path: "/api/v1/tools/chatgpt_get_pixel_settings/execute"
tags: ["ChatGPT Ads"]
---

# Read one ChatGPT Ads pixel and its conversion events

`POST /api/v1/tools/chatgpt_get_pixel_settings/execute`

## Request

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

Reads one pixel in detail: when it last received an event, whether a Conversions API key exists, and the conversion event settings on it — the ids a conversions campaign optimises towards.
Use when: the user is about to launch or move a campaign to the conversions objective, or asks which events are being measured. Pass the id from chatgpt_list_pixels; with exactly one pixel on the account you can omit it.
Do not use it to judge results — how many conversions were recorded is chatgpt_get_performance. Do not ask the user for their Conversions API key and never put one in a tool argument: this tool reports only whether a key exists.
Returns the event settings with their ids, so a conversion_event_setting_id for chatgpt_launch_ad never has to be guessed. An event marked not eligible for optimisation cannot be used as a campaign's objective even though it is listed.
If the account is not enabled for this part of the API the tool says so plainly; that answer is final, so relay it instead of retrying.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object
    - `ad_account_id` string: ChatGPT Ads advertiser account id. One advertiser key belongs to one account, so this is only needed when the user has connected more than one key. Omit it to use the primary account.
    - `pixel_id` string: The pixel to read, from chatgpt_list_pixels. Omit it when the account has exactly one pixel.
    - `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)
