Copper · API Governance Rules
Copper API Rules
Spectral linting rules defining API design standards and conventions for Copper.
14 Rules
error 6
warn 7
info 1
Rule Categories
copper
Rules
error
copper-info-contact
API info object should include contact information.
$.info
warn
copper-info-license
API info object should include license information.
$.info
error
copper-server-https
All servers must use HTTPS.
$.servers[*].url
warn
copper-base-url
Servers should reference the Copper Developer API host.
$.servers[*].url
error
copper-required-auth-headers
Operations should be protected by Copper auth headers.
$.security
error
copper-operation-tags
Every operation must have at least one tag.
$.paths.*[get,post,put,delete,patch]
error
copper-operation-summary
Every operation must have a summary.
$.paths.*[get,post,put,delete,patch]
warn
copper-operation-description
Operations should include a description.
$.paths.*[get,post,put,delete,patch]
error
copper-operation-id
Every operation must have an operationId in camelCase.
$.paths.*[get,post,put,delete,patch]
warn
copper-pagination-params
Search endpoints should support page_number and page_size parameters.
$.paths['/people/search','/companies/search','/leads/search','/opportunities/search','/tasks/search','/activities/search'].post.requestBody.content.application/json.schema
warn
copper-tag-pascal-case
Tags should use PascalCase plural resource names.
$.tags[*].name
info
copper-rate-limit-documented
API description should mention rate limits.
$.info.description
warn
copper-error-schema
Error responses should reference an Error schema.
$.components.schemas
warn
copper-resource-id-integer
Resource id fields should be int64 integers.
$.components.schemas.*.properties.id