APIOS vs Optic

Optic is gone. Here is what to do about it.

Archived 12 January 2026 — no sunset notice, no migration guide, no blessed fork. This page is written as a migration guide first and a pitch second, because that is what you came for.

First, what Optic gets right

Optic was the closest thing this category had to a correct idea, and it deserved better than being quietly archived. It understood that breaking changes are the thing worth catching, and it could observe real traffic rather than only reading documents. Atlassian acquired it in April 2024, the last release was August 2025, and the expected home in Atlassian Compass never shipped API drift detection. If you built a workflow on it, that workflow was well-founded.

The actual difference

Every direct replacement went back to diffing two spec files. Optic's better idea — check the API against what is actually true — is the one we kept.

Side by side

 OpticAPIOS
Still maintainedNo — archived 12 Jan 2026Yes
Breaking-change detectionStrong, while it lastedIn caller terms, from source
What it checks againstCaptured traffic, or two specsThe routes in your source tree
Review and approvalCI pass/failA proposal a person approves, with an audit trail
Documentation, spec and mockNot its jobAll three, from one approval
Blocking status check on a PRYes, via its CI integrationAn API your CI calls — no Action yet
Traffic captureYes — its best featureNo. We read source, not traffic

2 of these 7 rows go to Optic. They are in the table rather than left out of it.

Your options, honestly

If all you used Optic for was spec-to-spec diffing in CI, the shortest path is oasdiff — open source, no UI, 509 change types — or SpecShield, which is the most complete drop-in replacement (web UI, CLI, GitHub App, free Action). Those are good tools and for that narrow job they will take you an afternoon. We are the right answer to a different question: not 'what diffs my specs now' but 'why am I maintaining a spec to diff at all'.

What we kept from Optic's idea

Optic's insight was that a specification should be checked against reality rather than trusted. It got reality from captured traffic. We get it from the source tree — which is available before deployment rather than after, needs no instrumentation, and cannot miss an endpoint just because no request happened to hit it during the capture window. Same instinct, earlier in the pipeline.

What we do not have

Traffic capture, which was Optic's most distinctive feature, and the pull-request annotation its CI integration gave you. We have the check API and not the Action that turns it into a required status. If a blocking PR check is the thing you cannot go without this week, take SpecShield and come back to us.

Don’t take our word for the drift

Connect a repository and we’ll count the endpoints that aren’t in your published reference. It’s a measurement, not a claim — and it’s free.

Verified 14 August 2026. Pricing and capabilities in this category move quarterly — if something here has gone stale, tell us and we’ll correct it.