1Factory · API Governance Rules
1Factory API Rules
Spectral linting rules defining API design standards and conventions for 1Factory.
32 Rules
error 13
warn 15
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
tag
Rules
error
info-title-required
Info title must be present and follow "1Factory ..." pattern.
$.info
warn
info-description-required
Info description must be present and at least 50 characters.
$.info
error
info-version-required
API version must be defined.
$.info
warn
info-contact-required
Contact information must be provided.
$.info
info
info-terms-of-service
Terms of service URL should be provided.
$.info
error
openapi-version-3
Must use OpenAPI 3.0.x.
$
error
servers-must-be-defined
Servers array must be defined and non-empty.
$
error
servers-https-required
Production server URLs must use HTTPS.
$.servers[*]
warn
servers-description-required
Each server must have a description.
$.servers[*]
warn
paths-no-trailing-slash
Paths must not end with a trailing slash.
$.paths
error
paths-no-query-string
Paths must not contain query strings.
$.paths
error
operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete,options,head]
warn
operation-description-required
Every operation should have a description.
$.paths[*][get,post,put,patch,delete,options,head]
warn
operation-summary-prefix
Every operation summary should start with "1Factory".
$.paths[*][get,post,put,patch,delete,options,head].summary
error
operation-tags-required
Every operation must have at least one tag.
$.paths[*][get,post,put,patch,delete,options,head]
warn
tag-descriptions-required
Global tags must have descriptions.
$.tags[*]
warn
parameter-description-required
Every parameter must have a description.
$.paths[*][get,post,put,patch,delete,options,head].parameters[*]
error
parameter-schema-required
Every parameter must have a schema.
$.paths[*][get,post,put,patch,delete,options,head].parameters[*]
info
request-body-description
Request bodies should have a description.
$.paths[*][post,put,patch].requestBody
warn
request-body-json-content
Request bodies should use 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,options,head].responses
error
response-description-required
Every response must have a description.
$.paths[*][get,post,put,patch,delete,options,head].responses[*]
warn
response-401-required
APIs using API key auth should define a 401 response.
$.paths[*][get,post,put,patch,delete].responses
info
response-429-rate-limit
Rate-limited APIs should define a 429 response.
$.paths[*][get,post,put,patch,delete].responses
warn
schema-description-required
Top-level component schemas should have descriptions.
$.components.schemas[*]
warn
schema-type-required
Schemas should define a type.
$.components.schemas[*]
error
security-schemes-defined
Security schemes must be defined in components.
$.components
warn
security-api-key-in-header
API keys should be passed in headers, not query parameters.
$.components.securitySchemes[*][?(@.type == 'apiKey')]
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
warn
no-empty-descriptions
Descriptions should not be empty strings.
$..description
info
examples-encouraged
Schema properties should include example values.
$.components.schemas[*].properties[*]
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.