---
title: "GET /irl/attestation"
method: GET
path: "/irl/attestation"
tags: ["Verification"]
---

# GET /irl/attestation

`GET /irl/attestation`

## Request

- Base URL: `https://irl.macropulse.live` (the document declares no server; this is the origin it was published from)
- URL: `https://irl.macropulse.live/irl/attestation`
- Auth: HTTP bearer

## Query parameters

- `from` string, required
- `to` string, required
- `agent_id` string, uuid, nullable

## Response `200`

Self-contained proof bundle: every trace in the period plus every overlapping Merkle anchor with its full ordered leaf list and OpenTimestamps receipt (base64). Verify fully offline with the `irl-verify` CLI — no network, no database, no trust in the IRL operator.

## Other responses

- `400`: Invalid range, or bundle would exceed the trace cap

---

[API](https://skmtc.dev/macropulse/apis/irl-engine.md) · [All operations](https://skmtc.dev/macropulse/apis/irl-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/macropulse/apis/irl-engine/revisions/5226e22ddd17?raw)
