Base URL
/v1/. The unauthenticated
/health endpoint can be used for monitoring.
Authentication
All/v1/* endpoints require an API key in the Authorization header:
Auth errors
Endpoints
Request format
All endpoints areGET requests. Parameters go in the query string or the URL
path — there is no request body.
Path segments must be URL-encoded. Neutral citations like [2023] HKCFA 5
contain reserved characters and must be encoded:
requests, fetch, curl --data-urlencode).
Response format
Successful responses return200 OK with a JSON body. The shape is documented
per-endpoint in the API reference.
Every authenticated /v1/* response — 2xx, 4xx, or 429 — includes the
following headers so you can pace yourself without hitting the limit:
(
/health responses and pre-auth 401s don’t include them — there’s no
authenticated key to attribute the count to.)
Error format
Errors are returned with an appropriate HTTP status and a consistent JSON body:
See Error reference for every code the API can emit and
what to do about each one.
Versioning
The API is versioned in the URL path (/v1/). Breaking changes will be
shipped as a new version (/v2/) with a published deprecation timeline for
the old one. Additive changes (new fields, new optional parameters, new
endpoints) may be made within a version without notice.