Lichess · API Governance Rules
Lichess API Rules
Spectral linting rules defining API design standards and conventions for Lichess.
11 Rules
error 4
warn 6
info 1
Rule Categories
lichess
Rules
error
lichess-base-url
Servers must include the canonical lichess.org production URL.
$.servers
warn
lichess-api-path-prefix
Lichess API paths are namespaced under /api (with documented exceptions for /game, /tournament, /swiss, /team, /study, /broadcast, /tablebase, /explorer, and /oauth-only paths).
$.paths[*]~
error
lichess-operation-id-required
Every operation must declare an operationId so clients can generate stable method names.
$.paths[*][get,post,put,delete,patch]
warn
lichess-operation-id-camel-case
operationIds are camelCase in the Lichess spec.
$.paths[*][get,post,put,delete,patch].operationId
error
lichess-operation-summary-required
Every operation must have a short human-readable summary.
$.paths[*][get,post,put,delete,patch]
error
lichess-operation-tag-required
Every operation must be tagged so it shows up under the right group in the reference.
$.paths[*][get,post,put,delete,patch]
warn
lichess-tag-known
Operation tags should be one of the documented Lichess API tag groups.
$.paths[*][get,post,put,delete,patch].tags[*]
warn
lichess-streaming-content-type
ND-JSON streaming endpoints declare application/x-ndjson responses.
$.paths[*][get,post].responses[200].content
info
lichess-error-response-codes
Mutating operations should document 401 and 404 responses where applicable.
$.paths[*][post,put,delete].responses
warn
lichess-no-trailing-slash
Lichess paths do not use trailing slashes except at the root.
$.paths[*]~
warn
lichess-license-agpl
The published API spec is AGPL-3.0-or-later licensed.
$.info.license