ENGINEERING

Nightly drift check: published spec vs live API responses

Each night, probe a sample of live API endpoints, compare the actual responses against the committed OpenAPI schema.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule
  • ActionFetch committed OpenAPI spec from GitLabGitLabGitLab
  • ActionCall live endpoints and capture responsesHTTP webhook
  • ActionValidate responses against schemaShell
  • LogicDrift detected?
  • OutputOpen GitLab issue for drifted endpointsGitLabGitLab

What it does

Validates that your deployed API still matches the OpenAPI spec checked into source control. It calls real endpoints, validates each response body and status against the schema, and reports fields the spec promises but the service no longer returns (or returns with a changed type).

When to use it

Use this when your spec is hand-maintained or generated separately from the implementation, so docs and reality silently diverge. A nightly run catches drift the day it ships instead of when an integrator files a support ticket.

How it works

  1. 1A nightly schedule triggers the run.
  2. 2The flow pulls the current OpenAPI spec from the GitLab repository.
  3. 3A shell step calls each sampled endpoint against the live base URL and captures responses.
  4. 4Each response is validated against its schema; mismatches are collected.
  5. 5A logic branch checks whether any drift was detected.
  6. 6If drift exists, the flow opens a GitLab issue with the offending paths, expected vs actual shapes, and assigns the owning team label.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect ShellRun sandboxed commands inside the workspace.
  3. 3
    Connect HTTP webhookTrigger any URL on agent actions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.