Webhooks, mock APIs, email sandboxes and end-to-end scenario runs

Test the integrations you can't run locally

Capture what providers actually send you, stand up the API that does not exist yet, and read the email your app tried to send — then chain all three into one run that asserts it worked.

No account needed to try it · Free plan · No card

POST /h/abc123 — example
{
  "id": "evt_1P9x2K",
  "type": "checkout.session.completed",
  "data": {
    "customer_email": "ada@example.com",
    "amount_total": 4900,
    "currency": "usd"
  }
}

Try it with a real URL — no account, nothing to install.

Built to work together

Three tools that finally know about each other

Replay a captured payload straight into a mock endpoint. Assert that the email your app sent actually arrived. The handoffs are the point — the shared dashboard is just where they live.

Webhook Capture

See exactly what they sent you

Point Stripe, GitHub, or any provider at a URL you own and inspect the payload the instant it lands — then replay it whenever you need it again.

  • Any method, any payload
  • Headers, body, source IP
  • One-click replay

Mock APIs

Build against an API that does not exist yet

Define endpoints with generated data, conditional rules, and multi-step sequences, so your frontend is never blocked waiting on a backend team.

  • 121 data generators
  • Conditional rules & sequences
  • OpenAPI import

Fake SMTP Inbox

Test email without emailing customers

Point your app's SMTP config at MockLane and every message lands in a sandbox inbox instead of a real mailbox. Nothing escapes to a real recipient.

  • Real inbox address
  • HTML preview & headers
  • Download attachments

Scenarios

Drive the whole flow, then assert it worked

Chain the three together into one run: deliver a webhook, wait for your app to call back, check the email it sent. Every step carries assertions, and the run finishes green or red — so it can be the thing your CI depends on rather than a tab you keep open.

  • Five step types: delay, HTTP request, send webhook, wait for webhook, wait for email
  • Capture a value in one step, use it in the next
  • Assert on status, body, headers and timing
  • Trigger a run from the API and read the result
How scenarios work
checkout-succeeds.yaml
steps:
  - type: send_webhook
    url: "{{appUrl}}/webhooks/payment"
    body: { event: payment.completed }
    assert:
      - status == 200

  - type: wait_for_webhook
    timeout_seconds: 10
    assert:
      - body.event == "payment.completed"

  - type: wait_for_email
    to: "{{customerEmail}}"
    assert:
      - subject contains "Payment confirmed"

No surprises

You always know where you stand

Every quota is on the dashboard from the first day, not buried in a billing page you find after something breaks. Limits are limits — you get a 429 and a clear message, never an invoice you did not choose.

  • Mock requests, captures, emails and scenario runs, all metered in the open
  • Warnings before a ceiling, not after
  • The same numbers the API enforces — nothing hidden
mocklane.com/dashboard

Endpoints

4

Captures today

128

Workspaces

2

Usage this month

Free · resets Oct 1

Mock requests6,214 / 10,000
Captures412 / 1,000
Emails63 / 200
Scenario runs38 / 100
Workspaces 2/2Sandboxes 1/1

Benefits

Why developers pick MockLane

One dashboard instead of a webhook inspector, a mocking tool, and a throwaway mailbox.

🪝

Webhook capture

Unique URLs that accept any method and payload. Inspect headers, body, query params, and source IP in real time.

🧩

Mock API builder

Status codes, headers, delays, and error simulation per endpoint. Match on path params or fall through to conditional rules.

🎲

121 data generators

Template responses with {{faker.email}}, {{faker.uuid}} and 119 more. Loop with repeat(), branch with oneOf().

🔁

Request replay

Re-send any captured webhook with one click. Edit the payload first to reproduce edge cases on demand.

📥

Email sandboxes

A real inbox address for testing signup and notification mail. Preview HTML, read headers, download attachments — customers never get hit.

📄

OpenAPI import

Drop in a Swagger or OpenAPI spec and get working mock endpoints, then validate responses back against the schema.

Mock APIs

Responses that behave like a real backend

Static fixtures fall over the moment you need pagination, a 500, or a second call that returns something different. MockLane endpoints carry state, rules, and generated data — so the client you are building can be exercised properly.

  • Conditional rules that match on header, query, or body
  • Response sequences for retry and polling flows
  • Error and latency simulation per endpoint
  • Contract validation against your OpenAPI schema

121

data generators

5

scenario step types

<1 min

to first capture

GET /m/team-xyz/api/users
{
  "users": [
    {{repeat(3)}}
    {
      "id": "{{faker.uuid}}",
      "name": "{{faker.name}}",
      "email": "{{faker.email}}",
      "plan": {{oneOf("free","pro")}}
    }
    {{/repeat}}
  ]
}

Capture your first webhook in under a minute

Free plan, no credit card, and nothing to install.

Start free