Response templates
Make the HTTP simulator's responses dynamic with values from the request, generated IDs and times, and fake names, emails and addresses.
On this page
Response bodies and header values in the HTTP simulator can
include templates: {{…}} placeholders replaced for each request. Use the
Insert value menu above the body to add one at the cursor.
{
"id": "{{path.id}}",
"name": "{{fake.name}}",
"email": "{{fake.email}}",
"createdAt": "{{now}}"
}


Values from the request
| Template | Value |
|---|---|
{{path.id}} |
The {id} segment of the route's path. |
{{query.page}} |
A query-string parameter (the first, if repeated). |
{{header.X-Tenant}} |
A request header; the name is case-insensitive. |
{{body.user.name}} |
A JSON or form field by dot path. Numbers index arrays: {{body.items.0.id}}. |
A value that isn't in the request is replaced by an empty string. So is a JSON object or array.
Generated values
| Template | Value |
|---|---|
{{uuid}} |
A new random UUID. |
{{now}} |
The current time in ISO 8601 UTC, such as 2026-10-14T08:53:20Z. |
{{timestamp}} |
The current Unix time in seconds. |
Fake data
A new value for every request:
| Template | Example |
|---|---|
{{fake.firstName}}, {{fake.lastName}}, {{fake.name}} |
A first, last or full name |
{{fake.email}} |
An email address on a safe example domain |
{{fake.username}} |
A username |
{{fake.phone}} |
A phone number |
{{fake.company}}, {{fake.jobTitle}} |
A company name or job title |
{{fake.street}}, {{fake.city}}, {{fake.state}}, {{fake.zip}}, {{fake.country}} |
Parts of an address |
{{fake.word}}, {{fake.sentence}}, {{fake.paragraph}} |
Text |
{{fake.ipv4}} |
An IPv4 address |
{{fake.number}} |
A number from 0 to 999 |
{{fake.boolean}} |
true or false |
Escaping and JSON
- When a body starts with
{or[, inserted values are escaped for JSON, so a quote in a request value can't break your JSON. - In header values, line breaks become spaces.
- To send a literal
{{, write\{{.
Templates are checked when you save the route. A typo such as
{{fake.nme}}, an unclosed {{, or {{path.userId}} on a route without a
{userId} segment is reported before it reaches your application.
Templates are values only: there are no conditions or calculations. To send different responses to different requests, use conditions.

