extends: - spectral:oas rules: classif-info-contact: description: API info MUST contain a contact email or URL. severity: warn given: $.info then: field: contact function: truthy classif-https-only: description: All Classif.io API servers MUST use HTTPS. severity: error given: $.servers[*].url then: function: pattern functionOptions: match: '^https://' classif-operation-id: description: Operations MUST have an operationId. severity: error given: $.paths[*][get,post,put,delete,patch] then: field: operationId function: truthy classif-tag-required: description: Operations MUST be tagged for classification domain grouping. severity: warn given: $.paths[*][get,post,put,delete,patch].tags then: function: truthy classif-security-required: description: API MUST define API key security schemes. severity: error given: $.components.securitySchemes then: function: truthy classif-image-input: description: Classification operations SHOULD accept image inputs (multipart or URL). severity: warn given: $.paths then: function: truthy