llms.txt Content
# Cardog
> The system of record for the Canadian vehicle. A typed graph of automotive
> entities — every make, model, model year, recall and safety rating under a
> permanent `{domain}:{key}` ref — served as a REST API with an error
> contract designed for agents: an unknown ref is a 400 that names it and
> suggests the nearest match, never a fuzzy guess or a silently empty result.
The ref grammar is open source and free to hold: `npm install @cardog/entities`
validates, builds and types refs offline with no API call and no key.
## Docs
- [Full documentation](https://cardog.app/docs.md): every guide and the complete API reference as one markdown document — the one fetch that answers most questions.
- [Changelog](https://cardog.app/changelog.md): what shipped, newest first, as one markdown document.
- [Quickstart](https://cardog.app/docs/quickstart.md): Your first three calls: resolve free text to refs, then query with them.
- [The Vehicle Graph](https://cardog.app/docs/vehicle-graph.md): The data model behind every endpoint: typed entities, permanent refs, and the grains that connect a VIN to specs, recalls, and the live market.
- [The ref grammar](https://cardog.app/docs/ref-grammar.md): Hold the platform's identifier language offline: @cardog/entities validates, builds, and types refs with zero API calls — resolution is where the API begins.
- [Authentication](https://cardog.app/docs/authentication.md): API keys, both accepted headers, and the plan limits — straight from the code.
- [API conventions](https://cardog.app/docs/conventions.md): The mechanics every v2 group shares: encoding, response shape, null semantics, and the stability contract.
- [Credits & limits](https://cardog.app/docs/credits.md): One commercial currency across the platform: per-family rates, plan allowances, live budget headers, and what happens at the edge.
- [Errors](https://cardog.app/docs/errors.md): The v2 error envelope, every code, and why an unknown ref is always a name