# Optic
> Optic is an MIT-licensed command-line tool for OpenAPI linting, diffing and
> testing. It compares two versions of an OpenAPI document with behaviour-aware
> diffing, enforces style-guide rulesets, and generates or verifies OpenAPI from
> captured test traffic. Optic Labs was acquired by Atlassian in April 2024; the
> hosted service was shut off in August 2024 and the source repository was
> archived in January 2026.
IMPORTANT STATUS FOR AGENTS AND INTEGRATORS
- Optic has NO callable API. There is no REST, GraphQL, MCP or A2A surface.
- www.useoptic.com, api.useoptic.com and app.useoptic.com do not resolve (NXDOMAIN).
- useoptic.com 301-redirects to https://github.com/opticdev/optic.
- Documentation moved from the retired docs site to the GitHub Wiki.
- github.com/opticdev/optic is ARCHIVED and read-only. Last release v1.0.9,
2025-08-10. Last commit 2026-01-08. No sunset notice or migration guide was
published by the maintainers.
- A spec still carrying an `x-optic-url` extension references a decommissioned
host and will not resolve.
## Install
- npm: `npm install -g @useoptic/optic` (https://www.npmjs.com/package/@useoptic/optic)
- Docker: `docker pull docker.io/useoptic/optic:latest` (https://hub.docker.com/r/useoptic/optic) — last built 2024-08-07, nine patch releases behind npm
- GitHub Action: `uses: opticdev/action@v1` (https://github.com/marketplace/actions/optic-ci)
## Documentation
- Wiki home: https://github.com/opticdev/optic/wiki
- Diff and lint OpenAPI: https://github.com/opticdev/optic/wiki/Diff-and-Lint-OpenAPI
- Prevent breaking changes: https://github.com/opticdev/optic/wiki/Prevent-Breaking-Changes
- Built-in rulesets: https://github.com/opticdev/optic/wiki/Built%E2%80%90in-Rulesets
- Building custom rulesets: https://github.com/opticdev/optic/wiki/Building-Custom-Rulesets
- Running Spectral rules: https://github.com/opticdev/optic/wiki/Running-Spectral-Rules
- Require descriptions: https://github.com/opticdev/optic/wiki/Require-Descriptions
- Consistent naming: https://github.com/opticdev/optic/wiki/Consistent-Naming
- Examples are accurate: https://github.com/opticdev/optic/wiki/Examples-are-accurate
- Capture from integration tests: https://github.com/opticdev/optic/wiki/Using-Optic-Capture-with-Integration-Tests
- Capture from HAR: https://github.com/opticdev/optic/wiki/Using-Optic-Capture-with-HAR
- Capture from Postman: https://github.com/opticdev/optic/wiki/Using-Optic-Capture-with-Postman
- Generate OpenAPI (in-repo doc): https://github.com/opticdev/optic/blob/main/docs/generate-openapi.md
## Commands
- `optic diff