---
title: ChangeDetails
framework: Apple Ads Platform API
role: symbol
role_heading: Object
platforms: [apple ads platform api 1.0+]
path: apple-ads-platform-api/changedetails
---

# ChangeDetails

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

## Declaration

```data
object ChangeDetails
```

## Properties

transactionId: The unique identifier for the transaction that produced this change record. detailId: A unique identifier for this specific entity change within the transaction. eventType: The type of change operation performed. See AuditEventType. entityType: The API entity type that changed, matching the name of the API entity in the Apple Ads Platform API (for example, Campaign, AdGroup, Keyword). Not a closed enum. See Change History Endpoints for the entity types this endpoint reports on. entityId: The platform ID of the entity that changed (for example, a campaign ID or ad group ID). eventTime: The UTC timestamp of when the change occurred, in ISO 8601 format. userType: The category of actor that performed the change. See AuditUserType for possible values. Read-only. modifiedBy: The identifier of the user or service that performed the change. We don’t expose user email, only modifiedBy. Read-only. entityMetaData: A key-value map of entity metadata captured at the time of the change (for example, entity name, parent IDs). See ChangeDetails.EntityMetaData. Keys and values are strings and vary by entity type. Read-only. details: An array of ActivityDetail objects. Each entry contains a changes array of field change objects, where every entry captures one field that changed in the transaction. Read-only.

## Overview

Overview Each ChangeDetails record represents one entity’s complete change history for a single transaction. The details array contains ActivityDetail objects, each of which holds a changes array of field change objects capturing the field name, oldValues, and newValues. Example {   "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 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:  |  |   |  |   |  |   |  |

## Topics

### Dictionaries

- [ChangeDetails.EntityMetaData](apple-ads-platform-api/changedetails/entitymetadata-data.dictionary.md)

## See Also

- [ActivityDetail](apple-ads-platform-api/activitydetail.md)
- [AuditSummary](apple-ads-platform-api/auditsummary.md)
- [AuditSummaryResponse](apple-ads-platform-api/auditsummaryresponse.md)
- [BaseAuditResponse](apple-ads-platform-api/baseauditresponse.md)
- [ChangeDetailsResponse](apple-ads-platform-api/changedetailsresponse.md)
- [ErrorMessage](apple-ads-platform-api/errormessage.md)
