Preview: SendMock has no stable release yet. These docs follow develop.
SendMock
Webhooks

Endpoints

Where SendMock sends, with the URL and method, the request's template, the signing secret, retries and variables.

Try it in the demo.

An endpoint is one destination for webhooks, usually one handler in your app.

The Endpoints screen

What it solves

  • One place to say "my app's inbound mail handler is at this URL and expects Postmark's format".
  • Testing that your handler checks signatures, and keeps working while a secret is rotated.
  • Testing retries: what your app does when it gets the same webhook again.

How it connects

Gets fromSends to
Rules that point at itrequests to your app, logged in Deliveries
its template and variablespayments' gateway notifications, when a gateway names it as its notification endpoint
Send to webhook, the Composer and saved deliveriesits success rate to the Overview and Webhooks overview

Use it

  1. Press Add endpoint.
  2. In General, give it a name and your handler's URL, for example http://localhost:8000/webhooks/sms.
  3. In Request, pick a template, for example "Twilio: inbound SMS". Its required variables show in Variables with a Missing badge until you set them.
  4. Press Add endpoint, then Send test on its row. The dialog shows the status code, time, your app's answer, the signed headers and a link to the delivery.

Everything on this screen

The table

Name, method and URL, template, an enabled switch (applies at once), deliveries in the last 24 hours, and a success-rate sparkline with the rate. Row actions: Send test, Edit and Delete (the confirmation says how many rules go with it). When SendMock runs in Docker, a localhost URL shows a hint to use host.docker.internal, with a button that swaps it in.

With no endpoints yet, the screen offers Add endpoint and Add a catcher endpoint (native JSON to /catch/webhooks, so test sends land in the HTTP Catcher).

The edit sheet

TabHolds
Generalname, method, URL (it may use {{ }} templates), timeout (1 to 60 s), enabled
Requestthe body mode (Template, Fields, Raw or None), the template with "Based on ... rev N", link mode (Linked follows template updates; Detached keeps a private copy), extra headers and body fields, query params, Strict or Lenient rendering, and a live preview. See Advanced: request editor
Securitythe secret, masked (whsec_••••3f9a); Reveal asks first and is logged; Copy secret; Rotate secret with an overlap (1 hour, 24 hours or 7 days) during which the old secret still verifies; the signing scheme the template uses
Retriesmax attempts (1 to 10), the delay before each retry (1 s to 24 h, the last one repeats), Retry on 4xx, and the attempt schedule ("attempts at 0 s, 1 s, 6 s, 36 s, ...")
Variablesthe endpoint's own variables, and the template's required ones with Missing until set here or globally; names with token, secret, key or password are stored as secrets

Every control and text, one by one: Endpoints in depth.

Customize

From the CLI, API and AI

Agents can set secrets but never read them back.

On this page