---
title: "Read the exact accepted workspace deletion proof [write, owner]"
method: GET
path: "/universes/{slug}/deletion/requests/{requestId}"
tags: ["universes"]
---

# Read the exact accepted workspace deletion proof \[write, owner\]

`GET /universes/{slug}/deletion/requests/{requestId}`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/universes/{slug}/deletion/requests/{requestId}`
- Auth: HTTP bearer

Internal callback of the existing workspace deletion coordinator, not another delete action. Requires the actual current workspace owner with unrestricted personal write authority or the exact first-party agent-use-web credential, and the immutable accepted request UUID/actor/workspace incarnation. A key fixed to a workspace, team/app/task/restricted credential or foreign owner is refused. The dedicated fixed-origin workspace transport may carry only the runtime session-token cookie and reauthenticates the actual owner; bearer presence never falls back to cookies. Read-only pages expose the measured sessions and canonical artifact/reclamation facts needed by source begin/finish, not a content or editing grant. Existing exact requests remain readable/recoverable with LEGACY_ARTIFACT_ADOPTION off. A missing, superseded or purged intent does not create or revive one. after_revision requires target_id, which must belong to this deletion's measured scope. Every cursor is an exact internal id, at most 200 characters.

## Path parameters

- `slug` string, required
- `requestId` string, uuid, required

## Query parameters

- `after_session` string
- `after_artifact` string
- `target_id` string
- `after_revision` string

## Response `200`

Exact accepted deletion proof; private, no-store

- object
  - `purpose` 'workspace_delete', required
  - `version` unknown, required
  - `request_id` string, uuid, required
  - `actor_user_id` string, required
  - `universe_id` string, required
  - `universe_slug` string, required
  - `universe_created_at` string, date-time, required
  - `phase` 'preparing' | 'fenced' | 'reclaiming', required
  - `source_fence_digest` string
  - `progress` object
    - `source_finished_digest` string, required
  - `credential_kind` 'personal' | 'consumer', required
  - `consumer_client_id` 'agent-use-web' | 'null', nullable, required
  - `session_ids` string[], required: At most 50 measured sessions, with their internal and public ids
  - `next_session` string, nullable, required
  - `canonical_targets` object[], required
    - `target_id` string, required
    - `source_id` string, required
    - `source_epoch` integer, required
    - `owner_user_id` string, required
    - `adoption_state` string, required
    - `bytes_reclaimed` boolean, required
    - `reclamation_request_id` string, uuid
  - `next_artifact` string, nullable, required
  - `reclamation` object
    - `target_id` string, required
    - `request_id` string, uuid, required
    - `source_id` string, required
    - `source_epoch` integer, required
    - `bytes_complete` boolean, required
    - `next` string, nullable, required
    - `entries` object[], required
      - `request_id` string, uuid, required
      - `source_epoch` integer, required
      - `raw_sha256` string, required
      - `raw_size_bytes` integer, required
      - `media_type` string, required
      - `site` boolean, required
      - `version` integer, nullable, required
      - `canonical_revision_id` string, required
      - `generations_reclaimed` boolean, required

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/universes/:slug/deletion/requests/:requestId/get.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
