Ephemeral mock REST APIs
POST a JSON spec describing the endpoints you want, get back a URL that serves them for 60 to 3600 seconds. No accounts, no API keys to create a mock. Strict request validation and aggressive rate limiting keep abuse out.
Endpoints can branch on the request's method, path, query string,
headers, and body. Responses can echo path/query/header/body values
back, or include generated data: UUIDs, timestamps
(now ± 5m), random numbers, booleans, names, and
per-mock sequential IDs.
Useful for: standing up a fake API while building a frontend, reproducing a bug in an integration test, demoing a flow that needs an HTTP partner that doesn’t exist yet.
Not useful for: production traffic, anything that needs to live longer than an hour, anything security-sensitive (mocks are stored in plaintext and reachable by their unguessable URL).
Quickstart
Create a mock that echoes the requested ID and a random name:
curl -X POST https://api.mock.restapi.wtf/mocks \
-H 'Content-Type: application/json' \
-d '{
"ttl_seconds": 600,
"endpoints": [{
"method": "GET",
"path": "/users/:id",
"responses": [{
"status": 200,
"body": {
"id": "${path.id}",
"name": "${random.name}",
"created_at": "${now}"
}
}]
}]
}'
Invoke it — the response uses the ID you sent:
curl https://api.mock.restapi.wtf/{id}/users/42
# => {"id":"42","name":"Ada Lovelace","created_at":"2026-...Z"}