---
title: "List audits"
method: GET
path: "/audits"
tags: ["Audits"]
---

# List audits

`GET /audits`

## Request

- Base URL: `https://api.pipelinecrm.com/api/v3`
- URL: `https://api.pipelinecrm.com/api/v3/audits`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer and API key in header `app-key`
  - API key in query parameter `api_key` and API key in query parameter `app_key`

The change history of records visible to you.

**Filtered request example** — Every change to one deal in the last 30 days, newest first:

```
curl -g -H "Authorization: Bearer pcrm_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  "https://api.pipelinecrm.com/api/v3/audits.json?conditions[auditable_type]=Deal&conditions[auditable_id]=4521&conditions[audit_added][selection]=last_30&sort=-created_at&per_page=100"
```

## Query parameters

- `conditions` AuditConditions
  - `audit_type` string: Change type, e.g. `create`, `update`, `destroy`. `__NONE__` matches audits with no type.
  - `auditable_type` string: Record type, e.g. `Deal`, `Person`, `Company`
  - `auditable_id` union: One id, several ids as repeated `[]=` parameters, or a comma-separated list.
    - integer
    - string
    - integer[]
  - `user_id` union: One id, several ids as repeated `[]=` parameters, or a comma-separated list.
    - integer
    - string
    - integer[]
  - `audit_added` union: A date or datetime filter. Send ONE of the forms below (see the Filtering guide): a single day `2026-01-15`; a bounded range `[from_date]=2026-01-01&[to_date]=2026-03-31` (either side optional); a relative period `[selection]=last_30` or `[selection]=this_quarter`; or a relative count `[selection]=last_x_days&[duration]=14`.
    - string: A single day (`YYYY-MM-DD`) or a relative period keyword such as `today`, `yesterday`, `this_week`, `last_week`, `next_week`, `this_month`, `last_month`, `next_month`, `this_quarter`, `last_quarter`, `next_quarter`, `this_year`, `last_year`, `year_to_date`, `last_7`, `last_30`, `last_60`, `last_90`, `next_7`, `next_30`, `next_60`, `next_90`, `last_3_months`, `next_3_months`, `last_6_months`, `next_6_months`, `last_12_months`, `next_12_months`, `past_due`, `future`.
    - object: An explicit range. Either bound may be omitted.
      - `from_date` string, date
      - `to_date` string, date
    - object: A relative period counted in whole units.
      - `selection` 'last_x_days' | 'next_x_days' | 'last_x_weeks' | 'next_x_weeks' | 'last_x_months' | 'next_x_months' | 'last_x_quarters' | 'next_x_quarters' | 'last_x_years' | 'next_x_years' | 'older_than', required
      - `duration` integer, required
  - `model_column` string: Field name that changed
  - `model_value_before` string
  - `model_value_after` string
- `sort` string
- `page` integer
- `per_page` integer

## Response `200`

Successful Response

- object
  - `entries` AuditAll[], required
    - `id` integer
    - `created_at` string
    - `auditable_type` string: Type of the changed record
    - `auditable_id` integer: Id of the changed record
    - `user_id` integer, nullable: Who made the change; null for system changes
    - `audit_type` string, nullable
    - `model_column` string, nullable: The field that changed, when the audit is a field change
    - `model_value_before` string, nullable
    - `model_value_after` string, nullable
    - `name` string, nullable: Display name of the changed record at the time
  - `pagination` Pagination, required: Paging details returned alongside `entries` on every paginated list.
    - `page` integer: The page returned. Request another with `?page=N`.
    - `per_page` integer: Page size. `?per_page=N`, capped at 200.
    - `total` integer: Total number of records matching the request across all pages.
    - `pages` integer: Number of pages at this `per_page`.
    - `total_in_account` integer, nullable: Total number of records of this type visible to you before filters were applied. Null when not computed for the endpoint.
    - `page_var` string: Name of the query parameter that selects the page. Always `page`.
    - `url` string, nullable: Path of the request, when the endpoint reports it.

## Other responses

- `422`: The request was understood but a value is missing, invalid or too long.

---

[API](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api.md) · [All operations](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pipelinecrm/apis/pipeline-crm-api/revisions/53ebfcc83597?raw)
