Urban Outfitters · API Governance Rules
Urban Outfitters API Rules
Spectral linting rules defining API design standards and conventions for Urban Outfitters.
37 Rules
error 10
warn 17
info 1
Rule Categories
error
no
operationid
query
schema
uo
Rules
error
uo-info-title-present
API info must have a title
$.info
warn
uo-info-description-present
API info must have a description
$.info
error
uo-info-version-present
API info must have a version
$.info
error
uo-openapi-version
Must use OpenAPI 3.x
$
warn
uo-servers-present
API must define servers
$
warn
uo-server-url-https
Server URLs should use HTTPS
$.servers[*].url
error
uo-paths-present
API must define paths
$
warn
uo-path-lowercase
Path segments should be lowercase
$.paths[*]~
error
uo-operation-id-present
All operations must have an operationId
$.paths[*][get,post,put,patch,delete]
warn
uo-operation-summary-present
All operations must have a summary
$.paths[*][get,post,put,patch,delete]
hint
uo-operation-description-present
All operations should have a description
$.paths[*][get,post,put,patch,delete]
warn
uo-operation-tags-present
All operations must have at least one tag
$.paths[*][get,post,put,patch,delete]
warn
uo-tags-defined
All tags used in operations should be defined at the top level
$
warn
uo-parameter-description-present
All parameters should have a description
$.paths[*][get,post,put,patch,delete].parameters[*]
error
uo-parameter-schema-present
All parameters must have a schema
$.paths[*][get,post,put,patch,delete].parameters[*]
hint
uo-request-body-description
Request bodies should have a description
$.paths[*][post,put,patch].requestBody
error
uo-response-description-present
All responses must have a description
$.paths[*][get,post,put,patch,delete].responses[*]
error
uo-response-success-present
Operations must have at least one success (2xx) response
$.paths[*][get,post,put,patch,delete].responses
warn
uo-response-error-present
Operations should define error responses
$.paths[*][get,post,put,patch,delete].responses
hint
uo-schema-description-present
All schemas should have a description
$.components.schemas[*]
hint
uo-schema-properties-examples
Schema properties should include examples
$.components.schemas[*].properties[*]
error
uo-security-schemes-defined
API must define security schemes
$.components
warn
uo-global-security-present
API should define global security requirements
$
warn
uo-get-no-request-body
GET operations should not have a request body
$.paths[*].get
hint
uo-delete-no-body
DELETE operations should not have a request body
$.paths[*].delete
hint
uo-affiliate-tracking-url
Affiliate product responses should include affiliate URLs
$.components.schemas.Product.properties
hint
uo-commission-rate-defined
Commission reports should include commission rate
$.components.schemas.CommissionReport.properties
error
uo-seller-product-sku
Seller products must include a SKU
$.components.schemas.SellerProduct.properties
warn
uo-order-status-enum
Order status should use predefined values
$.components.schemas.Order.properties.status
hint
uo-microcks-operation-present
Operations should include Microcks extension for mocking
$.paths[*][get,post,put,patch,delete]
hint
uo-examples-in-responses
Responses should include examples for documentation
$.paths[*][get,post,put,patch,delete].responses[*].content[*]
warn
query-params-casing
Query parameters should be snake_case (the dominant convention in this API).
$.paths[*][get,post,put,patch,delete].parameters[?(@.in=='query')]
warn
operationid-casing
Operation IDs should be camelCase (the dominant convention in this API).
$.paths[*][get,post,put,patch,delete].operationId
warn
schema-names-casing
Component schema names should be PascalCase (the dominant convention in this API).
$.components.schemas
info
schema-properties-casing
Schema properties should be snake_case (the dominant convention in this API).
$.components.schemas[*].properties
warn
error-schema-defined
A shared error schema (APIError) should be defined for error payloads.
$.components.schemas
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description