Dapr · API Governance Rules

Dapr API Rules

Spectral linting rules defining API design standards and conventions for Dapr.

5 Rules error 1 warn 4
View Rules File View on GitHub

Rule Categories

dapr

Rules

warn
dapr-info-contact
API info should provide a contact for the Dapr project.
$.info
warn
dapr-server-prefix
Servers should use the /v1.0 path prefix used by Dapr building blocks.
$.servers[*].url
warn
dapr-store-name-path-param
State, secrets, and configuration paths must be parameterised by storeName.
$.paths
error
dapr-operation-tags
Every operation must be tagged with its building block.
$.paths[*][*]
warn
dapr-cloudevent-content-type
Pub/sub publish endpoints should accept application/cloudevents+json.
$.paths[*].post.requestBody.content

Spectral Ruleset

Raw ↑
extends:
  - spectral:oas
rules:
  dapr-info-contact:
    description: API info should provide a contact for the Dapr project.
    given: $.info
    severity: warn
    then:
      field: contact
      function: truthy
  dapr-server-prefix:
    description: Servers should use the /v1.0 path prefix used by Dapr building blocks.
    given: $.servers[*].url
    severity: warn
    then:
      function: pattern
      functionOptions:
        match: "/v1\\.0"
  dapr-store-name-path-param:
    description: State, secrets, and configuration paths must be parameterised by storeName.
    given: $.paths
    severity: warn
    then:
      function: pattern
      functionOptions:
        match: "\\{storeName\\}|\\{secretStoreName\\}|\\{pubsubname\\}|\\{name\\}"
  dapr-operation-tags:
    description: Every operation must be tagged with its building block.
    given: $.paths[*][*]
    severity: error
    then:
      field: tags
      function: truthy
  dapr-cloudevent-content-type:
    description: Pub/sub publish endpoints should accept application/cloudevents+json.
    given: $.paths[*].post.requestBody.content
    severity: warn
    then:
      function: truthy