Skip to content
<wtf page="mock"/>

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"}

Sections