Solcast · API Governance Rules
Solcast API Rules
Spectral linting rules defining API design standards and conventions for Solcast.
18 Rules
error 6
warn 12
Rule Categories
solcast
Rules
warn
solcast-info-contact
API info object must include a contact with a URL.
$.info.contact
error
solcast-info-version
API info must have a version field.
$.info
warn
solcast-operation-summary-title-case
All operation summaries must use Title Case.
$.paths[*][*].summary
warn
solcast-operation-has-tags
Every operation must have at least one tag.
$.paths[*][*]
warn
solcast-operation-has-description
Every operation must have a description.
$.paths[*][*]
error
solcast-operation-has-operationid
Every operation must have an operationId.
$.paths[*][*]
warn
solcast-operationid-camel-case
operationId must use camelCase.
$.paths[*][*].operationId
warn
solcast-parameter-has-description
All parameters must have a description.
$.paths[*][*].parameters[*]
warn
solcast-lat-lon-parameter-range
Latitude query parameter must specify minimum/maximum range constraints.
$.paths[*][*].parameters[?(@.name == 'latitude')]
warn
solcast-format-parameter-enum
Format query parameters must restrict to valid values using enum.
$.paths[*][*].parameters[?(@.name == 'format')]
error
solcast-response-200-defined
Every GET operation must define a 200 response.
$.paths[*].get
warn
solcast-response-401-defined
Every operation must define a 401 Unauthorized response.
$.paths[*][*]
warn
solcast-response-429-defined
Every operation must define a 429 Too Many Requests response.
$.paths[*][*]
warn
solcast-schema-properties-described
All schema properties must have descriptions.
$.components.schemas[*].properties[*]
error
solcast-no-empty-schemas
Schema objects must not be empty (must have properties or $ref).
$.components.schemas[*]
warn
solcast-path-kebab-case
API paths must use kebab-case or snake_case segments consistently.
$.paths[*]~
error
solcast-global-security-defined
API must define global security (Bearer token required).
$
error
solcast-security-scheme-bearer
The security scheme must be a Bearer token scheme.
$.components.securitySchemes[*]