---
title: "Open the repair resource lane (owner + step-up)"
method: POST
path: "/vaults/v1/{vault_id}/repair-attempts"
tags: ["vault"]
---

# Open the repair resource lane (owner + step-up)

`POST /vaults/v1/{vault_id}/repair-attempts`

## Request

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

Owner + step-up (`gitvault.repair`). Opens a BOUNDED reservation covering everything a repair needs — session issuance, finalized-object count, and temporary storage — so cap exhaustion by a copied writer key can never starve the owner's repair. One pending attempt per vault; the lane carries its own tighter per-day limit and its own audit trail. A grant-key context can never bind a session to a repair attempt.

## Path parameters

- `vault_id` string, required

## Headers

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

## Request body

- object
  - `reserved_sessions` integer, required
  - `reserved_objects` integer, required
  - `reserved_storage_size_bytes` integer, required
  - `preempted_maintenance_cycle_id` string, nullable

## Response `201`

Repair lane opened

- object
  - `repair_attempt_id` string
  - `repo_id` string
  - `outcome` 'pending' | 'canonized' | 'lost' | 'reaped'
  - `preempted_maintenance_cycle_id` string, nullable
  - `reserved_sessions` integer
  - `reserved_objects` integer
  - `reserved_storage_size_bytes` string: Decimal byte count as a string (values exceed 2^53).
  - `used_sessions` integer
  - `used_objects` integer
  - `used_storage_size_bytes` string: Decimal byte count as a string (values exceed 2^53).
  - `admission_id` string, nullable
  - `created_at` string, date-time, nullable
  - `resolved_at` string, date-time, nullable

## Other responses

- `400`: VALIDATION_FAILED
- `403`: VAULT_ACCESS_DENIED / STEP_UP_REQUIRED
- `409`: REPAIR_FENCE_PENDING — an attempt is already pending on this vault
- `429`: RATE_LIMITED — the lane's per-day attempt limit

---

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