Restaurant Brands International · API Governance Rules
Restaurant Brands International API Rules
Spectral linting rules defining API design standards and conventions for Restaurant Brands International.
33 Rules
error 6
warn 19
info 8
Rule Categories
error
info
no
openapi
operation
parameter
path
paths
query
request
response
schema
security
servers
tag
Rules
error
info-title-required
API must declare a title.
$.info
warn
info-description-required
API must have a description of at least 40 characters.
$.info
error
info-version-required
API must declare a version.
$.info
warn
info-version-semver
API version should be semantic (e.g. 1.0.0).
$.info.version
warn
openapi-version-31
RBI Partners specs are authored against OpenAPI 3.1.0.
$
error
servers-defined
At least one server must be defined.
$
error
servers-https
Server URLs must use HTTPS.
$.servers[*].url
info
servers-rbictg-host
Production/sandbox servers should resolve to an rbictg.com host.
$.servers[*].url
warn
paths-no-trailing-slash
Paths must not end with a trailing slash.
$.paths[*]~
info
paths-version-prefix
RBI Partners resources are served under an /api/v{n} server prefix; path keys stay version-relative.
$.paths[*]~
error
operation-operationId-required
Every operation must declare an operationId.
$.paths[*][get,post,put,patch,delete]
warn
operation-operationId-camel
operationId must be camelCase (e.g. priceOrder, getStores).
$.paths[*][get,post,put,patch,delete].operationId
warn
operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-title-case
Operation summaries should be Title Case (first letter uppercase).
$.paths[*][get,post,put,patch,delete].summary
warn
operation-tags-required
Every operation must be tagged for grouping.
$.paths[*][get,post,put,patch,delete]
info
tag-name-defined
Tags used on operations should be declared in the global tags array.
$.tags[*]
warn
parameter-description-required
Parameters should be described.
$.paths[*][*].parameters[*]
info
parameter-region-header
Region context is conveyed via the x-region header on the loyalty middleware surface.
$..parameters[?(@.in=='header')].name
warn
request-body-json
Request bodies should offer application/json content.
$.paths[*][post,put,patch].requestBody.content
warn
response-2xx-required
Every operation must define at least one success (2xx) response.
$.paths[*][get,post,put,patch,delete].responses
info
response-error-coverage
Operations should document error responses (400/401/404).
$.paths[*][get,post,put,patch,delete].responses
error
security-scheme-defined
A security scheme must be defined; RBI Partners uses bearer JWT.
$.components.securitySchemes
info
security-bearer-jwt
HTTP bearer schemes should declare the JWT bearerFormat.
$.components.securitySchemes[?(@.scheme=='bearer')]
info
schema-type-defined
Component schemas should declare a type.
$.components.schemas[*]
warn
no-empty-descriptions
Descriptions, when present, must not be empty.
$..description
warn
path-params-casing
Path parameters should be camelCase (the dominant convention in this API).
$.paths[*].parameters[?(@.in=='path')].name
warn
query-params-casing
Query parameters should be snake_case (the dominant convention in this API).
$.paths[*][get,post,put,patch,delete].parameters[?(@.in=='query')]
warn
schema-names-casing
Component schema names should be PascalCase (the dominant convention in this API).
$.components.schemas
info
schema-properties-casing
Schema properties should be snake_case (the dominant convention in this API).
$.components.schemas[*].properties
warn
operation-security-required
Every operation should declare its security requirements.
$.paths[*][get,post,put,patch,delete]
warn
error-schema-defined
A shared error schema (Error) should be defined for error payloads.
$.components.schemas
warn
operation-documents-403
Operations should document a 403 response (documented on 100% of this API's operations).
$.paths[*][get,post,put,patch,delete].responses
warn
operation-documents-404
Operations should document a 404 response (documented on 83% of this API's operations).
$.paths[*][get,post,put,patch,delete].responses