← all adapters

resend-style

simulates Resend API 1.0.0

restadapter v0.1.06 routes

verification

SDKverified with resend-node 6.22.0 (floor)· surface 6 · not implemented 6 · differs 3

use it

# add to stunt.yaml
services:
  resend:
    adapter: embedded:resend-style

# then
$ stunt up

The embedded: source extracts this adapter from the binary — no git clone, fully offline.

how to mock the Resend API locally

Install stunt, paste the service block above into stunt.yaml, run stunt up — then point your client at localhost instead of Resend API. It works offline, keeps state across requests and restarts, and every response is synthetic: the route shapes, status codes, pagination, and webhook delivery follow the real Resend API 1.0.0 surface — the data is fake, the behavior is real.

backing stores

emails

api surface (6)

generated from the adapter manifest — exactly what boots, nothing more · covers 10% of the real API's 20 routes (derived from sdk resend-node @ 6.22.0 (floor))

6 routes
POST/emails
GET/emails
GET/emails/{id}
POST/webhooks
GET/webhooks
DELETE/webhooks/{id}

SDK-verified behaviors (4)

  • emails.send mints a re_* id
  • emails.get round-trips the message
  • emails.list includes it
  • delivery state derives on read (sent -> delivered)

Not implemented (6)

  • No domains surface (create, list, verify, delete)
  • No API keys management (/api-keys)
  • No batch send (POST /emails/batch)
  • No scheduled sends (schedule, cancel schedule)
  • No audiences or contacts
  • No broadcasts or tags

Differs from the real API (3)

  • Delivery derives on read: sent at +1s, delivered at +3s — fixed, not async
  • simulate_fail: true in POST /emails forces bounced terminal (simulator extension)
  • Webhook events fire exactly once on the first deriving read, not on real delivery
want more of the Resend API surface? adapters are YAML + Starlark — the authoring guide covers adding routes, fixtures, and state machines. Open an issue for anything big first, or just file a PR — merged routes ship in the next release.