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.

This feature is coming soon. Upgrade to Pro to be first in line when it launches.

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