Esc

Concepts

Versioning

The API version is in the path. Within v1 we only add fields, values and codes; we never remove or rename them.

The version in the path

The version is part of every endpoint’s path: https://api.checkanysite.com/v1. A change that would break existing clients comes as a new version alongside v1, never within it.

What can change

  • We may add fields, enum values and error codes, so your code should ignore ones it doesn’t know.
  • We don’t remove or rename anything without the notice described below.
  • The machine-readable description, openapi.json, is built from the same definitions as these pages, so the two always match.

Deprecations

We announce anything we retire from v1 at least 6 months before it stops working, in two places:

  • On the changelog, in an entry marked API that says what changes, from when, and what to use instead.
  • On every response it affects: a Deprecation header (RFC 9745) with the date it was deprecated, and a Sunset header (RFC 8594) with the date it stops working.
Headers on a deprecated response
Deprecation: @1798761600
Sunset: Thu, 01 Jul 2027 00:00:00 GMT

Log these headers alongside your errors, so a retirement never takes you by surprise.

Signature and score versions

What we detect improves over time, so each result names the signature list and score formula that produced it, in versions. The current versions are signatures 0.6.1 and score 1.1. The changelog lists what each version changed, including our mistakes.