---
title: "Audit Log"
permalink: "/docs/api-v2/audit-log"
original_source: "openapi-spec/api-v2.yaml"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

# Audit Log

## Audit Log

Operations about audit logs.

### List audit logs

`GET /projects/{project_id}/audit_logs`

Operation ID: `list-audit-logs`

This endpoint requires the following permission(s): <code>project_configuration:audit_logs:read</code>. This endpoint belongs to the <strong>Project Configuration</strong> domain, which has a default rate limit of <strong>60 requests per minute</strong>.

**Parameters**

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `project_id` | path | yes | ID of the project |
| `starting_after` | query | no | Cursor for pagination. Returns audit logs after the specified audit log ID, using descending order by audit log ID. |
| `start_date` | query | no | Start date for the data range (ISO 8601 format) |
| `end_date` | query | no | End date for the data range (ISO 8601 format) |
| `limit` | query | no | Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected. |

**Responses**

- `200` — Success
- `400` — Bad request
- `401` — Unauthorized
- `403` — Access denied
- `404` — Not found
- `423` — Locked
- `429` — The request could not be completed because the rate limiting domain for this endpoint is currently at its limit for this project.
- `500` — Internal server error
- `503` — Internal server error

**Response `200` body**

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. Always has the value `list`. One of: `list` |
| `items` | array of AuditLog | yes | Details about each audit log. |
| `next_page` | string | yes | URL to access the next page of the project's audit logs. If not present / null, there is no next page. |
| `url` | string | yes | The URL where this list can be accessed. |

<details><summary><code>items</code></summary>

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | String representing the object's type. Objects of the same type share the same value. One of: `audit_log` |
| `id` | string | yes |  |
| `project_id` | string | yes | ID of the project to which the audit log belongs. |
| `action_type` | string | yes | Action that was performed. |
| `target_type` | string | yes | Type of the target on which the action was performed. |
| `target_identifier` | string | yes | Identifier of the action target. |
| `actor_type` | string | yes | Type of actor that performed the action. One of: `user`, `system`, `api_key`, `oauth_client`, `service_account` |
| `actor_identifier` | string | yes | Identifier of the actor that performed the action. |
| `occurred_at` | integer | yes | Timestamp when the action occurred, in milliseconds since epoch. |
| `additional_data` | object | yes | Additional metadata associated with the audit log. |

</details>
