# Badger > Badger shows a verified test-results badge. Your CI sends three numbers (passed, failed, total) to our API. We store the latest result per project and serve an embeddable badge and a public verification page. Authenticate result submissions with a project write key in an `Authorization: Bearer` header. Errors use the shape `{ "error": { "code", "message" } }`. The API is versioned in the path (`/v1`); v1 changes are additive only. ## Guides - [Quick start](https://docs.virdify.com/quick-start): Create a project and send your first result from CI. - [Badge embed](https://docs.virdify.com/badge): Add the badge to a README or site, and what each state means. - [Verification page](https://docs.virdify.com/verification): What visitors see when they open your badge. - [Authentication and errors](https://docs.virdify.com/auth-and-errors): Write keys, rotation, and every error code. - [Limits](https://docs.virdify.com/limits): Monthly results, rate limits and the daily cap. - [Versioning policy](https://docs.virdify.com/versioning): What changes in v1, and how we deprecate. ## API - [OpenAPI 3.1 description](https://api.virdify.com/v1/openapi.json): machine-readable spec for v1 - [API reference](https://docs.virdify.com/reference): interactive reference ## Optional - [Changelog](https://docs.virdify.com/changelog): every user-visible change