Pro Feature

Dynamic Responses

Go beyond static JSON. Return different responses based on request headers, body values, query params, or even random conditions — making your mocks feel truly alive.

What you can build

Powerful conditional logic without writing a single line of server code

Header-based routing

Return a 401 when the Authorization header is missing. Return different user profiles based on an X-User-ID header.

Body-driven conditions

Parse the request body and return a 422 with validation errors if required fields are missing.

Random scenarios

Simulate flaky APIs by configuring a 20% chance of returning a 500 error — great for resilience testing.

Query param filters

Return paginated data based on ?page= and ?limit= params. Return filtered results based on ?status=active.

Template syntax

Use simple Mustache-style placeholders to inject request data directly into your response body. No extra tools needed.

  • {{request.body.name ?>'}} — inject from request body
  • {{request.header.X-User-Id ?>'}} — inject from headers
  • {{request.query.page ?>'}} — inject from query string
  • {{fake.uuid ?>'}} — random UUID
  • {{fake.name ?>'}} — random person name
{
  "id": "{{fake.uuid ?>' }}",
  "name": "{{request.body.name ?>' }}",
  "email": "{{request.body.email ?>' }}",
  "created_at": "{{fake.datetime ?>' }}",
  "status": "active"
}

Build smarter mocks today

Upgrade to Pro and unlock dynamic responses, templates, and conditional rules.

See Pro Plans