path-excludes-patterns

Disallow patterns from paths.

OAS Compatibility
2.0
3.0
3.1

API design principles

The no-http-verbs-in-paths rule is pre-built for a very specific set of patterns. This rule is the general Swiss army knife version. If you absolutely know something should not be in the path (for example foo), then add the pattern to prevent it.

Ideas for things to prevent in paths besides HTTP verbs include other common CRUD verbs, bad words, and internal code words (food for thought).

Other ideas are around casing (other than kebab-case, which is a common approach and we have another rule already prepared for that).

Configuration

Option Type Description
severity string Possible values: off, warn, error. Default off (in recommended configuration).
patterns [string] List of patterns to match. For example, ^\/[a-z].

An example configuration:

Copy
Copied
rules:
  path-excludes-patterns:
    severity: error
    patterns:
      - ^\/[0-9]

Examples

Given this configuration:

Copy
Copied
rules:
  path-excludes-patterns:
    severity: error
    patterns:
      - ^\/[0-9]

Example of an incorrect path:

Copy
Copied
paths:
  /1customers/{id}:
    post:
      parameters:
        - name: id
          in: path
          required: true

Example of a correct path:

Copy
Copied
paths:
  /customers/{id}:
    post:
      parameters:
        - name: id
          in: path
          required: true

Related rules

Resources