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

> Get the entity change history — an audit log of edits to campaigns, ad groups, keywords, targets and product ads.

Access: **READ** · toolset amazon_ads · family ads.change-history

Sponsored Products and Sponsored Brands only: Sponsored Display changes are not returned, and no event says who made the change. Amazon Ads API · getHistory · POST /history Docs: https://advertising.amazon.com/API/docs/en-us/change-history#operation/getHistory

## Call it

MCP tool call:

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

Tool API (early access — contact us):

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

## 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 | yes | {fromDate, toDate (millisecond Unix timestamps, 13 digits, within the last 90 days), eventTypes (below), count (page size, 50–200, default 100), pageOffset (0-based page index — the result carries pageOffset, maxPageNumber and totalRecords; there is no nextToken), sort ({key: 'DATE', direction: 'ASC' \| 'DESC'})}. eventTypes is an object keyed by entity type — CAMPAIGN \| AD_GROUP \| AD \| KEYWORD \| NEGATIVE_KEYWORD \| PRODUCT_TARGETING \| NEGATIVE_PRODUCT_TARGETING \| THEME — each value {eventTypeIds: [the ids of the entities to audit — required, an entry without them matches nothing], filters: [change types, e.g. NAME \| STATUS \| BUDGET_AMOUNT \| BID_AMOUNT \| START_DATE \| END_DATE], parents: [parent ids, e.g. the campaignId of an ad group]}. List the ids first (ads_query_campaign, ads_query_ad_group, ads_query_target, ads_query_ad) and pass them. |

## Result

- Amazon's payload in data.result.

## Gotchas

- eventTypes is an object keyed by event type, NOT an array (an array 400s), and every entry needs eventTypeIds: Amazon answers 0 events, not an error, for an entry without them, so the server refuses such a call (400) before Amazon — an empty page is never mistaken for 'no changes'. THEME is sent with Amazon's v1.1 Accept header, which it requires.
- Date range must be within the last 90 days.