---
title: "Get a change request"
method: GET
path: "/api/projects/{projectId}/change-requests/{changeRequestId}"
tags: ["Change requests"]
---

# Get a change request

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

Retrieve a single change request by ID, including activities, snapshot, and related entities.

## Path parameters

- `projectId` string, uuid, required
- `changeRequestId` string, uuid, required

## Response `200`

Change request with full details

- object — Change request with full details
  - `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
  - `activities` object[] — List of activities
    - `id` string, uuid, required — Activity unique identifier
    - `type` 'create' | 'comment' | 'approve' | 'unapprove' | 'reject' | 'cancel' | 'complete', required — Activity type
    - `comment` string, nullable — Activity comment
    - `createdAt` string, required — Activity 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 — Activity last update timestamp
  - `snapshot` object — Change request snapshot containing approval state
    - `approvalMode` string, nullable — Approval mode
    - `approvalGroups` object[] — List of approval groups
      - `id` string, uuid, required — Approval group unique identifier
      - `name` string, required — Approval group name
      - `description` string, nullable — Approval group description
      - `status` 'pending' | 'approved', required — Approval group status
      - `approvals` unknown[], required — List of approvals for this group
        - unknown
    - `approvals` unknown[] — List of approvals
      - unknown
    - `canComplete` boolean — Whether the change request can be completed
  - `documentVersion` unknown
  - `previousDocumentVersion` unknown
  - `previousRelease` object, nullable — Release information
    - `id` string, uuid, required — Release unique identifier
    - `name` string, required — Release name
    - `version` string, nullable — Release version
  - `previousReleaseId` string, uuid, nullable — Previous release unique identifier

---

[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)
