Roku · API Governance Rules
Roku API Rules
Spectral linting rules defining API design standards and conventions for Roku.
27 Rules
error 8
warn 13
info 6
Rule Categories
roku
Rules
warn
roku-info-title-prefix
API title should begin with "Roku".
$.info.title
error
roku-info-description-required
API info.description is required and should be at least 80 characters.
$.info
error
roku-info-version-required
API info.version is required.
$.info
warn
roku-info-contact-required
info.contact should be defined with a name or url.
$.info
warn
roku-openapi-version
Use OpenAPI 3.0.3 or 3.1.x.
$.openapi
error
roku-servers-defined
At least one server must be defined.
$
info
roku-servers-https-preferred
Production servers should use https. ECP local-network endpoints are an explicit exception (port 8060 plain HTTP).
$.servers[*].url
warn
roku-path-no-trailing-slash
Paths should not end with a trailing slash.
$.paths
error
roku-path-no-query-string
Paths must not contain query strings.
$.paths
warn
roku-path-allowed-casing
Path segments should be kebab-case or snake_case (no PascalCase or spaces).
$.paths
error
roku-operation-operationid-required
Every operation must have an operationId.
$.paths.*[get,post,put,patch,delete,head,options]
error
roku-operation-summary-required
Every operation must have a summary.
$.paths.*[get,post,put,patch,delete,head,options]
warn
roku-operation-summary-prefix
Operation summaries should begin with "Roku ".
$.paths.*[get,post,put,patch,delete,head,options].summary
warn
roku-operation-description-required
Every operation should have a description.
$.paths.*[get,post,put,patch,delete,head,options]
warn
roku-operation-tags-required
Every operation must have at least one tag.
$.paths.*[get,post,put,patch,delete,head,options]
info
roku-operation-microcks-extension
Operations should declare an x-microcks-operation extension for mock dispatch.
$.paths.*[get,post,put,patch,delete,head,options]
warn
roku-tags-defined
A global tags array should be defined at the document root.
$
info
roku-tag-description
Each tag should have a description.
$.tags[*]
warn
roku-parameter-description
Each parameter must have a description.
$..parameters[?(@.in)]
error
roku-parameter-schema
Each parameter must declare a schema with a type.
$..parameters[?(@.in)]
warn
roku-requestbody-json
Request bodies should support application/json.
$..requestBody.content
error
roku-response-success-required
Every operation must declare a 2xx success response.
$.paths.*[get,post,put,patch,delete,head,options].responses
warn
roku-response-description
Every response must have a description.
$..responses.*
warn
roku-schema-type-required
Top-level component schemas should declare a type.
$.components.schemas.*
info
roku-schema-source-extension
Schemas extracted from documentation, SDK, or samples should declare x-schema-source for traceability.
$.components.schemas.*
info
roku-security-schemes-described
Security schemes should declare a description.
$.components.securitySchemes.*
info
roku-info-x-source-url
Specs generated from documentation should declare x-source-url for traceability.
$.info