---
title: "Get all data changes (PostgreSQL)"
method: GET
path: "/v5/changes"
tags: ["Workflows"]
---

# Get all data changes (PostgreSQL)

`GET /v5/changes`

## Request

- Base URL: `https://api.kadoa.com`
- URL: `https://api.kadoa.com/v5/changes`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Query parameters

- `workflowIds` string
- `startDate` string, date-time
- `endDate` string, date-time
- `skip` integer
- `limit` integer

## Headers

- `x-api-key` string
- `Authorization` string

## Response `200`

Workflow changes returned successfully

- object
  - `timestamp` string, date-time: Timestamp of the response
  - `changesCount` integer: Total number of changes found
  - `changes` object[]
    - `id` string: Unique identifier of the change
    - `workflowId` string: ID of the workflow this change belongs to
    - `data` object[], nullable: Current state of the data after the change
    - `dataPending` boolean: True when durable change data is still being stored; change events are emitted first so users see changes as fast as possible.
    - `differences` object[]: Structured representation of changes with object-based diffing. List responses omit visualDiff metadata.
      - `type` 'added' | 'removed' | 'changed': Type of change (added, removed, or changed)
      - `fields` object[]: List of field changes
        - `key` string: Field name
        - `value` string: Current field value
        - `previousValue` string: Previous field value (only present for changed type)
    - `url` string: URL where the change was detected
    - `summary` string, nullable: AI-generated one-sentence summary of the data change. Null if generation failed, feature is disabled, or change predates the feature.
    - `screenshotUrl` string: URL of the screenshot taken when the change was detected
    - `createdAt` string, date-time: Timestamp when the change was created
  - `pagination` object
    - `totalCount` integer: Total number of changes found
    - `page` integer: Current page number
    - `totalPages` integer: Total number of pages
    - `limit` integer: Number of records per page

## Other responses

- `400`: Bad request (invalid date range or workflow IDs)
- `401`: Unauthorized (invalid or missing API key or Bearer token)
- `500`: Internal server error

---

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