formats: - oas3 rules: qudv-info-object: description: API info object should declare a title and version. severity: error given: $.info then: - field: title function: truthy - field: version function: truthy qudv-server-defined: description: A server should be declared so consumers know the base URL (Borealis hosts the Queen's Dataverse). severity: warn given: $ then: field: servers function: truthy qudv-operation-tags: description: Every operation should carry at least one tag, as the Dataverse API groups operations by tag. severity: warn given: $.paths[*][get,post,put,delete,patch] then: field: tags function: truthy qudv-operation-summary: description: Every operation should have a summary describing what it does. severity: warn given: $.paths[*][get,post,put,delete,patch] then: field: summary function: truthy qudv-operation-id: description: Every operation should have a unique operationId for code generation. severity: warn given: $.paths[*][get,post,put,delete,patch] then: field: operationId function: truthy qudv-api-prefix: description: Native API paths are served under the /api base; access endpoints under /access. severity: info given: $.paths then: function: defined