Flickr · API Governance Rules
Flickr API Rules
Spectral linting rules defining API design standards and conventions for Flickr.
35 Rules
error 13
warn 21
info 1
Rule Categories
flickr
Rules
warn
flickr-info-title-prefix
Spec title should start with "Flickr".
$.info.title
warn
flickr-info-description-required
API description must be present and substantive.
$.info.description
warn
flickr-info-contact-required
An info.contact block is required.
$.info.contact
warn
flickr-info-tos-required
termsOfService should be set (Flickr API ToS).
$.info.termsOfService
error
flickr-openapi-version
OpenAPI version must be 3.0.x.
$.openapi
error
flickr-servers-required
At least one server must be declared.
$.servers
error
flickr-servers-https
All Flickr API servers MUST use HTTPS.
$.servers[*].url
warn
flickr-servers-flickr-host
Servers should point at api.flickr.com or up.flickr.com.
$.servers[*].url
warn
flickr-paths-rest-prefix
Per-method paths should live under /rest or be the bare /rest dispatcher; uploads under /upload.
$.paths.*~
warn
flickr-paths-method-naming
Per-method paths should match /rest/flickr.{namespace}.{method} using camelCase method names.
$.paths.*~
error
flickr-paths-no-trailing-slash
Paths must not end with a trailing slash.
$.paths.*~
error
flickr-operation-id-required
Every operation must have an operationId.
$.paths.*[get,post,put,delete,patch].operationId
warn
flickr-operation-id-camel-case
operationId must be camelCase.
$.paths.*[get,post,put,delete,patch].operationId
error
flickr-operation-summary-required
Every operation must have a summary.
$.paths.*[get,post,put,delete,patch].summary
warn
flickr-operation-summary-title-case
Operation summaries should be in Title Case.
$.paths.*[get,post,put,delete,patch].summary
warn
flickr-operation-description-required
Every operation must have a description.
$.paths.*[get,post,put,delete,patch].description
error
flickr-operation-tags-required
Every operation must have at least one tag.
$.paths.*[get,post,put,delete,patch].tags
warn
flickr-tags-global-required
Global tags array must be declared at root.
$.tags
warn
flickr-tags-title-case
Tag names should be Title Case (e.g. "Photos Geo").
$.tags[*].name
warn
flickr-tags-description-required
Every global tag should have a description.
$.tags[*].description
warn
flickr-parameter-description-required
Every inline parameter should have a description.
$.paths.*[get,post,put,delete,patch].parameters[?(@.in)].description
warn
flickr-parameter-snake-case
Query parameter names must be snake_case (Flickr convention).
$.paths.*[get,post,put,delete,patch].parameters[?(@.in=='query')].name
warn
flickr-parameter-api-key-required
api_key parameter must be present on REST operations.
$.paths.*[get,post,put,delete,patch].parameters[?(@.in=='query' && @.name=='api_key')]
error
flickr-parameter-schema-required
Every parameter must declare a schema with a type.
$.paths.*[get,post,put,delete,patch].parameters[?(@.in)].schema
error
flickr-requestbody-content-required
Request bodies must declare content media types.
$.paths.*[post,put,patch].requestBody.content
error
flickr-response-200-required
Every operation must declare a 200 response.
$.paths.*[get,post,put,delete,patch].responses
warn
flickr-response-content-required
Successful responses should declare a content media type.
$.paths.*[get,post,put,delete,patch].responses[?(@property.match(/^2/))].content
warn
flickr-response-json-preferred
Successful responses should include application/json.
$.paths.*[get,post,put,delete,patch].responses[?(@property.match(/^2/))].content
warn
flickr-schema-property-snake-case
Schema property names should be snake_case to match Flickr response shape (allow _content underscore-prefix).
$.components.schemas[*].properties[*]~
warn
flickr-schema-type-required
Top-level schemas must declare a type.
$.components.schemas[*]
error
flickr-security-global-defined
Global security must be defined.
$.security
error
flickr-security-scheme-apikey
An ApiKeyAuth security scheme must be defined.
$.components.securitySchemes.ApiKeyAuth
warn
flickr-security-scheme-oauth
An OAuth1 security scheme placeholder must be defined for write/delete operations.
$.components.securitySchemes.OAuth1
error
flickr-get-no-request-body
GET operations must not declare a request body.
$.paths.*.get.requestBody
info
flickr-microcks-operation-extension
Each operation should declare x-microcks-operation for mock-friendly tooling.
$.paths.*[get,post,put,delete,patch]