Bored API · API Governance Rules
Bored API API Rules
Spectral linting rules defining API design standards and conventions for Bored API.
12 Rules
error 8
warn 4
Rule Categories
bored
Rules
error
bored-info-contact
API contact information must be present.
$.info
error
bored-info-license
API license information must be present (project is MIT).
$.info
error
bored-https-public-server
Public Bored API servers must use HTTPS.
$.servers[?(@.url && @.url.indexOf('boredapi.com') > -1)].url
error
bored-appbrewery-https
App Brewery mirror server must use HTTPS.
$.servers[?(@.url && @.url.indexOf('appbrewery.com') > -1)].url
error
bored-operation-id
Every operation must declare a unique operationId.
$.paths[*][get,post,put,patch,delete]
warn
bored-operation-summary-title-case
Operation summaries should be in Title Case.
$.paths[*][get,post,put,patch,delete].summary
warn
bored-operation-tag
Every operation must declare at least one tag.
$.paths[*][get,post,put,patch,delete]
warn
bored-activity-type-enum
Activity type enum must use the canonical Bored API categories.
$.components.schemas[?(@property=='ActivityV1' || @property=='ActivityV2' || @property=='Activity')].properties.type.enum
error
bored-v2-accessibility-enum
V2 accessibility must use the canonical three-level enum.
$.components.schemas.ActivityV2.properties.accessibility.enum
error
bored-key-string
Resource key fields must be strings (not integers).
$.components.schemas[?(@property=='ActivityV1' || @property=='ActivityV2' || @property=='Activity' || @property=='Fact' || @property=='Riddle' || @property=='Website')].properties.key.type
error
bored-riddle-difficulty-enum
Riddle difficulty must use the canonical easy/normal/hard enum.
$.components.schemas.Riddle.properties.difficulty.enum
warn
bored-no-auth-required
Bored API must not require authentication on any operation.
$.paths[*][get,post,put,patch,delete]