1. Compose
Pick an industry-standard template — a Stripe invoice.paid event, a GitHub pull_request payload, a 429 rate-limit error — then edit the JSON live with instant validation.
$ curl https://mockdock.dev --free --no-signup --no-server
Every mock you build is compressed, base64-encoded, and packed into the URL hash. Your browser decodes and serves it instantly — no database, no account, no payload ever touches a server. Share the link; share the mock.
https://mockdock.dev/api/v1#data=eNqrVspMUbJSKkotLs0pKVayUsrJT08… Fake invoice.paid & charge.refunded events for local webhook handlers.
→ /mock/stripe-webhook-events
Instant fake REST endpoints — user lists, product entities, 201 creates.
→ /mock/crud-api-endpoint
Structured data graphs and spec-shaped GraphQL error arrays.
→ /mock/graphql-query-response
Trigger 404, 500 & 429 responses with realistic error envelopes.
→ /mock/http-status-404-500
Bearer tokens with admin role claims, scopes & expiry scenarios.
→ /mock/jwt-token-claims
Token-exchange successes and invalid_grant failures, RFC-shaped.
→ /mock/oauth-token-response
orders/create & refunds/create payloads with topic headers.
→ /mock/shopify-order-creation
pull_request opened & merged events for CI pipeline testing.
→ /mock/github-pull-request-event
page/per_page/total shells and cursor-based paging envelopes.
→ /mock/paginated-api-response
3s and 8s artificial delays for skeleton screens & timeouts.
→ /mock/delayed-api-response
Deliberately broken JSON to harden your parsers & fallbacks.
→ /mock/invalid-json-api
Preflight OPTIONS responses — permissive, credentialed & broken.
→ /mock/cors-preflight-options
Pick an industry-standard template — a Stripe invoice.paid event, a GitHub pull_request payload, a 429 rate-limit error — then edit the JSON live with instant validation.
Your payload plus its simulated status code, latency, and headers are deflated and base64url-encoded into a single URL fragment. Fragments never leave the browser, so mocks are private by physics, not by policy.
Opening the link hits /api/v1, where the client
interceptor decodes the hash, waits out any simulated latency, and renders the
response — status line, headers, and syntax-highlighted body.