Self-healing API integrations: your vendors changed, and the fix is already open.
m82 Labs watches the APIs you depend on, detects the breaking changes and deprecations, finds the call sites they reach, and opens a pull request carrying the evidence. What a self-healing API integration is →
VENDOR API CHANGES — FOUND · CONFIRMED · FIXED — VENDOR API CHANGES — FOUND · CONFIRMED · FIXED —
THE PIPELINE
The pipeline
Five steps, and the second one is the product. Nothing reaches your repositories until the change has been confirmed against the vendor’s own spec.
Stage01/05
01
Detect
Every watched vendor’s spec and changelog is polled and stored as a snapshot. A new snapshot is diffed against the last one, and the difference is what starts everything.
Poll · Snapshot
spec snapshot · diff
08‑22
08‑29
charges.source — removed
02
Confirm
An announcement is a claim. A spec snapshot or a probe of the live API decides whether the change actually happened — never the wording of a blog post.
Spec probe · Live API
claim · live probe
changelogsource is deprecated?
GETapi.stripe.com/v1/charges
200field source absent
confirmed against the artifact
03
Match
Call sites are found across your repositories and checked against the version you are pinned to. If the change cannot reach your code, nothing else happens.
Call sites · Pins
call sites · 4 repositories
acme/payments
acme/jobs
acme/legacy
acme/docspinned 4.2 · out of reach
01234call sites · 3 of 4 repositories
04
Fix
An agent edits files in a fresh clone. It holds no credentials, reaches no network, and its licence to edit is bounded by the one change it was sent for.
Fresh clone · Sandboxed
sandbox · fresh clone
billing/charges.py:84
- source=token+ payment_method=token
no credentials
no network
one change only
05
Verify
m82 Labs runs your tests, checks what was touched against what was allowed, and opens a pull request carrying all of it.
jobs/sync.py:210 passes a token from a config value I could not resolve. The replacement is correct if that value is a payment method id. Worth a look.
BOUNDARIES
Boundaries
What m82 Labs will not do.
hard stop
01
Never merges
No auto-merge flag and no high-confidence bypass. Every fix waits for a person, every time.
02
Agent holds no credentials
The agent process can only edit files in a directory. git, tokens, network and merge decisions remain outside.
03
Never touches workflows, secrets or lockfiles
CI configuration, .env files and the git directory are off limits.
04
Never opens a PR on opinion
Only an artifact decides whether it happened, and a judgement with nothing observed behind it opens nothing.
VENDORS WATCHED
Vendors watched
01
Stripe
clean spec — teaches false positives
The claim is checked against the snapshot, so a heads-up never opens a pull request on its own.
02
OpenAI
high churn — model deprecations
Where the spec is quiet about a deprecation, the live API is asked directly before a line is written.
03
Slack
stale spec — forces the prose path
The change is read out of prose first, then confirmed against what the API actually answers.
04
Clerk
dated versions — pinned callers
Three maintained specs, read as YAML and stored as JSON; a change lands in a dated version and a repo pinned before it is left alone.
05
Firebase Authentication
not OpenAPI — a Discovery document
Google's own description of the API is diffed the same way, down to the field, with nothing invented to make it fit.
06
Anthropic
no spec at all — the SDK is the artifact
It publishes no machine-readable spec, so the generated client is read instead — and the dated retirement table is what gives you sixty days rather than a broken build.
+07
Coming soon
an open slot — not a roadmap
The next vendor is decided by what teams actually ask for. Tell us which one you need.
Connect a repository and m82 Labs shows you every vendor change that reaches it — including the ones that do not.
Diagram: the vendor APIs you use feed an engine that opens a single pull request, “Replace removed Charges.source with payment_method”, in your repositories acme/payments, acme/jobs and acme/legacy. How it works describes the same run in full.