Convoy · API Governance Rules
Convoy API Rules
Spectral linting rules defining API design standards and conventions for Convoy.
14 Rules
error 6
warn 5
Rule Categories
convoy
Rules
warn
convoy-operation-id-pascalcase
All Convoy operationIds use PascalCase (e.g. GetEndpoints, CreateEventType).
$.paths.*[get,post,put,delete,patch].operationId
warn
convoy-operation-summary-title-case
Operation summaries should use Title Case.
$.paths.*[get,post,put,delete,patch].summary
warn
convoy-tag-title-case
Tags follow Title Case (Endpoints, Event Deliveries, Portal Links, Event Types).
$.tags[*].name
error
convoy-paths-must-be-project-scoped
All Convoy resource paths must live under /v1/projects/{projectID}/... to enforce project tenancy.
$.paths
hint
convoy-snake-case-path-params
Path parameter segments use snake_case where multi-word (e.g. event-deliveries, portal-links).
$.paths
error
convoy-security-bearer-required
Convoy uses Bearer API key authentication; every spec must declare ApiKeyAuth.
$.components.securitySchemes
error
convoy-security-header-name-authorization
Convoy's ApiKeyAuth scheme MUST live on the Authorization header.
$.components.securitySchemes.ApiKeyAuth
error
convoy-operations-have-2xx-response
Every operation must declare a 2xx response.
$.paths.*[get,post,put,delete,patch].responses
error
convoy-operations-tagged
Every operation MUST have at least one tag (Endpoints, Events, Sources, Subscriptions, etc.).
$.paths.*[get,post,put,delete,patch]
warn
convoy-error-responses-documented
Mutating operations should document 400 and 401 responses.
$.paths.*[post,put,delete,patch].responses
warn
convoy-servers-are-regional
Servers list should expose both US and EU Convoy Cloud regions.
$.servers
error
convoy-server-urls-getconvoy-cloud
Server URLs must point at *.getconvoy.cloud/api.
$.servers[*].url
hint
convoy-schemas-namespaced
Convoy schemas are namespaced (datastore.* or models.*) to mirror the Go package layout. Names without a dot are discouraged for new additions.
$.components.schemas
hint
convoy-info-license-mpl
The Convoy API spec is published under MPL 2.0.
$.info.license