---
title: "Ad account change / audit log"
method: GET
path: "/v1/ads/activity"
tags: ["Ad Accounts"]
---

# Ad account change / audit log

`GET /v1/ads/activity`

Account-level audit log from Meta's `/act_X/activities`: who changed what and when
(creates, edits, status flips, budget changes...) with Meta's translated event names and
the structured before/after in `extra_data`. Rows are returned verbatim. Meta has no
server-side per-object filter on this edge, so `objectId` filters the returned page
client-side (combine with paging to walk history for one campaign/ad set/ad).

## Query parameters

- `accountId` string, required
- `adAccountId` string, required
- `since` string, date
- `until` string, date
- `objectId` string
- `limit` integer
- `after` string

## Response `200`

Activity rows (raw Meta shape)

- object
  - `adAccountId` string
  - `data` object[]
  - `paging` object
    - `after` string, nullable — Cursor for the next page; null when exhausted.

## Other responses

- `400` — Invalid input, or Meta rejected the query
- `401` — Unauthorized
- `404` — The account or requested resource was not found or is not accessible. An account ID may have been disconnected and removed. Read GET /v1/accounts for current account IDs.
- `409` — The account exists but is inactive or needs reconnection. Reconnect it, then read GET /v1/accounts for its current account ID before retrying. Code: ads_connection_required.
- `501` — Only supported on Meta (facebook/instagram)

## Changes

- **2026-09-16** `3e6ddf2a99ea` — 2 info
  - added the optional property `details/budgetScope` to the response with the `404` status
  - added the optional property `details/budgetScope` to the response with the `409` status
- **2026-09-15** `0dba7d004d75` — 4 info
  - added the optional property `details/quotaExhausted` to the response with the `404` status
  - added the optional property `details/quotaExhausted` to the response with the `409` status
  - added the optional property `details/quotaScope` to the response with the `404` status
  - added the optional property `details/quotaScope` to the response with the `409` status
- **2026-09-10** `e70ed06e7150` — 2 info
  - added the non-success response with the status `404`
  - added the non-success response with the status `409`

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/ads/activity/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/339f59df69dd?raw)
