AMC Entertainment Holdings · API Governance Rules
AMC Entertainment Holdings API Rules
Spectral linting rules defining API design standards and conventions for AMC Entertainment Holdings.
28 Rules
error 10
warn 13
info 5
Rule Categories
amc
Rules
error
amc-info-title-required
API title must be present.
$.info
warn
amc-info-title-format
Title should start with "AMC".
$.info.title
warn
amc-info-description-min-length
API description should be substantive (>= 80 chars).
$.info.description
warn
amc-info-contact-required
Contact information must be provided.
$.info
warn
amc-info-license-required
License must be declared (AMC API Terms of Use).
$.info
error
amc-servers-required
At least one server must be defined.
$
error
amc-servers-amctheatres-host
Server URL must point at api.amctheatres.com.
$.servers[*].url
error
amc-servers-https-only
AMC API only supports HTTPS.
$.servers[*].url
error
amc-security-vendor-key-defined
A vendor-key apiKey security scheme must be defined.
$.components.securitySchemes
error
amc-security-vendor-key-header
Vendor key must be provided in the X-AMC-Vendor-Key header.
$.components.securitySchemes.VendorKey
error
amc-security-applied-globally
The vendor-key security requirement must be applied globally.
$
error
amc-paths-versioned
All paths must be versioned (/v1, /v2, /v3, /v4).
$.paths.*~
warn
amc-paths-kebab-case
Path segments (excluding parameters) must be kebab-case.
$.paths.*~
warn
amc-paths-no-trailing-slash
Paths should not end with a trailing slash (except documented order email lookup).
$.paths.*~
error
amc-operation-operationId-required
Every operation must declare an operationId.
$.paths[*][get,post,put,delete,patch]
warn
amc-operation-operationId-camelcase
operationId must be camelCase.
$.paths[*][get,post,put,delete,patch].operationId
error
amc-operation-summary-required
Every operation must have a summary.
$.paths[*][get,post,put,delete,patch]
warn
amc-operation-summary-title-case
Summary should use Title Case.
$.paths[*][get,post,put,delete,patch].summary
warn
amc-operation-tags-required
Every operation must have at least one tag.
$.paths[*][get,post,put,delete,patch]
warn
amc-operation-tag-titlecase
Tag names use Title Case (e.g., Theatres, Showtimes, Loyalty).
$.paths[*][get,post,put,delete,patch].tags[*]
warn
amc-operation-200-response
Read operations should declare a 200 response.
$.paths[*].get.responses
info
amc-operation-201-on-create
POST operations that create resources should return 201.
$.paths[?(@property.match(/orders|webhooks|registration|redemptions/))].post.responses
warn
amc-parameter-name-kebab-case
Query and path parameter names should use kebab-case (page-size, theatre-number, etc.).
$..parameters[?(@.in == 'query' || @.in == 'path')].name
info
amc-parameter-pagination-pair
When page-size is used, page-number should also be available.
$.paths[*][get]
info
amc-schemas-collection-envelope
Collection schemas should include pageSize, pageNumber, count, and _embedded.
$.components.schemas[?(@property.match(/Collection$/))].allOf[0]
info
amc-schemas-hal-links
Resources should expose HAL-style _links where applicable.
$.components.schemas
warn
amc-schemas-property-camelcase
Schema properties should use camelCase.
$.components.schemas[*].properties.*~
info
amc-responses-error-content
Error responses should reference the ApiError schema.
$.components.responses.NotFound.content['application/json'].schema