Features

Everything Understudy gives you

Understudy is a fully working simulation of any REST API, with a full UI to drive it. Here is everything it does, one feature at a time.

Import your OpenAPI file

Bring an OpenAPI 3.0 or 3.1 document, in YAML or JSON, and Understudy turns it into a working simulation while keeping your document exactly as written.

A data model from your contract

Understudy reads your contract and proposes a set of resources, each with typed fields and links, so you get a data model you can browse and edit, not just a list of routes.

A real, stateful API

Point your client at Understudy. POST creates a record, GET reads it back, and the data persists. This is the heart of the product: a live stand-in, not a recording.

Rich field types

Every field has a type that knows how to validate itself, make a sample value, and draw its own input. The set is rich, and adding a new type is a single registration.

Links between records

Foreign keys become real links. Pick a related record by searching instead of typing an id, and choose to return linked records inline when you want them.

Build an API without a spec

No spec yet? Define resources and fields in the UI and Understudy gives you a working, stateful CRUD API. No OpenAPI file, no code, no YAML.

List responses and pagination

Different APIs wrap their lists differently. Understudy serves the right shape with real pagination, configured per resource, without hardcoding any vendor's field names.

Realistic sample data

Fill a record with believable, type-aware values in one click, or seed dozens at once, so you always have realistic data to browse, page through and demo.

Checked both ways

Bad requests are rejected with the right error, and a response that would break your contract is never sent. Your app meets the same rules it would in production.

Fake auth and token endpoints

Many clients must complete a token handshake before they call an API. Understudy answers that handshake with a credibly shaped token, so your client proceeds. No real security needed.

Admin login and multiple users

The editor is protected by a built-in login with no configuration. You create an admin account on first run, then it is a normal username and password sign-in.

Export and import

Export a simulation to a single file, commit it, share it, and import it again to get back an identical setup. The data created at runtime is deliberately left out.

The editor

The whole product is driven through a clean, fast, accessible web editor. No YAML, no JSON, no scripting. Everything from importing a spec to shaping a response is point and click.

The request scratch pad

One click turns any resource or record into a ready-to-paste HTTP request, with a real route, real headers and a realistic body. No guessing at URLs.

Run it anywhere

Stand up Understudy with one npm install and one function call. No build step, no Docker, and no admin rights. The only thing you provide is a store.

Make it misbehave on purpose

Return 429s, 500s and 503s with the right headers, or respond slowly, so your retry, back-off and timeout handling gets a real workout. Deterministic, so a test repeats.

Callbacks and webhooks

Real APIs do not only answer requests, they call you back. When a record changes, Understudy fires a signed POST to a URL you choose, so your event handling code finally has something to react to.