DocsGitHub Action

GitHub Action

Catch breaking API changes on every pull request. Zero config.

Add to your workflow

Create .github/workflows/delimit.yml in your repo:

yaml
name: API Governance
on:
  pull_request:
    paths:
      - '**/*.yaml'
      - '**/*.json'

jobs:
  delimit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: delimit-ai/delimit-action@v1
        with:
          spec: api/openapi.yaml

That's it. The action auto-detects the base branch spec and compares against the PR version.

What it detects

27 change types across endpoints, schemas, parameters, and security definitions.

Breaking (17 types)

  • Endpoint removed
  • Required parameter added
  • Response field removed
  • Type changed (string to int)
  • Authentication added/changed
  • + 12 more

Non-breaking (10 types)

  • Endpoint added
  • Optional parameter added
  • Response field added
  • Description changed
  • Deprecated flag set
  • + 5 more

PR comment output

The action posts a structured comment on your PR:

delimit-ai botcommented just now

API Governance Report

Semver: MAJOR

BREAKING: removed endpoint DELETE /users/{id}

WARNING: response field `created_at` type changed (string to integer)

OK: added endpoint POST /v2/webhooks

Policy: default | 2 breaking, 1 non-breaking

Advisory vs. Enforce mode

Advisorydefault

Posts a comment with findings. PR can still merge. Use this to build awareness before enforcing.

Enforce

Fails the check if breaking changes violate policy. Blocks merge until resolved or exempted.

To enable enforce mode, add a policy file:

- uses: delimit-ai/delimit-action@v1
  with:
    spec: api/openapi.yaml
    policy: .delimit/policies.yml
    mode: enforce

Action inputs

InputRequiredDescription
specYesPath to your OpenAPI spec
policyNoPath to policies.yml (uses default if omitted)
modeNoadvisory (default) or enforce
baseNoBase ref override (auto-detected from PR)