# ads_query_ad_association (https://sellersheetai.com/docs/mcp-api/tools/ads_query_ad_association)

> Query (read) ad<->ad-group associations via the unified Amazon Ads API v1 — an AMAZON_DSP resource (creative rotation across ad groups); sponsored-ads products embed the product li

Access: **READ** · toolset amazon_ads · family ads.v1

nk in the ad itself (see ads_query_ad). Amazon Ads API · QueryAdAssociation · POST /adsApi/v1/query/adAssociations Docs: https://advertising.amazon.com/API/docs/en-us/api-spec-v1-adassociations#tag/AdAssociations/operation/QueryAdAssociation

## Call it

MCP tool call:

```json
{
  "name": "ads_query_ad_association",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "<countryCode>"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_query_ad_association \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"<countryCode>"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `countryCode` | string | yes | the Ads profile's 2-letter country code (e.g. 'US'). |
| `body` | object |  | filter dict (no adProductFilter on this entity). |

## Result

- Amazon's payload in data.result.
- `data.result` — the matching ad associations — the server follows nextToken for up to 5 pages; maxResults caps the total.
- `data.nextToken` — set when more remain — call again with the SAME filters plus this nextToken (a token-only body 400s).

## Gotchas

- DSP-only: on a sponsored-ads profile the call fails with Amazon's 401 "not authorized to access account", returned as a 400 — only call this entity for DSP work.