Scryfall · API Governance Rules
Scryfall API Rules
Spectral linting rules defining API design standards and conventions for Scryfall.
14 Rules
error 7
warn 7
Rule Categories
info
operation
scryfall
Rules
error
info-title-required
Info title must be present
$.info
error
info-description-required
Info description must be present
$.info
warn
info-contact-required
Info should include a contact block
$.info
error
info-license-required
Info must include a license block
$.info
error
operation-operationid-required
Every operation must have an operationId
$.paths[*][get,post,put,patch,delete]
error
operation-summary-required
Every operation must have a summary
$.paths[*][get,post,put,patch,delete]
warn
operation-summary-title-case
Operation summary should be Title Case (Scryfall convention)
$.paths[*][get,post,put,patch,delete].summary
error
operation-tags-required
Every operation must have at least one tag
$.paths[*][get,post,put,patch,delete]
warn
operation-description-required
Every operation should have a description
$.paths[*][get,post,put,patch,delete]
error
scryfall-https-server-only
Scryfall API is HTTPS-only (TLS 1.2+)
$.servers[*].url
warn
scryfall-base-url-required
Server URL must be api.scryfall.com
$.servers[*].url
warn
scryfall-object-field-required
Every Scryfall response schema must include an 'object' discriminator property
$.components.schemas[Card,Set,Ruling,CardSymbol,Catalog,BulkData,Migration,List,Error,CardFace,RelatedCard].properties
warn
scryfall-list-pagination-fields
List-typed responses must declare has_more and data pagination fields
$.components.schemas[List,CardList,SetList,RulingList,CardSymbolList,BulkDataList,MigrationList].properties
warn
scryfall-tag-naming
Tags should be Title Case singular or plural resource names
$.tags[*].name