---
title: "List Change Requests"
method: GET
path: "/v2/products/{productId}/change-requests"
tags: ["Change Requests (Approval flow & Scheduled changes)"]
---

# List Change Requests

`GET /v2/products/{productId}/change-requests`

## Request

- Base URL: `https://api.configcat.com`
- URL: `https://api.configcat.com/v2/products/{productId}/change-requests`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/configcat/apis/configcat-public-management-api/docs/v2/products/:productId/change-requests/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns Change Requests of a Product with optional filtering and pagination.

## Path parameters

- `productId` string, uuid, required

## Query parameters

- `configId` string, uuid
- `environmentId` string, uuid
- `settingId` integer
- `changeRequestStatusFilter` ChangeRequestStatus[]
- `scheduleFilter` 'nonScheduled' | 'scheduled': Filters Change Requests by whether they are scheduled.
- `approveRequiredFilter` 'approveNotRequired' | 'approveRequired': Filters Change Requests by whether approval is required.
- `needsAttentionFilter` 'notNeedsAttention' | 'needsAttention': Filters Change Requests by whether they need attention.
- `pageNumber` integer
- `pageSize` integer

## Response `200`

- ChangeRequestsModel: Wrapper model for a paginated list of Change Requests.
  - `changeRequests` ChangeRequestSummaryModelPagedList, required
    - `paging` PagingResponseInfo, required
      - `currentPage` integer, required
      - `totalPages` integer, required
      - `pageSize` integer, required
      - `totalCount` integer, required
      - `hasPrevious` boolean, required
      - `hasNext` boolean, required
    - `data` ChangeRequestSummaryModel[], nullable, required
      - `changeRequestId` integer, required: Identifier of the Change Request.
      - `changeRequestStatus` 'open' | 'applied' | 'closed', required: The lifecycle status of a Change Request.
      - `needsAttention` boolean, required: Indicates whether the Change Request needs attention.
      - `title` string, required: Title of the Change Request.
      - `reason` string, nullable, required: Optional notes describing the purpose of the Change Request.
      - `applyAt` string, date-time, nullable, required: Optional UTC date and time when the Change Request should be applied automatically.
      - `createdAt` string, date-time, required: The UTC date and time when the Change Request was created.
      - `creatorUserEmail` string, required: Email of the user who created the Change Request.
      - `creatorUserFullName` string, required: Full name of the user who created the Change Request.
      - `creatorUserId` string, nullable, required: Identifier of the creator user.
      - `affectedSettingKeys` string[], required: List of the keys of Settings affected by this Change Request.
      - `commentCount` integer, required: Number of comments on the Change Request.
      - `approved` boolean, required: Indicates whether the Change Request has been approved.
      - `conflictCount` integer, required: Number of conflicting settings in the Change Request.
      - `bypassApproval` boolean, required: Indicates whether approval flow is bypassed.
      - `appliedAt` string, date-time, nullable, required: Optional UTC date and time when the Change Request was applied.
      - `appliedByUserId` string, nullable, required: Identifier of the user who applied the Change Request.
      - `appliedByUserEmail` string, nullable, required: Email of the user who applied the Change Request.
      - `appliedByUserFullName` string, nullable, required: Full name of the user who applied the Change Request.
      - `closedAt` string, date-time, nullable, required: Optional UTC date and time when the Change Request was closed.
      - `closedByUserId` string, nullable, required: Identifier of the user who closed the Change Request.
      - `closedByUserEmail` string, nullable, required: Email of the user who closed the Change Request.
      - `closedByUserFullName` string, nullable, required: Full name of the user who closed the Change Request.
      - `sendNotificationsToApprovers` boolean, required: When true, email notifications are sent to team members with approval permission about this Change Request.

## Other responses

- `400`: Bad request.
- `404`: Not found.
- `429`: Too many requests. In case of the request rate exceeds the rate limits.

## Changes

- **2026-09-26** `f8bf7e9bb70c`: 1 info
  - added the required property `changeRequests/data/items/sendNotificationsToApprovers` to the response with the `200` status
- **2026-08-27** `2cf28a2117da`: 2 info
  - api tag `Change Requests (Approval flow & Scheduled changes)` added
  - api tag `Change Requests (Approval flow & Scheduled changes) - Beta` removed
- **2026-08-04** `6b4d53bc1455`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/configcat/apis/configcat-public-management-api/changes/v2/products/:productId/change-requests/get.md)

---

[API](https://skmtc.dev/configcat/apis/configcat-public-management-api.md) - [All operations](https://skmtc.dev/configcat/apis/configcat-public-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/configcat/apis/configcat-public-management-api/revisions/0f143561d265?raw)
