---
title: "List change requests"
method: GET
path: "/api/projects/{projectId}/change-requests"
tags: ["Change requests"]
---

# List change requests

`GET /api/projects/{projectId}/change-requests`

Retrieve a paginated list of change requests for a project. Supports filtering by document, release, type, and status.

## Path parameters

- `projectId` string, uuid, required

## Query parameters

- `page` number
- `perPage` number
- `documentId` string, uuid, nullable
- `releaseId` string, uuid, nullable
- `type` union
  - string[]
  - 'decisions' | 'deployments' | 'publish_document' | 'unpublish_document' | 'deploy_environment' | 'undeploy_environment'
- `status` 'pending' | 'closed' | 'null', nullable

## Response `200`

Paginated list of change requests

- object — Paginated list of change requests
  - `results` object[], required — List of change requests
    - `id` string, uuid, required — Change request unique identifier
    - `type` 'publish_document' | 'unpublish_document' | 'deploy_environment' | 'undeploy_environment' | 'merge_branch', required — Type of change request
    - `status` 'pending' | 'rejected' | 'cancelled' | 'completed', required — Current status of the change request
    - `description` string, nullable — Change request description
    - `projectId` string, uuid, required — Project unique identifier
    - `document` object, nullable — Document information
      - `id` string, uuid, required — Document unique identifier
      - `name` string, required — Document name
      - `key` string, nullable — Document key
    - `documentId` string, uuid, nullable — Document unique identifier
    - `environment` object, nullable — Environment information
      - `id` string, uuid, required — Environment unique identifier
      - `name` string, required — Environment name
    - `environmentId` string, uuid, nullable — Environment unique identifier
    - `release` object, nullable — Release information
      - `id` string, uuid, required — Release unique identifier
      - `name` string, required — Release name
      - `version` string, nullable — Release version
    - `releaseId` string, uuid, nullable — Release unique identifier
    - `branch` object, nullable — Branch information
      - `id` string, uuid, required — Branch unique identifier
      - `name` string, required — Branch name
    - `branchId` string, uuid, nullable — Branch unique identifier
    - `commit` object, nullable — Commit information
      - `id` string, uuid, required — Commit unique identifier
      - `message` string, nullable — Commit message
    - `createdAt` string, required — Change request creation timestamp
    - `createdBy` object, nullable — User information
      - `id` string, uuid, required — User unique identifier
      - `email` string, email, required — User email address
      - `firstName` string, nullable, required — User first name
      - `lastName` string, nullable, required — User last name
    - `updatedAt` string, required — Change request last update timestamp
  - `paginate` object, required — Pagination metadata
    - `current` number, required — Current page number
    - `from` number, required — Starting record number
    - `to` number, required — Ending record number
    - `total` number, required — Total number of records
    - `pageSize` number, required — Number of records per page

---

[API](https://skmtc.net/gorules/apis/gorules-agent-api.md) · [All operations](https://skmtc.net/gorules/apis/gorules-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gorules/gorules-agent-api/versions/52c0773fcd80/schema)
