---
title: "Read one head's exact stored bytes"
method: GET
path: "/vaults/v1/{vault_id}/heads/{generation}"
tags: ["vault"]
---

# Read one head's exact stored bytes

`GET /vaults/v1/{vault_id}/heads/{generation}`

## Request

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

Serves the head object byte-identical so the client can verify its signature and linkage itself. `X-Run402-Stored-Bytes-Sha256` carries the digest of what was served. Immutable — safe to cache privately forever.

## Path parameters

- `vault_id` string, required
- `generation` string, required

## Headers

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

## Response `200`

The exact stored head bytes

- object

## Other responses

- `400`: VALIDATION_FAILED — `generation` must be 16 lowercase hex (checked before the head is looked up)
- `403`: Not authorized (VAULT_ACCESS_DENIED)
- `404`: No head at this generation

---

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