extends: spectral:oas rules: workday-integrations-operation-id-required: description: All operations must have an operationId. severity: error given: "$.paths[*][get,post,put,patch,delete]" then: field: operationId function: truthy workday-integrations-operation-summary-required: description: All operations must have a summary. severity: error given: "$.paths[*][get,post,put,patch,delete]" then: field: summary function: truthy workday-integrations-summary-title-case: description: Operation summaries must use Title Case. severity: warn given: "$.paths[*][get,post,put,patch,delete].summary" then: function: pattern functionOptions: match: "^[A-Z]" workday-integrations-tags-required: description: All operations must have at least one tag. severity: error given: "$.paths[*][get,post,put,patch,delete]" then: field: tags function: truthy workday-integrations-description-required: description: All operations must have a description. severity: warn given: "$.paths[*][get,post,put,patch,delete]" then: field: description function: truthy workday-integrations-bearer-auth: description: Bearer authentication must be defined. severity: error given: "$.components.securitySchemes" then: function: truthy workday-integrations-tenant-in-url: description: Server URLs must include tenant variable. severity: warn given: "$.servers[*].url" then: function: pattern functionOptions: match: "\\{tenant\\}" workday-integrations-pagination-support: description: Collection endpoints should support limit parameter. severity: warn given: "$.paths[*].get.parameters[*][?(@.name == 'limit')]" then: field: schema.type function: pattern functionOptions: match: "integer" workday-integrations-response-schema: description: Success responses must define a content schema. severity: warn given: "$.paths[*][get,post].responses['200','201'].content.application/json.schema" then: function: truthy workday-integrations-path-params-described: description: Path parameters must have descriptions. severity: warn given: "$.paths[*].parameters[?(@.in == 'path')]" then: field: description function: truthy workday-integrations-external-docs: description: API info should include external documentation link. severity: hint given: "$" then: field: externalDocs function: truthy