Adobe Captivate · API Governance Rules
Adobe Captivate API Rules
Spectral linting rules defining API design standards and conventions for Adobe Captivate.
34 Rules
error 16
warn 14
info 4
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
delete
examples
get
info
no
openapi
operation
parameter
paths
request
response
schema
security
servers
tags
Rules
warn
info-title-prefix
API title must start with "Adobe Captivate" or "Adobe Learning Manager"
$.info.title
error
info-description-required
API info must have a description of at least 50 characters
$.info
error
info-version-required
API must declare a version
$.info
warn
info-contact-required
API info should include contact details
$.info
error
openapi-version
Must use OpenAPI 3.x
$
error
servers-defined
API must define at least one server
$
error
servers-https
All server URLs must use HTTPS
$.servers[*].url
warn
servers-description
Each server should have a description
$.servers[*]
info
paths-kebab-case
Path segments should use kebab-case or camelCase (Adobe Learning Manager uses camelCase)
$.paths[*]~
warn
paths-no-trailing-slash
Paths must not end with a trailing slash
$.paths[*]~
error
operation-summary-required
Every operation must have a summary
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-summary-prefix
Operation summaries should start with "Adobe Captivate"
$.paths[*][get,post,put,patch,delete].summary
error
operation-description-required
Every operation must have a description
$.paths[*][get,post,put,patch,delete,head,options]
error
operation-id-required
Every operation must have an operationId
$.paths[*][get,post,put,patch,delete,head,options]
warn
operation-id-camelcase
operationId should use camelCase
$.paths[*][get,post,put,patch,delete].operationId
error
operation-tags-required
Every operation must have at least one tag
$.paths[*][get,post,put,patch,delete,head,options]
warn
tags-defined
API should define global tags
$
info
tags-description
Global tags should have descriptions
$.tags[*]
error
parameter-description-required
All parameters must have descriptions
$.paths[*][*].parameters[*]
error
parameter-schema-required
All parameters must have a schema
$.paths[*][*].parameters[*]
warn
parameter-api-key-in-header
API keys should be passed in headers, not query parameters
$.components.securitySchemes[*]
warn
request-body-description
Request bodies should have descriptions
$.paths[*][post,put,patch].requestBody
info
request-body-json-content
Request bodies should include application/json content type
$.paths[*][post,put,patch].requestBody.content
error
response-success-required
Every operation must define at least one 2xx response
$.paths[*][get,post,put,patch,delete]
warn
response-4xx-defined
Operations should define 401 or 400 error responses
$.paths[*][get,post,put,patch,delete].responses
error
response-description-required
All responses must have a description
$.paths[*][*].responses[*]
warn
schema-description
Top-level component schemas should have descriptions
$.components.schemas[*]
warn
schema-type-defined
Schemas should define a type
$.components.schemas[*]
error
security-schemes-defined
API must define security schemes
$.components
warn
security-global-defined
API should define global security
$
error
get-no-request-body
GET operations must not have a request body
$.paths[*].get
warn
delete-no-request-body
DELETE operations should not have a request body
$.paths[*].delete
error
no-empty-descriptions
Descriptions must not be empty strings
$..description
info
examples-encouraged
Operations should include examples for better documentation
$.paths[*][get,post,put,patch,delete].responses[*].content[*]
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.