Disney API · API Governance Rules
Disney API API Rules
Spectral linting rules defining API design standards and conventions for Disney API.
41 Rules
error 12
warn 20
info 9
Authorship not recorded
No authorship marker is recorded for this file. It is not presented as the provider's; it was most likely written by an API Evangelist pass before outputs were stamped.
Rule Categories
info
method
no
openapi
operation
pagination
parameter
path
paths
requestbody
response
schema
security
servers
tags
Rules
warn
info-title-prefix
Spec title must begin with "Disney API".
$.info.title
warn
info-description-required
A long-form description is required on info.
$.info
warn
info-license-required
License metadata is required (project is BSD-3-Clause).
$.info
info
info-contact-required
Contact info is required so consumers know who to reach.
$.info
warn
openapi-version-3-0-3
Pin OpenAPI to the 3.0.x line used by this provider.
$.openapi
error
servers-defined
At least one server must be defined.
$.servers
error
servers-https-only
All servers must use HTTPS.
$.servers[*].url
warn
servers-canonical-host
The Disney API canonical host is api.disneyapi.dev.
$.servers[*].url
info
servers-description-required
Servers should describe what environment they represent.
$.servers[*]
error
paths-lowercase
Path segments must be lowercase (path parameters in {braces} allowed).
$.paths[*]~
error
paths-no-trailing-slash
Paths must not end with a trailing slash (except root).
$.paths[*]~
error
paths-no-query-string
Paths must not contain a query string.
$.paths[*]~
warn
operation-get-only
All Disney API operations are GET.
$.paths[*]
error
operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-prefix
Operation summaries must start with "Disney API".
$.paths[*][get,post,put,patch,delete].summary
error
operation-description-required
Every operation must have a description.
$.paths[*][get,post,put,patch,delete]
error
operation-operationid-required
Every operation must have a camelCase operationId.
$.paths[*][get,post,put,patch,delete]
warn
operation-operationid-camelcase
operationId must be camelCase.
$.paths[*][get,post,put,patch,delete].operationId
info
operation-operationid-verb-prefix
operationId must start with a known verb prefix.
$.paths[*][get,post,put,patch,delete].operationId
error
operation-tags-required
Every operation must declare at least one tag.
$.paths[*][get,post,put,patch,delete]
info
operation-microcks-operation-required
Every operation must declare an x-microcks-operation block for mockability.
$.paths[*][get,post,put,patch,delete]
warn
tags-defined-globally
A global tags array must be defined with descriptions.
$
warn
tags-title-case
Tags must use Title Case (e.g. "Characters").
$.tags[*].name
warn
tags-description-required
Each global tag must have a description.
$.tags[*]
warn
parameter-description-required
All parameters must have a description.
$.components.parameters[*]
warn
parameter-name-camelcase
Query/header/path parameter names must be camelCase.
$.components.parameters[*].name
warn
path-parameter-id-integer
Path parameters named `id` must be typed as integer.
$.components.parameters.CharacterId.schema
info
pagination-page-and-pagesize
Page-based pagination uses `page` and `pageSize`.
$.components.parameters[Page,PageSize].name
warn
requestbody-not-used
Disney API exposes no request bodies; all operations are pure reads.
$.paths[*][get,post,put,patch,delete].requestBody
error
response-200-required
Every operation must define a 200 success response.
$.paths[*][get,post,put,patch,delete].responses
warn
response-500-required
Every operation must define a 500 error response.
$.paths[*][get,post,put,patch,delete].responses
error
response-description-required
Each response must have a description.
$.paths[*][get,post,put,patch,delete].responses[*]
info
response-json-content
2xx responses must use application/json.
$.paths[*][get,post,put,patch,delete].responses[200].content
info
response-example-required
Every 200 response should ship a named example for mock servers.
$.paths[*][get,post,put,patch,delete].responses[200].content[*]
warn
schema-property-camelcase
Schema property names must be camelCase, with `_id` allowed as a Mongo-native exception.
$.components.schemas[*].properties[*]~
warn
schema-property-description
Schema properties must be described.
$.components.schemas[*].properties[*]
warn
schema-top-level-description
Top-level schemas must have a description.
$.components.schemas[*]
info
response-envelope-info-data
List/show responses use an envelope of {info, data}.
$.components.schemas[CharacterPage,CharacterSingle].properties
info
security-none
Disney API is an open, unauthenticated public API; reject security schemes.
$.components.securitySchemes
error
method-get-no-request-body
GET operations must not declare a request body.
$.paths[*].get.requestBody
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.