Agreements
Legal/operational agreements scoped to an account
List agreements
Retrieve all agreements visible to the authenticated user; optionally filter by `accountId`.
Get an agreement by ID (stamps `readAt` on first view)
Returns the agreement. On the first GET for an agreement still in `pending-read`, the lifecycle is transitioned to `read` and `readAt` is stamped as a side-effect — there is no separate `mark as read` endpoint. Subsequent GETs are read-only.
Agree to the agreement
Transitions `read → agreed` (terminal for MAGFI) or, for BITGO accounts, `read → confirmed` (sync) — BitGo's signature endpoint is hit inline and the response is captured. With `async: true`, the agreement lands at `agreed` and the periodic reconciliation job drives it to `confirmed`/`failed` once the primary identity is open.