Uber Eats · API Governance Rules
Uber Eats API Rules
Spectral linting rules defining API design standards and conventions for Uber Eats.
27 Rules
error 7
warn 16
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
get
global
info
oauth2
openapi
operation
parameter
path
request
response
schema
server
servers
Rules
error
info-title-required
API must declare an info.title.
$.info
warn
info-title-uber-prefix
Title should reference Uber Eats or Uber Direct.
$.info.title
warn
info-description-required
API must have a meaningful description.
$.info
error
info-version-required
API must declare a version.
$.info
info
info-contact-required
API should declare a contact.
$.info
warn
openapi-version-3-1
Specs should target OpenAPI 3.1.0.
$.openapi
error
servers-defined
A servers array must be defined.
$
error
servers-https
Server URLs must use HTTPS.
$.servers[*].url
warn
server-is-uber
Server should be the Uber API host.
$.servers[*].url
warn
path-no-trailing-slash
Paths must not end with a trailing slash.
$.paths
warn
path-params-snake-case
Path parameter placeholders must be snake_case.
$.paths[*]~
error
operation-operationId-required
Every operation must declare an operationId.
$.paths[*][get,post,put,patch,delete]
warn
operation-operationId-camel-case
operationId must be camelCase with a verb prefix.
$.paths[*][get,post,put,patch,delete].operationId
warn
operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-uber-prefix
Operation summaries should be prefixed with Uber Eats or Uber Direct in Title Case.
$.paths[*][get,post,put,patch,delete].summary
warn
parameter-snake-case
Parameter names must be snake_case.
$.paths[*][*].parameters[*].name
info
parameter-description
Path/query parameters should have a description.
$.paths[*][*].parameters[?(@.in=='query')]
warn
request-body-json
Request bodies should offer application/json.
$.paths[*][post,put,patch].requestBody.content
error
response-success-defined
Operations must define at least one 2xx response.
$.paths[*][get,post,put,patch,delete].responses
warn
response-description-required
Every response must have a description.
$.paths[*][*].responses[*]
warn
schema-property-snake-case
Schema property names must be snake_case.
$.components.schemas[*].properties[*]~
info
schema-property-typed
Schema properties should declare a type or $ref.
$.components.schemas[*].properties[*]
warn
global-security-defined
A global security requirement must be defined.
$
error
oauth2-scheme-defined
An OAuth 2.0 security scheme must be defined.
$.components.securitySchemes
warn
oauth2-uber-token-url
OAuth2 token URL should be the Uber OAuth endpoint.
$.components.securitySchemes.oauth2.flows.clientCredentials.tokenUrl
warn
get-no-request-body
GET operations must not declare a request body.
$.paths[*].get
info
operation-examples-encouraged
Operations are encouraged to provide response examples.
$.paths[*][get,post,put,patch,delete].responses[*].content.application/json
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.