> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://usehelloai.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://usehelloai.ferndocs.com/_mcp/server.

# Receipts & Compliance

Every ingested event produces an Agent Work Receipt — a tamper-evident record of what the AI agent did, when, and what the compliance verdict was.

## List receipts

#### Python

```python
for receipt in client.receipts.list():
    print(receipt.receipt_id, receipt.compliance.verdict)
```

#### TypeScript

```typescript
const page = await client.receipts.list();
for await (const receipt of page) {
  console.log(receipt.receipt_id, receipt.compliance?.verdict);
}
```

## Get a single receipt

```python
receipt = client.receipts.get(receipt_id="rcpt_01HXYZ")
```

## Policy decisions

Each receipt carries one or more policy decisions from your active rule packs:

```python
decisions = client.receipts.list_policy_decisions(receipt_id="rcpt_01HXYZ")
for decision in decisions:
    print(decision.rule_pack_id, decision.verdict)
```

## Audit bundles

Generate a signed, exportable bundle for a regulator or payer:

```python
bundle = client.audit.create_bundle(
    receipt_ids=["rcpt_01", "rcpt_02"],
    format="json",
    scope="full",
)
print(bundle.bundle_id, bundle.status)
```

Retrieve the bundle when ready:

```python
bundle = client.audit.get_bundle(bundle_id=bundle.bundle_id)
```