{"manifest":{"id":"resend","name":"Resend","description":"Stateful Resend emulator for email sending, domains, contacts, audiences, API keys, and an inbox UI.","docsUrl":"https://docs.emulators.dev/resend","surfaces":[{"id":"rest","kind":"rest","title":"REST API","status":"partial","basePath":"/"},{"id":"inbox","kind":"ui","title":"Inbox UI","status":"supported","basePath":"/_inbox"},{"id":"webhooks","kind":"webhooks","title":"Webhooks","status":"partial"}],"auth":[{"id":"api-key","title":"Resend API key","type":"api-key","status":"supported"}],"specs":[{"kind":"openapi","title":"Resend REST API subset","coverage":"hand-authored","url":"/openapi.json","operations":[{"operationId":"emails.send","method":"POST","path":"/emails","status":"hand-authored"},{"operationId":"emails.sendBatch","method":"POST","path":"/emails/batch","status":"hand-authored"},{"operationId":"emails.list","method":"GET","path":"/emails","status":"hand-authored"},{"operationId":"emails.get","method":"GET","path":"/emails/:id","status":"hand-authored"},{"operationId":"emails.cancel","method":"POST","path":"/emails/:id/cancel","status":"hand-authored"},{"operationId":"emails.update","method":"PATCH","path":"/emails/:id","status":"unsupported"},{"operationId":"domains.create","method":"POST","path":"/domains","status":"hand-authored"},{"operationId":"domains.list","method":"GET","path":"/domains","status":"hand-authored"},{"operationId":"domains.get","method":"GET","path":"/domains/:id","status":"hand-authored"},{"operationId":"domains.verify","method":"POST","path":"/domains/:id/verify","status":"hand-authored"},{"operationId":"domains.remove","method":"DELETE","path":"/domains/:id","status":"hand-authored"},{"operationId":"domains.update","method":"PATCH","path":"/domains/:id","status":"unsupported"},{"operationId":"apiKeys.create","method":"POST","path":"/api-keys","status":"hand-authored"},{"operationId":"apiKeys.list","method":"GET","path":"/api-keys","status":"hand-authored"},{"operationId":"apiKeys.remove","method":"DELETE","path":"/api-keys/:id","status":"hand-authored"},{"operationId":"audiences.create","method":"POST","path":"/audiences","status":"hand-authored"},{"operationId":"audiences.list","method":"GET","path":"/audiences","status":"hand-authored"},{"operationId":"audiences.remove","method":"DELETE","path":"/audiences/:id","status":"hand-authored"},{"operationId":"contacts.create","method":"POST","path":"/audiences/:audience_id/contacts","status":"hand-authored"},{"operationId":"contacts.list","method":"GET","path":"/audiences/:audience_id/contacts","status":"hand-authored"},{"operationId":"contacts.remove","method":"DELETE","path":"/audiences/:audience_id/contacts/:id","status":"hand-authored"},{"operationId":"contacts.get","method":"GET","path":"/audiences/:audience_id/contacts/:id","status":"unsupported"},{"operationId":"contacts.update","method":"PATCH","path":"/audiences/:audience_id/contacts/:id","status":"unsupported"}]},{"kind":"manual","title":"Resend webhook deliveries and inbox UI","coverage":"partial"}],"seedSchema":{"description":"Seed verified sending domains and audience contacts.","fields":[{"key":"domains","title":"Domains","description":"Pre-verified sending domains with SPF, TXT, and DKIM records.","example":[{"name":"example.com","region":"us-east-1"}]},{"key":"contacts","title":"Contacts","description":"Contacts added to an audience (the Default audience when none is given).","example":[{"email":"test@example.com","first_name":"Test","last_name":"User"}]}],"example":{"domains":[{"name":"example.com","region":"us-east-1"}],"contacts":[{"email":"test@example.com","first_name":"Test","last_name":"User"}]}},"stateModel":{"description":"Entities mutated by Resend provider calls.","collections":[{"name":"resend.emails"},{"name":"resend.domains"},{"name":"resend.api_keys"},{"name":"resend.audiences"},{"name":"resend.contacts"}]},"connections":[{"id":"resend-sdk","title":"Resend SDK (TypeScript)","kind":"sdk","language":"typescript","description":"Point the Resend SDK at the emulator. The SDK reads RESEND_BASE_URL for the API base.","template":"import { Resend } from \"resend\";\n\n// The Resend SDK honors RESEND_BASE_URL for the API host.\nprocess.env.RESEND_BASE_URL = \"{{baseUrl}}\";\nconst resend = new Resend(\"{{token}}\");\n\nawait resend.emails.send({\n  from: \"onboarding@example.com\",\n  to: \"test@example.com\",\n  subject: \"Hello from the emulator\",\n  html: \"<p>It works.</p>\",\n});"},{"id":"resend-env","title":"Resend env","kind":"env","language":"bash","description":"The Resend SDK reads RESEND_BASE_URL and RESEND_API_KEY.","template":"RESEND_BASE_URL={{baseUrl}}\nRESEND_API_KEY={{token}}"},{"id":"curl","title":"curl","kind":"curl","language":"bash","description":"Send an email directly against the REST API.","template":"curl -s -X POST {{baseUrl}}/emails \\\n  -H \"authorization: Bearer {{token}}\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"from\":\"onboarding@example.com\",\"to\":\"test@example.com\",\"subject\":\"Hello\",\"html\":\"<p>Hi</p>\"}'"},{"id":"base-url","title":"Base URL (env)","kind":"env","language":"bash","description":"Point your SDK or app at the emulator instead of the real provider.","template":"{{SERVICE_UPPER}}_BASE_URL={{baseUrl}}"},{"id":"create-credential","title":"Create a credential","kind":"curl","language":"bash","description":"Mint a working credential for this instance.","template":"curl -s -X POST {{controlBaseUrl}}/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"{{defaultAuthType}}\"}'"},{"id":"inspect-ledger","title":"Inspect requests","kind":"curl","language":"bash","description":"Read the request ledger to validate how your app called the service.","template":"curl -s {{controlBaseUrl}}/ledger"}],"resetBehavior":{"description":"Resets the instance to its seeded baseline.","reseeds":true,"clearsLedger":true,"clearsWebhooks":true},"ledger":{"description":"Recent provider requests with sensitive headers and fields redacted.","recordsFields":["timestamp","method","host","path","route","operationId","correlationId","identity","request","response","summary","sideEffects","webhookDeliveries","durationMs"],"redactsSensitive":true,"correlationId":true,"webhookDeliveries":true,"sideEffects":true,"persistent":true,"maxEntries":1000},"inspectorTabs":[{"id":"overview","title":"Overview","kind":"landing","description":"Service surfaces, base URLs, and connection snippets."},{"id":"ledger","title":"Ledger","kind":"ledger","description":"Recent provider requests recorded by the emulator."},{"id":"state","title":"State","kind":"state","description":"Current seeded and mutated instance state."},{"id":"credentials","title":"Credentials","kind":"credentials","description":"Mint tokens, API keys, or OAuth clients."},{"id":"seed","title":"Seed","kind":"seed","description":"Seed state or load a scenario."},{"id":"spec","title":"Spec","kind":"spec","description":"OpenAPI / GraphQL spec sources and coverage."},{"id":"logs","title":"Webhooks","kind":"logs","description":"Webhook deliveries dispatched by the emulator."}]},"instance":null,"sampleInstance":{"service":"resend","instance":"your-instance","baseUrl":"https://resend.your-instance.emulators.dev","providerBaseUrl":"https://resend.your-instance.emulators.dev","controlBaseUrl":"https://resend.your-instance.emulators.dev/_emulate"},"connections":[{"id":"resend-sdk","title":"Resend SDK (TypeScript)","kind":"sdk","language":"typescript","description":"Point the Resend SDK at the emulator. The SDK reads RESEND_BASE_URL for the API base.","template":"import { Resend } from \"resend\";\n\n// The Resend SDK honors RESEND_BASE_URL for the API host.\nprocess.env.RESEND_BASE_URL = \"{{baseUrl}}\";\nconst resend = new Resend(\"{{token}}\");\n\nawait resend.emails.send({\n  from: \"onboarding@example.com\",\n  to: \"test@example.com\",\n  subject: \"Hello from the emulator\",\n  html: \"<p>It works.</p>\",\n});","body":"import { Resend } from \"resend\";\n\n// The Resend SDK honors RESEND_BASE_URL for the API host.\nprocess.env.RESEND_BASE_URL = \"https://resend.your-instance.emulators.dev\";\nconst resend = new Resend(\"<token>\");\n\nawait resend.emails.send({\n  from: \"onboarding@example.com\",\n  to: \"test@example.com\",\n  subject: \"Hello from the emulator\",\n  html: \"<p>It works.</p>\",\n});"},{"id":"resend-env","title":"Resend env","kind":"env","language":"bash","description":"The Resend SDK reads RESEND_BASE_URL and RESEND_API_KEY.","template":"RESEND_BASE_URL={{baseUrl}}\nRESEND_API_KEY={{token}}","body":"RESEND_BASE_URL=https://resend.your-instance.emulators.dev\nRESEND_API_KEY=<token>"},{"id":"curl","title":"curl","kind":"curl","language":"bash","description":"Send an email directly against the REST API.","template":"curl -s -X POST {{baseUrl}}/emails \\\n  -H \"authorization: Bearer {{token}}\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"from\":\"onboarding@example.com\",\"to\":\"test@example.com\",\"subject\":\"Hello\",\"html\":\"<p>Hi</p>\"}'","body":"curl -s -X POST https://resend.your-instance.emulators.dev/emails \\\n  -H \"authorization: Bearer <token>\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"from\":\"onboarding@example.com\",\"to\":\"test@example.com\",\"subject\":\"Hello\",\"html\":\"<p>Hi</p>\"}'"},{"id":"base-url","title":"Base URL (env)","kind":"env","language":"bash","description":"Point your SDK or app at the emulator instead of the real provider.","template":"{{SERVICE_UPPER}}_BASE_URL={{baseUrl}}","body":"RESEND_BASE_URL=https://resend.your-instance.emulators.dev"},{"id":"create-credential","title":"Create a credential","kind":"curl","language":"bash","description":"Mint a working credential for this instance.","template":"curl -s -X POST {{controlBaseUrl}}/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"{{defaultAuthType}}\"}'","body":"curl -s -X POST https://resend.your-instance.emulators.dev/_emulate/credentials \\\n  -H \"content-type: application/json\" \\\n  -d '{\"type\":\"api-key\"}'"},{"id":"inspect-ledger","title":"Inspect requests","kind":"curl","language":"bash","description":"Read the request ledger to validate how your app called the service.","template":"curl -s {{controlBaseUrl}}/ledger","body":"curl -s https://resend.your-instance.emulators.dev/_emulate/ledger"}]}