Browserless · API Governance Rules
Browserless API Rules
Spectral linting rules defining API design standards and conventions for Browserless.
10 Rules
warn 6
info 4
Rule Categories
browserless
Rules
warn
browserless-path-prefix
Browserless paths are mounted under browser-family prefixes (/chrome, /chromium, /edge, /firefox, /webkit, /stealth) or under cross-cutting tops (/session, /sessions, /profile, /profiles, /search, /smart-scrape, /map, /crawl, /unblock, /active, /kill, /meta, /json, /proxy).
$.paths[*]~
warn
browserless-operation-id-camel-case
Browserless operationIds use camelCase.
$.paths[*][get,post,put,patch,delete].operationId
warn
browserless-tags-required
All Browserless operations must declare at least one tag.
$.paths[*][get,post,put,patch,delete]
warn
browserless-token-auth
Browserless authenticates via a `token` query parameter that all endpoints accept. Spec must declare an apiKey security scheme in query named "token" (or document it in operation parameters).
$.components.securitySchemes
warn
browserless-success-response-defined
Browserless operations must define a 2xx success response.
$.paths[*][get,post,put,patch,delete].responses
info
browserless-summary-title-case
Browserless operation summaries should use Title Case.
$.paths[*][get,post,put,patch,delete].summary
warn
browserless-info-description
API info must include a description.
$.info
info
browserless-tag-title-case
OpenAPI tags should use Title Case across Browserless surfaces.
$.tags[*].name
info
browserless-launch-param-documented
Browserless endpoints share a `launch` query parameter that accepts a JSON-encoded browser launch config. Operations that take it should document its shape.
$.paths[*][get,post,put,patch,delete].parameters[?(@.name == 'launch')]
info
browserless-stealth-route-warning
Stealth routes (/stealth, /stealth/bql) consume additional units and should be tagged as such in the operation description.
$.paths[?(@property.match(/^\/stealth/))].*.description