<!--
{
  "availability" : [
    "Apple Ads Platform API: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Apple-Ads-Platform-API",
  "identifier" : "/documentation/Apple-Ads-Platform-API/ChangeDetails",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "Apple Ads Platform API"
    ],
    "preciseIdentifier" : "data:apple-ads-platform-api:ChangeDetails"
  },
  "title" : "ChangeDetails"
}
-->

# ChangeDetails

Field-level change record for a single API entity within a transaction.

```
object ChangeDetails
```

## Overview

Each `ChangeDetails` record represents one entity’s complete change history for a single transaction. The `details` array contains [`ActivityDetail`](/documentation/Apple-Ads-Platform-API/ActivityDetail) objects, each of which holds a `changes` array of field change objects capturing the `field` name, `oldValues`, and `newValues`.

### Example

```json
{
  "transactionId": "998877665",
  "detailId": "AdGroup.555666777.998877665",
  "eventType": "UPDATE",
  "entityType": "AdGroup",
  "entityId": "555666777",
  "eventTime": "2025-03-15T14:30:00.000Z",
  "userType": "CUSTOMER",
  "modifiedBy": "111222333",
  "entityMetaData": {
    "name": "AwayFinder iOS - New Users 18-34",
    "campaignId": "444555666"
  },
  "details": [
    {
      "transactionId": "998877665",
      "changes": [
        {
          "field": "status",
          "oldValues": [
            "ENABLED"
          ],
          "newValues": [
            "PAUSED"
          ]
        }
      ]
    }
  ]
}
```

## Discussion

### Relationship to AuditSummary

The `ChangeDetails` object is the field-level expansion of an [`AuditSummary`](/documentation/Apple-Ads-Platform-API/AuditSummary) row. The `count` field on a summary row tells you how many field change entries to expect across all `ActivityDetail` objects in `details`.

### `entityMetaData` vs `metas`

The `ChangeDetails` always populates `entityMetaData` (when metadata is available) regardless of the request’s `options.metadata` setting. It represents a point-in-time snapshot of key entity attributes captured at change time. This differs from the `metas` field on `AuditSummary`, which the request’s `options.metadata` query option controls.

### Understand `oldValues` and `newValues`

Both fields are string arrays. For scalar fields, each array contains a single element. For array-valued fields, each array represents the full set of values before and after the change. Interpretation by event type:

|`eventType`|`oldValues`        |`newValues`                                                                                                                        |
|-----------|-------------------|-----------------------------------------------------------------------------------------------------------------------------------|
|`CREATE`   |Empty `[]`         |Values at creation                                                                                                                 |
|`UPDATE`   |Previous value(s)  |Updated value(s)                                                                                                                   |
|`DELETE`   |Last known value(s)|Typically empty `[]`, but may contain system-managed values (for example, deletion flag, status, transaction ID) set at delete time|

## Topics

### Dictionaries

[`object ChangeDetails.EntityMetaData`](/documentation/Apple-Ads-Platform-API/ChangeDetails/EntityMetaData-data.dictionary)

A key-value map of entity metadata captured at the time of the change, such as entity name and parent IDs.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)