Zyvra documentation

Zyvra is a local-first API platform. One small program gives you mock services, an API client and a test runner, with a dashboard in your browser. Nothing leaves your machine unless you send it.

Start here

  • Quick start: install, create a project, mock an endpoint and call it.
  • Collections: folders, shared settings, moving things around, running.
  • Faults: make a mock slow, failing or wrong on purpose.
  • Callbacks: requests a mock sends after it answers, with triggers, auth and saving the answer into state.
  • Scripts: pre-request and test scripts, scripted responses and custom faults.
  • Importing: OpenAPI, Postman, browser recordings and cURL, and keeping a mock in step with its spec.
  • Commands: every zyvra command, ports and environment variables.
  • Updating: how updates work, how to turn the check off, and how to verify a release.

How the pieces fit

PieceWhat it is for
Mock ServicesLocal HTTP services that answer the way you decide: rules, scenarios, faults, state, callbacks and scripts.
API ClientSend requests to anything, with environments, auth, cookies and certificates. Save them into collections.
CollectionsSaved requests in folders. A collection or folder can share auth, headers and scripts with what is inside it.
Test RunnerRun a collection with its assertions and scripts, once or once per row of a data file. The same run works in CI.
TrafficEvery request a mock received, with which rule and scenario answered it.

Your files

A project is a folder with two plain text files you can commit to Git:

  • zyvra.yaml: services, endpoints, rules, scenarios, environments.
  • zyvra.collections.yaml: saved requests and collections.

Runtime data (traffic, history, state) lives in a .zyvra/ folder next to them, which is meant to be git-ignored. Secret values are not in either file: they are stored encrypted in your Zyvra home folder. Edit the files by hand and the running dashboard picks the change up. An invalid edit is reported and the last good configuration stays in use.

Safe by default

  • Everything listens on 127.0.0.1 only.
  • JavaScript (mock responses and test scripts) stays off until you trust the project, and runs in a sandbox with no file, network or process access.
  • Secrets are masked in responses, history and traffic.
  • Releases are signed. See how we verify downloads.