---
title: "Read a prune intent (owner)"
method: GET
path: "/vaults/v1/{vault_id}/prune-intents/{prune_intent_object_id}"
tags: ["vault"]
---

# Read a prune intent (owner)

`GET /vaults/v1/{vault_id}/prune-intents/{prune_intent_object_id}`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/vaults/v1/{vault_id}/prune-intents/{prune_intent_object_id}`
- Auth: one of:
  - API key in header `SIGN-IN-WITH-X`
  - HTTP bearer

Intent state and, once the worker lands it, the signed completion's per-object outcomes in exact candidate order. A malformed id and an absent one return the IDENTICAL refusal — the read is never an existence oracle.

## Path parameters

- `vault_id` string, required
- `prune_intent_object_id` string, required

## Headers

- `SIGN-IN-WITH-X` string, required

## Response `200`

The intent's public view

- object
  - `object_id` string
  - `repo_id` string
  - `state` string
  - `gc_epoch` string
  - `candidate_count` integer
  - `next_candidate_index` integer
  - `maintenance_cycle_id` string, nullable
  - `completion` object, nullable: Present once the signed prune_completion lands: per-object outcomes, counts, and the gc_epoch checked at completion.

## Other responses

- `403`: VAULT_ACCESS_DENIED
- `404`: RESOURCE_NOT_FOUND — identical for a malformed and an absent id

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
