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

# AuditSummary

One row in the query change history response, grouping a single actor’s entity changes in one transaction by entity type and event type.

## Declaration

```data
object AuditSummary
```

## Properties

transactionId: The unique identifier for the transaction. This is one component of the composite detailId (EntityType.entityId.txnId) used by GET /v1/change-history/{detailId} (Get Change History Detail), but transactionId alone is not sufficient to construct it. You also need entityType and entityId, and entityId is not present on this summary object. eventType: The type of change operation performed in this transaction. See AuditEventType for possible values. eventTime: The UTC timestamp of when the change occurred, in ISO 8601 format (for example, "2025-03-15T14:30:00.000Z"). 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. count: The number of entity changes of this entity type, user, and transaction grouping. Use it to gauge how many detail lookups (one per entityId) you need from the detail endpoint. metas: An array of per-entity metadata entries, populated when the request includes metadata options. See AuditSummary.Metas. Empty by default ([]). When you set the metadata option to latest, each entry holds the current entity state from the live data store. When you set it to snapshot, each entry holds the entity state at the time of the event. Each entry has the shape { "<EntityType>": "<entityId>", "detailId": "<EntityType.entityId.txnId>", "meta": { ...entity fields... } }. Use the detailId on each entry directly with GET /v1/change-history/{detailId} (Get Change History Detail). userType: The category of actor that made the change. See AuditUserType for possible values. Possible values: CUSTOMER, CUSTOMER_API, APPLE_SUPPORT. modifiedBy: The identifier of the user or service that performed the change. We don’t expose user email, only modifiedBy.

## Overview

Overview The query endpoint returns one AuditSummary row per unique (userType, modifiedBy, transactionId, eventType, entityType) combination. The count field reports how many entity changes of that type, user, and transaction grouping the row includes. Fetching full field-level data for those changes requires the per-entity detailId, which this summary object does not provide on its own. See the Discussion section below. Example {   "transactionId": "998877665",   "eventType": "UPDATE",   "eventTime": "2025-03-15T14:30:00.000Z",   "entityType": "AdGroup",   "count": 3,   "metas": [],   "userType": "CUSTOMER",   "modifiedBy": "111222333" } Discussion Use `count` to decide fetch strategy Each AuditSummary row reports a count of entity changes for that entity type, user, and transaction grouping. The detail endpoint (GET /v1/change-history/{detailId} (Get Change History Detail)) requires a composite detailId in the form EntityType.entityId.txnId, but AuditSummary doesn’t include entityId directly. That means when you don’t request metadata options, you can’t construct detailId from a row alone. When you set metadata options to latest or snapshot, though, each entry in metas already includes a ready-to-use detailId, so you don’t need a separate lookup.

## Topics

### Dictionaries

- [AuditSummary.Metas](apple-ads-platform-api/auditsummary/metas-data.dictionary.md)

## See Also

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