---
title: "Get workspaces workspaceID changesets changesetID"
method: GET
path: "/v1/workspaces/{workspaceID}/changesets/{changesetID}"
---

# Get workspaces workspaceID changesets changesetID

`GET /v1/workspaces/{workspaceID}/changesets/{changesetID}`

## Request

- Base URL: `https://api.plori.ai`
- URL: `https://api.plori.ai/v1/workspaces/{workspaceID}/changesets/{changesetID}`
- Auth: HTTP bearer

Candidate Workspace API. Access depends on the owner cohort and, for Files routes, the Files gate. Check operation state and retained data before assuming a write is durable.

## Path parameters

- `workspaceID` string, uuid, required
- `changesetID` string, uuid, required

## Response `200`

Request accepted or completed.

- WorkspaceChangeset
  - `id` string, uuid, required
  - `workspace_id` string, uuid, required
  - `state` string, required
  - `phase` string, required
  - `source_working_copy_id` string, uuid, required
  - `base_revision` string, uuid, required
  - `incoming_revision` string, uuid, required
  - `requested_expected_revision` string, uuid, required
  - `comparison_current_revision` string, uuid
  - `result_revision` string, uuid
  - `integration_working_copy_id` string, uuid
  - `validation_evidence` string[]
  - `comparison` WorkspaceChangesetComparison
    - `changeset_id` string, uuid, required
    - `integration_copy_id` string, uuid, required
    - `changes` object[], required
      - `path` string, required
      - `kind` string, required
      - `from` string
    - `conflicts` object[], required
      - `path` string, required
      - `kind` string, required
      - `base` WorkspaceChangesetVariant, required
        - `revision_id` string, uuid, required
        - `path` string, required
        - `kind` string, required
        - `mode` integer, required
        - `sha256` string
      - `current` WorkspaceChangesetVariant, required
        - `revision_id` string, uuid, required
        - `path` string, required
        - `kind` string, required
        - `mode` integer, required
        - `sha256` string
      - `incoming` WorkspaceChangesetVariant, required
        - `revision_id` string, uuid, required
        - `path` string, required
        - `kind` string, required
        - `mode` integer, required
        - `sha256` string
    - `integration_tree_sha256` string, required
    - `no_change` boolean, required
  - `integration_write_generation` integer, required
  - `root_write_generation` integer, required
  - `resolution` WorkspaceChangesetResolveRecord
    - `expected_write_generation` integer, required
    - `resolutions` WorkspaceChangesetResolution[], required
      - union: Exactly one outcome: a positive expected_etag with deleted false, or deleted true with expected_etag absent or zero.
        - object
          - `path` string, required
          - `expected_etag` integer, required
          - `deleted` false
          - `summary` string, required
          - `retained_variants` string[]
        - object
          - `path` string, required
          - `expected_etag` union
            - integer
            - string
          - `deleted` true, required
          - `summary` string, required
          - `retained_variants` string[]
    - `validation_evidence` string[], required
  - `incoming_save_operation_id` string, uuid: Save operation for the selected proposal.
  - `auto_accept` 'pending' | 'accepted' | 'abandoned': Present only for a changeset whose comparison with the Workspace was clean and changed files. pending: Plori may still accept it. accepted: Plori accepted it. abandoned: Plori stopped and will not accept it.

## Other responses

- `400`: Malformed request.
- `401`: Missing or invalid credential.
- `404`: No such resource.
- `409`: A deleting Workspace returns code workspace_deleting.

---

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