CryptoCompare · API Governance Rules
CryptoCompare API Rules
Spectral linting rules defining API design standards and conventions for CryptoCompare.
16 Rules
error 7
warn 6
info 3
Rule Categories
cryptocompare
Rules
error
cryptocompare-info-contact
API contact information must be present.
$.info
warn
cryptocompare-info-license
Info object should declare a license.
$.info
warn
cryptocompare-terms-of-service
termsOfService must reference cryptocompare.com or coindesk.com.
$.info.termsOfService
error
cryptocompare-server-https
All server URLs must use HTTPS.
$.servers[*].url
warn
cryptocompare-server-host
Server URLs must point to a known CryptoCompare / CoinDesk Data host.
$.servers[*].url
error
cryptocompare-security-defined
APIs must declare a security scheme (apiKey query or Apikey header).
$.components.securitySchemes
warn
cryptocompare-security-apikey-shape
Security schemes should be apiKey with name api_key (query) or Authorization (header).
$.components.securitySchemes[*]
warn
cryptocompare-tag-titlecase
Tag names must use Title Case.
$.tags[*].name
error
cryptocompare-operation-id
Every operation must have an operationId.
$.paths[*][get,post,put,patch,delete,options,head]
error
cryptocompare-operation-summary
Every operation must have a summary in Title Case.
$.paths[*][get,post,put,patch,delete,options,head]
warn
cryptocompare-operation-summary-titlecase
Operation summaries should be Title Case (allowing prepositions and articles).
$.paths[*][get,post,put,patch,delete,options,head].summary
error
cryptocompare-operation-description
Every operation must have a description.
$.paths[*][get,post,put,patch,delete,options,head]
error
cryptocompare-operation-tags
Every operation must declare at least one tag.
$.paths[*][get,post,put,patch,delete,options,head]
info
cryptocompare-path-versioning
Endpoint paths should be versioned (v1, v2, v3) or live under a top-level category.
$.paths.*~
info
cryptocompare-from-symbol-uppercase
fsym / fsyms / tsym / tsyms parameters should accept upper-case ticker symbols.
$.paths[*][get].parameters[?(@.name == 'fsym' || @.name == 'fsyms' || @.name == 'tsym' || @.name == 'tsyms')]
info
cryptocompare-error-envelope
Error responses should reference the documented {Response, Message, Type, Data} envelope.
$.paths[*][get,post].responses['400','401','403','404','429','500']