airbnb · API Governance Rules
airbnb API Rules
Spectral linting rules defining API design standards and conventions for airbnb.
15 Rules
error 5
warn 10
Rule Categories
airbnb
Rules
warn
airbnb-operation-summary-title-case
All operation summaries must use Title Case
$.paths[*][get,post,put,patch,delete]
warn
airbnb-operation-id-camel-case
Operation IDs must use camelCase
$.paths[*][get,post,put,patch,delete]
error
airbnb-require-operation-tags
All operations must have at least one tag
$.paths[*][get,post,put,patch,delete]
error
airbnb-require-response-200
GET operations must define a 200 response
$.paths[*].get
warn
airbnb-schema-title-required
All component schemas must have a title
$.components.schemas[*]
error
airbnb-require-oauth2-security
All operations must require OAuth2 security
$.paths[*][get,post,put,patch,delete]
warn
airbnb-listing-status-enum
Listing status must use defined enum values
$.components.schemas.Listing.properties.status
warn
airbnb-require-pagination-params
List operations should support pagination parameters
$.paths[*].get
error
airbnb-reservation-required-dates
Reservation schema must include check_in and check_out
$.components.schemas.Reservation.properties
error
airbnb-require-server-url
API must define at least one server URL
$
warn
airbnb-require-contact-info
API info must include contact information
$.info
warn
airbnb-no-inline-schemas-in-paths
Path responses should reference component schemas, not inline
$.paths[*][*].responses[*].content[*].schema
warn
airbnb-currency-field-present
Schemas with price fields should include currency
$.components.schemas[*].properties
warn
airbnb-require-description-on-paths
All operations must have a description
$.paths[*][get,post,put,patch,delete]
warn
airbnb-require-external-docs
API should include externalDocs pointing to developer portal
$