# Data conventions

> Money, dates, signs, ids, paging and errors, the same everywhere in the API and the tools.

Canonical: https://usetruenote.com/docs/conventions

- **Money.** The API uses integer cents in fields ending `Cents`; never floats. MCP tools format amounts as strings (`"$1,234.56"`) and write tools take plain dollars (`650` for $650.00). Rates are in basis points where they appear (`3000` = 30%).
- **Days** are `YYYY-MM-DD` strings. Instants are ISO 8601 with a zone.
- **Signs.** Transactions keep Plaid's convention in the API: positive is money out. Tools present them readably: money in `+$`, money out `-$`. A card's or loan's balance is what's owed, positive.
- **Household vs business.** Every account and transaction belongs to an entity. The household is the personal entities; each business is reported on its own. A business purchase on a personal card is flagged as an owner contribution.
- **Ids** are UUIDs. Someone else's id is a 404, the same as a missing one.
- **Paging** is keyset: pass back the `cursor` an answer gives you; `limit` caps a page.
- **Errors** are JSON `{ code, message, field? }`. 400 names the field; 403 names the scope that's missing; 429 means the per-grant limit (240 a minute).
- **Writes say who.** Rows an agent wrote carry the grant, and the audit log carries the call.
- **Hidden accounts** are out of lists, totals and pickers unless the grant was given them.
