Skip to content

OpenAPI import & sync

Your OpenAPI spec is the contract; your saved requests should match it. Echopoint does this in two stages: a one-shot import that turns a spec into a collection of runnable requests, and continuous sync that keeps the collection reconciled as the spec changes — with a drift history showing exactly what moved.

There are three ways to import a spec. All of them produce the same result: every operation in the document becomes a saved request in a collection, ready to open in the request workbench.

In the app — open API → Requests, choose Import OpenAPI, and upload your spec.

From the CLI — useful when the spec lives in your repo:

Terminal window
echopoint collections import --file ./openapi.yaml

Verify the result with echopoint collections list. CLI installation and authentication are covered in the CLI guide.

Over the APIPOST /collections/import/openapi, authenticated with an API key (X-Api-Key plus X-Organization-Id). See the API reference for the request shape.

Importing once gets you a snapshot. Specs change, so each collection has its own sync configuration under API → OpenAPI Sync: point it at your spec and Echopoint reconciles the collection against it in the background on a roughly 30-second tick.

From the sync view you can also:

  • Run now — trigger a reconcile immediately instead of waiting for the next tick.
  • Sync history — review past sync runs and what each one changed.
  • Operation search — find a specific operation across the synced collection.

Each sync compares the spec against the collection and records the differences in the drift history, classified three ways:

  • Added — operations that appeared in the spec and were not in the collection.
  • Changed — operations whose definition differs from the saved request.
  • Removed — operations that are gone from the spec but still exist as requests.

This is how you notice API drift early: a renamed path, a changed request body, or a deleted endpoint shows up in the history instead of silently breaking the flows that depend on it.

Drift is also tracked at the request level. Every request generated from a spec keeps its own sync history, so you can see how a single operation evolved across syncs — not just that the collection changed, but how that specific request changed.