# HRC Ledger API

The four key-authed routes under /api/v1. Every route requires an API key passed as `Authorization: Bearer hck_live_...` — a key on any plan, and every response is the same envelope: `{ ok: true, data, page?, total? }` or `{ ok: false, error: { code, message, ...details } }`. The version lives in the PATH: a change that removes or retypes a field in `data` ships at a new path; adding a field does not. Asserted against the live route shapes by docs/openapi.guard.test.ts.

Version: v1

## Servers

```
https://hrcledger.com
```

## Security

### bearerKey

[object Object]

Type: http
Scheme: bearer

## Download OpenAPI description

 - [HRC Ledger API](https://docs.hrcledger.com/_bundle/docs/openapi.yaml)

 - [GET /api/v1/contracts](https://docs.hrcledger.com/docs/openapi/other/listcontracts.md)
 - [GET /api/v1/contracts/{slug}](https://docs.hrcledger.com/docs/openapi/other/getcontract.md)
 - [GET /api/v1/market/orgs](https://docs.hrcledger.com/docs/openapi/other/listorgs.md)
 - [POST /api/v1/ask](https://docs.hrcledger.com/docs/openapi/other/ask.md): Requires the `agent:ask` scope, which is separate from the read scopes because asking spends money. It does not stream, does not write and does not read the web. A run that stopped at a ceiling is a 2
