---
title: "Reclaim actual stored bytes of an explicitly retired file [write]"
method: POST
path: "/artifacts/{id}/reclamation"
tags: ["artifacts"]
---

# Reclaim actual stored bytes of an explicitly retired file \[write\]

`POST /artifacts/{id}/reclamation`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/artifacts/{id}/reclamation`
- Auth: HTTP bearer

Retire first through the owner policy. Resume one exact UUID: close pending operations, delete and verify actual canonical generations, then close original source admissions. Failed/unknown deletion keeps capacity charged. Retired identity and request tombstones remain; no resurrection.

## Path parameters

- `id` string, required

## Request body

- object
  - `request_id` string, uuid, required

## Response `200`

Exact lifecycle receipt; private, no-store

- ArtifactReclamation
  - `purpose` 'consumer_artifact_reclamation', required
  - `target_id` string, required
  - `request_id` string, uuid, required
  - `owner_user_id` string, required
  - `actor_user_id` string, required
  - `phase` 'pending' | 'reclaimed', required
  - `revision_ids` string[], required
  - `pending_requests_closed` boolean, required
  - `bytes_reclaimed_revision_ids` string[], required
  - `source_closed_revision_ids` string[], required
  - `complete` boolean, required

## Other responses

- `default`: Error { error: { code, message } }; changed facts are 409, unavailable recovery retains fences and capacity

## Changes

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

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/artifacts/:id/reclamation/post.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/8280a065ef6a?raw)
