extends: [[spectral:oas, off]] formats: [oas3] documentationUrl: https://www.kuleuven.be/rdm/en/rdr/api-documentation rules: ku-leuven-info-title: description: API title must reference the KU Leuven RDR. severity: warn given: $.info.title then: function: pattern functionOptions: match: "KU Leuven" ku-leuven-server-host: description: Servers should point at the KU Leuven RDR host. severity: error given: $.servers[*].url then: function: pattern functionOptions: match: "rdr\\.kuleuven\\.be" ku-leuven-operation-id: description: Every operation must declare an operationId (Dataverse pattern). severity: warn given: $.paths[*][get,post,put,delete,patch] then: field: operationId function: truthy ku-leuven-response-envelope: description: Dataverse JSON responses use a standard {status, data} envelope; document a 200 response. severity: info given: $.paths[*][get,post,put,delete,patch].responses then: field: "200" function: truthy