Mock Server · Free on every plan

A hosted mock URL for every spec.

Frontend teams stub your API the moment the spec is parsed. Schema-walked responses by default, named examples on demand, stateful overrides when you need to pin a specific reply for a specific request shape. REST and GraphQL both run.

Free on every planReplaces: Prism · WireMock · Mockoon · Postman hosted mocks
HTTP/2 200
x-mock-synth: named-example
x-mock-version: v1
x-mock-operation-id: listUsers
{ "page": 2, "users": [
{ "id": "u_8f3a", "email": "ada@acme.io" }
] }
# Re-run to advance the sequential cursor.
< 50ms

Median spec-driven mock latency

REST + GraphQL

Real graphql package execution

50

Stateful overrides per project

120/min

Per-project rate limit

Response selection

A deterministic priority chain — never a random guess.

Every request walks the same priority chain. TheX-Mock-Synthresponse header tells you exactly which step produced the body you got back.

1

Stateful override hits

X-Mock-Synth: override

Method + path + (optional) query / headers / partial body / GraphQL operationName. First match wins.

2

Prefer: example=<name>

X-Mock-Synth: named-example

Pick a specific named example from the spec. Cycle through them with sequential (Redis-backed) or random.

3

Explicit example in the spec

X-Mock-Synth: example

OpenAPI's response.example or Swagger's example fires next. Direct from the spec.

4

Schema-level example

X-Mock-Synth: schema-example

Example sitting on a schema definition (often via $ref). Resolved through allOf / oneOf / anyOf.

5

Faker-extended schema walk

X-Mock-Synth: schema-walk

Generate a realistic sample from the schema with format-aware faker output (uuid, email, date-time, ipv4) and full $ref / allOf / oneOf / anyOf resolution.

6

Empty-schema fallback

X-Mock-Synth: empty-schema

Spec couldn't produce a body. Returns an empty object / array / null per the schema's nullable rules.

Stateful overrides

Pin a response — to a request shape, not just a path.

Match by method + path, then optionally by query, headers, a deep-partial body subset, and (for GraphQL) by operationName. Priority + first-match-wins, with optional latency simulation and dynamic templates.

Override priority stack

first-match wins
100
POST /v1/checkout/sessionsHIT
pinned: { idempotency_required: true }rate-limit demo
80
GET /v1/users
pinned: ?page=99empty-state
60
GET /v1/users/{id}
pinned: X-Test-User: chaosuser-not-found

No override matches → fall through to the spec.

Walks the response priority chain and emits X-Mock-Synth: schema-walk (or whichever step fired).

Templates in bodies + headers
{
  "id": "{{$uuid}}",
  "echo": "{{request.body.email}}",
  "now": "{{$now}}"
}
Optional latency simulation per rule (0–10s). Overrides bypass validation + auth toggles.

Dynamic templates in bodies + headers

~30 built-in tokens like {{$uuid}} / {{$now}} / {{$randomEmail}}, plus full request echoing — {{request.body.email}}, {{request.path.id}}, {{request.headers.authorization}}.

Prefer-header response steering

Cycle named examples with sequential (Redis-backed for deterministic CI), pick a specific named example, or override status with code=429.

Strict validation, opt-in

Toggle on per project to validate every incoming request against the matched operation. Failures return 400 with field-level paths and X-Mock-Synth: validation-error.

Network simulation built-in

Configurable latency band (0–30s uniform random) plus chaos error rate (0–100% forced into a custom 4xx/5xx). Stress-test retry / loading / timeout code without touching prod.

Activity feed

Every request, every override hit, in real-time.

The Mock Server dashboard tab streams the last 50 hits with method / path / response source. 14-day retention, 24h / 7-day stat rollups, top-endpoint summary, and a synth breakdown so you can see at a glance which path produced every response.

  • Two-layer rate limiting — 120 req/min/project, 60 req/min/IP. CORS open so any browser can call.
  • Per-endpoint disable list — opt specific operationIds out of mocking, scoped per- version or project-wide. 503 for those, mocks for the rest.
  • Override import / export — versioned JSON bundles, merge-or-replace on import, capacity-checked up-front against the 50-rule cap.
Recent activity · acme
● LIVE
GET/v1/usersnamed-examplenow
POST/v1/checkout/sessionsoverride0.4s ago
GET/v1/users/u_8f3aschema-walk2s ago
POST/graphqlgraphql-schema-walk4s ago
GET/v1/ordersexample5s ago
POST/v1/checkout/sessionsvalidation-error7s ago
Last 24h: 12,480 requests · 0.8% errors · top: GET /v1/users

On every plan

Free for everyone — Pro and Business unlock the simulator.

Free

10,000 requests / month

  • 5 stateful overrides per project
  • 24-hour activity log
  • Schema-walked responses + GraphQL
  • Override import / export (read-only)
Most popular

Pro

100,000 requests / month

  • 25 stateful overrides per project
  • 14-day activity log
  • Network simulation (latency + chaos)
  • Strict validation toggle
  • Spec-driven auth enforcement
  • Override bundles (full read/write)

Business

Unlimited requests

  • 50 stateful overrides per project
  • 30-day activity log
  • Custom domain on the docs site
  • Priority support

Get a mock URL in under a minute.

Upload an OpenAPI, Swagger, or GraphQL spec — or paste a URL and Outworx fetches it on the schedule you pick. Every public project gets a free hosted mock URL out of the box. No plan gate, no setup.