[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-vercel-labs-resend":3,"mdc--u9i4l4-key":35,"related-org-vercel-labs-resend":5085,"related-repo-vercel-labs-resend":5257},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"resend","emulate Resend email API locally","Emulated Resend email API for local development and testing. Use when the user needs to send emails locally, test transactional email flows, implement magic link or verification code auth, inspect sent emails, manage domains\u002Fcontacts\u002FAPI keys, or work with the Resend API without sending real emails. Triggers include \"Resend API\", \"emulate Resend\", \"send email locally\", \"test email\", \"magic link\", \"verification email\", \"email inbox\", \"RESEND_BASE_URL\", or any task requiring a local email API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"vercel-labs","Vercel Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fvercel-labs.png",[12,15,18,21],{"name":13,"slug":4,"type":14},"Resend","tag",{"name":16,"slug":17,"type":14},"Local Development","local-development",{"name":19,"slug":20,"type":14},"Testing","testing",{"name":22,"slug":23,"type":14},"Email","email",1511,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Femulate","2026-07-17T06:08:55.485085",null,95,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"Local API emulation for CI and no-network sandboxes","https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Femulate\u002Ftree\u002FHEAD\u002Fskills\u002Fresend","---\nname: resend\ndescription: Emulated Resend email API for local development and testing. Use when the user needs to send emails locally, test transactional email flows, implement magic link or verification code auth, inspect sent emails, manage domains\u002Fcontacts\u002FAPI keys, or work with the Resend API without sending real emails. Triggers include \"Resend API\", \"emulate Resend\", \"send email locally\", \"test email\", \"magic link\", \"verification email\", \"email inbox\", \"RESEND_BASE_URL\", or any task requiring a local email API.\nallowed-tools: Bash(npx emulate:*), Bash(emulate:*), Bash(curl:*)\n---\n\n# Resend Email API Emulator\n\nFully stateful Resend API emulation. Emails, domains, API keys, audiences, and contacts persist in memory. Sent emails are captured and viewable through the inbox UI or the REST API.\n\nNo real emails are sent. Every call to `POST \u002Femails` stores the message locally so you can inspect it programmatically or in the browser.\n\n## Start\n\n```bash\n# Resend only\nnpx emulate --service resend\n\n# Default port (when run alone)\n# http:\u002F\u002Flocalhost:4000\n```\n\nOr programmatically:\n\n```typescript\nimport { createEmulator } from 'emulate'\n\nconst resend = await createEmulator({ service: 'resend', port: 4000 })\n\u002F\u002F resend.url === 'http:\u002F\u002Flocalhost:4000'\n```\n\n## Auth\n\nPass tokens as `Authorization: Bearer \u003Ctoken>`. Any `re_` prefixed token is accepted.\n\n```bash\ncurl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\"\n```\n\nWhen no token is provided, requests fall back to the default user.\n\n## Pointing Your App at the Emulator\n\n### Environment Variable (Resend SDK)\n\nThe official Resend Node.js SDK reads `RESEND_BASE_URL` at module load time. Set it to the emulator URL and the SDK works without any code changes:\n\n```bash\nRESEND_BASE_URL=http:\u002F\u002Flocalhost:4000\n```\n\n```typescript\nimport { Resend } from 'resend'\n\n\u002F\u002F No baseUrl argument needed; the SDK reads RESEND_BASE_URL automatically.\nconst resend = new Resend('re_test_key')\n\nawait resend.emails.send({\n  from: 'hello@example.com',\n  to: 'user@example.com',\n  subject: 'Hello',\n  html: '\u003Cp>It works!\u003C\u002Fp>',\n})\n```\n\n### Embedded in Next.js (adapter-next)\n\nWhen using `@emulators\u002Fadapter-next`, the emulator runs inside your Next.js app at `\u002Femulate\u002Fresend`. Set `RESEND_BASE_URL` via `next.config.ts`:\n\n```typescript\n\u002F\u002F next.config.ts\nimport { withEmulate } from '@emulators\u002Fadapter-next'\n\nexport default withEmulate({\n  env: {\n    RESEND_BASE_URL: `http:\u002F\u002Flocalhost:${process.env.PORT ?? '3000'}\u002Femulate\u002Fresend`,\n  },\n})\n```\n\n```typescript\n\u002F\u002F app\u002Femulate\u002F[...path]\u002Froute.ts\nimport { createEmulateHandler } from '@emulators\u002Fadapter-next'\nimport * as resend from '@emulators\u002Fresend'\n\nexport const { GET, POST, PUT, PATCH, DELETE } = createEmulateHandler({\n  services: {\n    resend: {\n      emulator: resend,\n      seed: {\n        domains: [{ name: 'example.com' }],\n      },\n    },\n  },\n})\n```\n\n### Direct fetch\n\nIf you cannot use the SDK or env var, call the emulator directly:\n\n```typescript\nawait fetch('http:\u002F\u002Flocalhost:4000\u002Femails', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application\u002Fjson',\n    'Authorization': 'Bearer re_test_key',\n  },\n  body: JSON.stringify({\n    from: 'hello@example.com',\n    to: 'user@example.com',\n    subject: 'Hello',\n    html: '\u003Cp>It works!\u003C\u002Fp>',\n  }),\n})\n```\n\n## Seed Config\n\n```yaml\nresend:\n  domains:\n    - name: example.com\n      region: us-east-1\n  contacts:\n    - email: test@example.com\n      first_name: Test\n      last_name: User\n      audience: Default\n```\n\n## Retrieving Sent Emails\n\nThis is the key differentiator of the emulator: every email sent via `POST \u002Femails` is stored and queryable.\n\n### Inbox UI\n\nBrowse sent emails in the browser:\n\n```\nhttp:\u002F\u002Flocalhost:4000\u002Finbox\n```\n\n### REST API\n\n```bash\n# List all sent emails\ncurl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\"\n\n# Get a single email by ID\ncurl http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid> \\\n  -H \"Authorization: Bearer re_test_key\"\n```\n\n### Extracting Data from Emails (tests, agents)\n\nUseful for completing magic link, verification code, or password reset flows programmatically:\n\n```bash\n# Get the latest email ID\nEMAIL_ID=$(curl -s http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\" | jq -r '.data[0].id')\n\n# Extract a 6-digit code from the HTML body\nCODE=$(curl -s http:\u002F\u002Flocalhost:4000\u002Femails\u002F$EMAIL_ID \\\n  -H \"Authorization: Bearer re_test_key\" | jq -r '.html' | grep -oE '[0-9]{6}')\n\necho \"Verification code: $CODE\"\n```\n\n## API Endpoints\n\n### Emails\n\n```bash\n# Send an email\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"from\": \"hello@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"html\": \"\u003Cp>Hi\u003C\u002Fp>\"}'\n\n# Send batch (up to 100)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails\u002Fbatch \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '[{\"from\": \"a@example.com\", \"to\": \"b@example.com\", \"subject\": \"One\", \"html\": \"\u003Cp>1\u003C\u002Fp>\"}]'\n\n# List all emails\ncurl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Get email by ID\ncurl http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Cancel a scheduled email\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid>\u002Fcancel \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\nSupported fields: `from`, `to`, `subject`, `html`, `text`, `cc`, `bcc`, `reply_to`, `headers`, `tags`, `scheduled_at`.\n\n### Domains\n\n```bash\n# Create domain\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fdomains \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"example.com\", \"region\": \"us-east-1\"}'\n\n# List domains\ncurl http:\u002F\u002Flocalhost:4000\u002Fdomains \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Get domain\ncurl http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Verify domain (instantly marks all records as verified)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid>\u002Fverify \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete domain\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n### API Keys\n\n```bash\n# Create API key\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fapi-keys \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"Production\"}'\n\n# List API keys\ncurl http:\u002F\u002Flocalhost:4000\u002Fapi-keys \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete API key\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Fapi-keys\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n### Audiences\n\n```bash\n# Create audience\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Faudiences \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"Newsletter\"}'\n\n# List audiences\ncurl http:\u002F\u002Flocalhost:4000\u002Faudiences \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete audience\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n### Contacts\n\n```bash\n# Create contact in an audience\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"email\": \"user@example.com\", \"first_name\": \"Jane\", \"last_name\": \"Doe\"}'\n\n# List contacts in an audience\ncurl http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete contact\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\n## Webhooks\n\nThe emulator dispatches webhook events when state changes:\n\n- `email.sent` and `email.delivered` on `POST \u002Femails`\n- `domain.created` and `domain.deleted` on domain operations\n- `contact.created` and `contact.deleted` on contact operations\n\n## Common Patterns\n\n### Magic Link \u002F Verification Code Flow\n\n```bash\nTOKEN=\"re_test_key\"\nBASE=\"http:\u002F\u002Flocalhost:4000\"\n\n# 1. Send verification email\ncurl -X POST $BASE\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"from\": \"auth@example.com\", \"to\": \"user@example.com\", \"subject\": \"Your code\", \"html\": \"\u003Cp>Code: \u003Cstrong>482910\u003C\u002Fstrong>\u003C\u002Fp>\"}'\n\n# 2. Retrieve the email\nEMAIL_ID=$(curl -s $BASE\u002Femails -H \"Authorization: Bearer $TOKEN\" | jq -r '.data[0].id')\n\n# 3. Read the HTML body\ncurl -s $BASE\u002Femails\u002F$EMAIL_ID -H \"Authorization: Bearer $TOKEN\" | jq -r '.html'\n```\n\n### Send and Verify in a Test\n\n```typescript\nimport { createEmulator } from 'emulate'\nimport { Resend } from 'resend'\n\nconst emu = await createEmulator({ service: 'resend', port: 4000 })\n\nprocess.env.RESEND_BASE_URL = emu.url\nconst resend = new Resend('re_test_key')\n\n\u002F\u002F Send\nawait resend.emails.send({\n  from: 'auth@example.com',\n  to: 'user@test.com',\n  subject: 'Verify',\n  html: '\u003Cp>Code: \u003Cstrong>123456\u003C\u002Fstrong>\u003C\u002Fp>',\n})\n\n\u002F\u002F Retrieve\nconst res = await fetch(`${emu.url}\u002Femails`, {\n  headers: { Authorization: 'Bearer re_test_key' },\n})\nconst { data: emails } = await res.json()\nconsole.log(emails[0].html) \u002F\u002F contains \"123456\"\n```\n",{"data":36,"body":38},{"name":4,"description":6,"allowed-tools":37},"Bash(npx emulate:*), Bash(emulate:*), Bash(curl:*)",{"type":39,"children":40},"root",[41,50,56,70,77,154,159,321,327,348,396,401,407,414,427,450,736,742,777,978,1314,1320,1325,1670,1676,1831,1837,1849,1855,1860,1870,1876,1995,2001,2006,2255,2261,2266,2701,2782,2788,3180,3186,3426,3432,3672,3678,3979,3985,3990,4055,4061,4067,4413,4419,5079],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"resend-email-api-emulator",[47],{"type":48,"value":49},"text","Resend Email API Emulator",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Fully stateful Resend API emulation. Emails, domains, API keys, audiences, and contacts persist in memory. Sent emails are captured and viewable through the inbox UI or the REST API.",{"type":42,"tag":51,"props":57,"children":58},{},[59,61,68],{"type":48,"value":60},"No real emails are sent. Every call to ",{"type":42,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":48,"value":67},"POST \u002Femails",{"type":48,"value":69}," stores the message locally so you can inspect it programmatically or in the browser.",{"type":42,"tag":71,"props":72,"children":74},"h2",{"id":73},"start",[75],{"type":48,"value":76},"Start",{"type":42,"tag":78,"props":79,"children":84},"pre",{"className":80,"code":81,"language":82,"meta":83,"style":83},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Resend only\nnpx emulate --service resend\n\n# Default port (when run alone)\n# http:\u002F\u002Flocalhost:4000\n","bash","",[85],{"type":42,"tag":62,"props":86,"children":87},{"__ignoreMap":83},[88,100,126,136,145],{"type":42,"tag":89,"props":90,"children":93},"span",{"class":91,"line":92},"line",1,[94],{"type":42,"tag":89,"props":95,"children":97},{"style":96},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[98],{"type":48,"value":99},"# Resend only\n",{"type":42,"tag":89,"props":101,"children":103},{"class":91,"line":102},2,[104,110,116,121],{"type":42,"tag":89,"props":105,"children":107},{"style":106},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[108],{"type":48,"value":109},"npx",{"type":42,"tag":89,"props":111,"children":113},{"style":112},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[114],{"type":48,"value":115}," emulate",{"type":42,"tag":89,"props":117,"children":118},{"style":112},[119],{"type":48,"value":120}," --service",{"type":42,"tag":89,"props":122,"children":123},{"style":112},[124],{"type":48,"value":125}," resend\n",{"type":42,"tag":89,"props":127,"children":129},{"class":91,"line":128},3,[130],{"type":42,"tag":89,"props":131,"children":133},{"emptyLinePlaceholder":132},true,[134],{"type":48,"value":135},"\n",{"type":42,"tag":89,"props":137,"children":139},{"class":91,"line":138},4,[140],{"type":42,"tag":89,"props":141,"children":142},{"style":96},[143],{"type":48,"value":144},"# Default port (when run alone)\n",{"type":42,"tag":89,"props":146,"children":148},{"class":91,"line":147},5,[149],{"type":42,"tag":89,"props":150,"children":151},{"style":96},[152],{"type":48,"value":153},"# http:\u002F\u002Flocalhost:4000\n",{"type":42,"tag":51,"props":155,"children":156},{},[157],{"type":48,"value":158},"Or programmatically:",{"type":42,"tag":78,"props":160,"children":164},{"className":161,"code":162,"language":163,"meta":83,"style":83},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createEmulator } from 'emulate'\n\nconst resend = await createEmulator({ service: 'resend', port: 4000 })\n\u002F\u002F resend.url === 'http:\u002F\u002Flocalhost:4000'\n","typescript",[165],{"type":42,"tag":62,"props":166,"children":167},{"__ignoreMap":83},[168,214,221,313],{"type":42,"tag":89,"props":169,"children":170},{"class":91,"line":92},[171,177,183,189,194,199,204,209],{"type":42,"tag":89,"props":172,"children":174},{"style":173},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[175],{"type":48,"value":176},"import",{"type":42,"tag":89,"props":178,"children":180},{"style":179},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[181],{"type":48,"value":182}," {",{"type":42,"tag":89,"props":184,"children":186},{"style":185},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[187],{"type":48,"value":188}," createEmulator",{"type":42,"tag":89,"props":190,"children":191},{"style":179},[192],{"type":48,"value":193}," }",{"type":42,"tag":89,"props":195,"children":196},{"style":173},[197],{"type":48,"value":198}," from",{"type":42,"tag":89,"props":200,"children":201},{"style":179},[202],{"type":48,"value":203}," '",{"type":42,"tag":89,"props":205,"children":206},{"style":112},[207],{"type":48,"value":208},"emulate",{"type":42,"tag":89,"props":210,"children":211},{"style":179},[212],{"type":48,"value":213},"'\n",{"type":42,"tag":89,"props":215,"children":216},{"class":91,"line":102},[217],{"type":42,"tag":89,"props":218,"children":219},{"emptyLinePlaceholder":132},[220],{"type":48,"value":135},{"type":42,"tag":89,"props":222,"children":223},{"class":91,"line":128},[224,230,235,240,245,250,255,260,266,271,275,279,284,289,294,298,304,308],{"type":42,"tag":89,"props":225,"children":227},{"style":226},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[228],{"type":48,"value":229},"const",{"type":42,"tag":89,"props":231,"children":232},{"style":185},[233],{"type":48,"value":234}," resend ",{"type":42,"tag":89,"props":236,"children":237},{"style":179},[238],{"type":48,"value":239},"=",{"type":42,"tag":89,"props":241,"children":242},{"style":173},[243],{"type":48,"value":244}," await",{"type":42,"tag":89,"props":246,"children":248},{"style":247},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[249],{"type":48,"value":188},{"type":42,"tag":89,"props":251,"children":252},{"style":185},[253],{"type":48,"value":254},"(",{"type":42,"tag":89,"props":256,"children":257},{"style":179},[258],{"type":48,"value":259},"{",{"type":42,"tag":89,"props":261,"children":263},{"style":262},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[264],{"type":48,"value":265}," service",{"type":42,"tag":89,"props":267,"children":268},{"style":179},[269],{"type":48,"value":270},":",{"type":42,"tag":89,"props":272,"children":273},{"style":179},[274],{"type":48,"value":203},{"type":42,"tag":89,"props":276,"children":277},{"style":112},[278],{"type":48,"value":4},{"type":42,"tag":89,"props":280,"children":281},{"style":179},[282],{"type":48,"value":283},"'",{"type":42,"tag":89,"props":285,"children":286},{"style":179},[287],{"type":48,"value":288},",",{"type":42,"tag":89,"props":290,"children":291},{"style":262},[292],{"type":48,"value":293}," port",{"type":42,"tag":89,"props":295,"children":296},{"style":179},[297],{"type":48,"value":270},{"type":42,"tag":89,"props":299,"children":301},{"style":300},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[302],{"type":48,"value":303}," 4000",{"type":42,"tag":89,"props":305,"children":306},{"style":179},[307],{"type":48,"value":193},{"type":42,"tag":89,"props":309,"children":310},{"style":185},[311],{"type":48,"value":312},")\n",{"type":42,"tag":89,"props":314,"children":315},{"class":91,"line":138},[316],{"type":42,"tag":89,"props":317,"children":318},{"style":96},[319],{"type":48,"value":320},"\u002F\u002F resend.url === 'http:\u002F\u002Flocalhost:4000'\n",{"type":42,"tag":71,"props":322,"children":324},{"id":323},"auth",[325],{"type":48,"value":326},"Auth",{"type":42,"tag":51,"props":328,"children":329},{},[330,332,338,340,346],{"type":48,"value":331},"Pass tokens as ",{"type":42,"tag":62,"props":333,"children":335},{"className":334},[],[336],{"type":48,"value":337},"Authorization: Bearer \u003Ctoken>",{"type":48,"value":339},". Any ",{"type":42,"tag":62,"props":341,"children":343},{"className":342},[],[344],{"type":48,"value":345},"re_",{"type":48,"value":347}," prefixed token is accepted.",{"type":42,"tag":78,"props":349,"children":351},{"className":80,"code":350,"language":82,"meta":83,"style":83},"curl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\"\n",[352],{"type":42,"tag":62,"props":353,"children":354},{"__ignoreMap":83},[355,373],{"type":42,"tag":89,"props":356,"children":357},{"class":91,"line":92},[358,363,368],{"type":42,"tag":89,"props":359,"children":360},{"style":106},[361],{"type":48,"value":362},"curl",{"type":42,"tag":89,"props":364,"children":365},{"style":112},[366],{"type":48,"value":367}," http:\u002F\u002Flocalhost:4000\u002Femails",{"type":42,"tag":89,"props":369,"children":370},{"style":185},[371],{"type":48,"value":372}," \\\n",{"type":42,"tag":89,"props":374,"children":375},{"class":91,"line":102},[376,381,386,391],{"type":42,"tag":89,"props":377,"children":378},{"style":112},[379],{"type":48,"value":380},"  -H",{"type":42,"tag":89,"props":382,"children":383},{"style":179},[384],{"type":48,"value":385}," \"",{"type":42,"tag":89,"props":387,"children":388},{"style":112},[389],{"type":48,"value":390},"Authorization: Bearer re_test_key",{"type":42,"tag":89,"props":392,"children":393},{"style":179},[394],{"type":48,"value":395},"\"\n",{"type":42,"tag":51,"props":397,"children":398},{},[399],{"type":48,"value":400},"When no token is provided, requests fall back to the default user.",{"type":42,"tag":71,"props":402,"children":404},{"id":403},"pointing-your-app-at-the-emulator",[405],{"type":48,"value":406},"Pointing Your App at the Emulator",{"type":42,"tag":408,"props":409,"children":411},"h3",{"id":410},"environment-variable-resend-sdk",[412],{"type":48,"value":413},"Environment Variable (Resend SDK)",{"type":42,"tag":51,"props":415,"children":416},{},[417,419,425],{"type":48,"value":418},"The official Resend Node.js SDK reads ",{"type":42,"tag":62,"props":420,"children":422},{"className":421},[],[423],{"type":48,"value":424},"RESEND_BASE_URL",{"type":48,"value":426}," at module load time. Set it to the emulator URL and the SDK works without any code changes:",{"type":42,"tag":78,"props":428,"children":430},{"className":80,"code":429,"language":82,"meta":83,"style":83},"RESEND_BASE_URL=http:\u002F\u002Flocalhost:4000\n",[431],{"type":42,"tag":62,"props":432,"children":433},{"__ignoreMap":83},[434],{"type":42,"tag":89,"props":435,"children":436},{"class":91,"line":92},[437,441,445],{"type":42,"tag":89,"props":438,"children":439},{"style":185},[440],{"type":48,"value":424},{"type":42,"tag":89,"props":442,"children":443},{"style":179},[444],{"type":48,"value":239},{"type":42,"tag":89,"props":446,"children":447},{"style":112},[448],{"type":48,"value":449},"http:\u002F\u002Flocalhost:4000\n",{"type":42,"tag":78,"props":451,"children":453},{"className":161,"code":452,"language":163,"meta":83,"style":83},"import { Resend } from 'resend'\n\n\u002F\u002F No baseUrl argument needed; the SDK reads RESEND_BASE_URL automatically.\nconst resend = new Resend('re_test_key')\n\nawait resend.emails.send({\n  from: 'hello@example.com',\n  to: 'user@example.com',\n  subject: 'Hello',\n  html: '\u003Cp>It works!\u003C\u002Fp>',\n})\n",[454],{"type":42,"tag":62,"props":455,"children":456},{"__ignoreMap":83},[457,493,500,508,553,560,602,633,663,693,723],{"type":42,"tag":89,"props":458,"children":459},{"class":91,"line":92},[460,464,468,473,477,481,485,489],{"type":42,"tag":89,"props":461,"children":462},{"style":173},[463],{"type":48,"value":176},{"type":42,"tag":89,"props":465,"children":466},{"style":179},[467],{"type":48,"value":182},{"type":42,"tag":89,"props":469,"children":470},{"style":185},[471],{"type":48,"value":472}," Resend",{"type":42,"tag":89,"props":474,"children":475},{"style":179},[476],{"type":48,"value":193},{"type":42,"tag":89,"props":478,"children":479},{"style":173},[480],{"type":48,"value":198},{"type":42,"tag":89,"props":482,"children":483},{"style":179},[484],{"type":48,"value":203},{"type":42,"tag":89,"props":486,"children":487},{"style":112},[488],{"type":48,"value":4},{"type":42,"tag":89,"props":490,"children":491},{"style":179},[492],{"type":48,"value":213},{"type":42,"tag":89,"props":494,"children":495},{"class":91,"line":102},[496],{"type":42,"tag":89,"props":497,"children":498},{"emptyLinePlaceholder":132},[499],{"type":48,"value":135},{"type":42,"tag":89,"props":501,"children":502},{"class":91,"line":128},[503],{"type":42,"tag":89,"props":504,"children":505},{"style":96},[506],{"type":48,"value":507},"\u002F\u002F No baseUrl argument needed; the SDK reads RESEND_BASE_URL automatically.\n",{"type":42,"tag":89,"props":509,"children":510},{"class":91,"line":138},[511,515,519,523,528,532,536,540,545,549],{"type":42,"tag":89,"props":512,"children":513},{"style":226},[514],{"type":48,"value":229},{"type":42,"tag":89,"props":516,"children":517},{"style":185},[518],{"type":48,"value":234},{"type":42,"tag":89,"props":520,"children":521},{"style":179},[522],{"type":48,"value":239},{"type":42,"tag":89,"props":524,"children":525},{"style":179},[526],{"type":48,"value":527}," new",{"type":42,"tag":89,"props":529,"children":530},{"style":247},[531],{"type":48,"value":472},{"type":42,"tag":89,"props":533,"children":534},{"style":185},[535],{"type":48,"value":254},{"type":42,"tag":89,"props":537,"children":538},{"style":179},[539],{"type":48,"value":283},{"type":42,"tag":89,"props":541,"children":542},{"style":112},[543],{"type":48,"value":544},"re_test_key",{"type":42,"tag":89,"props":546,"children":547},{"style":179},[548],{"type":48,"value":283},{"type":42,"tag":89,"props":550,"children":551},{"style":185},[552],{"type":48,"value":312},{"type":42,"tag":89,"props":554,"children":555},{"class":91,"line":147},[556],{"type":42,"tag":89,"props":557,"children":558},{"emptyLinePlaceholder":132},[559],{"type":48,"value":135},{"type":42,"tag":89,"props":561,"children":563},{"class":91,"line":562},6,[564,569,574,579,584,588,593,597],{"type":42,"tag":89,"props":565,"children":566},{"style":173},[567],{"type":48,"value":568},"await",{"type":42,"tag":89,"props":570,"children":571},{"style":185},[572],{"type":48,"value":573}," resend",{"type":42,"tag":89,"props":575,"children":576},{"style":179},[577],{"type":48,"value":578},".",{"type":42,"tag":89,"props":580,"children":581},{"style":185},[582],{"type":48,"value":583},"emails",{"type":42,"tag":89,"props":585,"children":586},{"style":179},[587],{"type":48,"value":578},{"type":42,"tag":89,"props":589,"children":590},{"style":247},[591],{"type":48,"value":592},"send",{"type":42,"tag":89,"props":594,"children":595},{"style":185},[596],{"type":48,"value":254},{"type":42,"tag":89,"props":598,"children":599},{"style":179},[600],{"type":48,"value":601},"{\n",{"type":42,"tag":89,"props":603,"children":605},{"class":91,"line":604},7,[606,611,615,619,624,628],{"type":42,"tag":89,"props":607,"children":608},{"style":262},[609],{"type":48,"value":610},"  from",{"type":42,"tag":89,"props":612,"children":613},{"style":179},[614],{"type":48,"value":270},{"type":42,"tag":89,"props":616,"children":617},{"style":179},[618],{"type":48,"value":203},{"type":42,"tag":89,"props":620,"children":621},{"style":112},[622],{"type":48,"value":623},"hello@example.com",{"type":42,"tag":89,"props":625,"children":626},{"style":179},[627],{"type":48,"value":283},{"type":42,"tag":89,"props":629,"children":630},{"style":179},[631],{"type":48,"value":632},",\n",{"type":42,"tag":89,"props":634,"children":636},{"class":91,"line":635},8,[637,642,646,650,655,659],{"type":42,"tag":89,"props":638,"children":639},{"style":262},[640],{"type":48,"value":641},"  to",{"type":42,"tag":89,"props":643,"children":644},{"style":179},[645],{"type":48,"value":270},{"type":42,"tag":89,"props":647,"children":648},{"style":179},[649],{"type":48,"value":203},{"type":42,"tag":89,"props":651,"children":652},{"style":112},[653],{"type":48,"value":654},"user@example.com",{"type":42,"tag":89,"props":656,"children":657},{"style":179},[658],{"type":48,"value":283},{"type":42,"tag":89,"props":660,"children":661},{"style":179},[662],{"type":48,"value":632},{"type":42,"tag":89,"props":664,"children":666},{"class":91,"line":665},9,[667,672,676,680,685,689],{"type":42,"tag":89,"props":668,"children":669},{"style":262},[670],{"type":48,"value":671},"  subject",{"type":42,"tag":89,"props":673,"children":674},{"style":179},[675],{"type":48,"value":270},{"type":42,"tag":89,"props":677,"children":678},{"style":179},[679],{"type":48,"value":203},{"type":42,"tag":89,"props":681,"children":682},{"style":112},[683],{"type":48,"value":684},"Hello",{"type":42,"tag":89,"props":686,"children":687},{"style":179},[688],{"type":48,"value":283},{"type":42,"tag":89,"props":690,"children":691},{"style":179},[692],{"type":48,"value":632},{"type":42,"tag":89,"props":694,"children":696},{"class":91,"line":695},10,[697,702,706,710,715,719],{"type":42,"tag":89,"props":698,"children":699},{"style":262},[700],{"type":48,"value":701},"  html",{"type":42,"tag":89,"props":703,"children":704},{"style":179},[705],{"type":48,"value":270},{"type":42,"tag":89,"props":707,"children":708},{"style":179},[709],{"type":48,"value":203},{"type":42,"tag":89,"props":711,"children":712},{"style":112},[713],{"type":48,"value":714},"\u003Cp>It works!\u003C\u002Fp>",{"type":42,"tag":89,"props":716,"children":717},{"style":179},[718],{"type":48,"value":283},{"type":42,"tag":89,"props":720,"children":721},{"style":179},[722],{"type":48,"value":632},{"type":42,"tag":89,"props":724,"children":726},{"class":91,"line":725},11,[727,732],{"type":42,"tag":89,"props":728,"children":729},{"style":179},[730],{"type":48,"value":731},"}",{"type":42,"tag":89,"props":733,"children":734},{"style":185},[735],{"type":48,"value":312},{"type":42,"tag":408,"props":737,"children":739},{"id":738},"embedded-in-nextjs-adapter-next",[740],{"type":48,"value":741},"Embedded in Next.js (adapter-next)",{"type":42,"tag":51,"props":743,"children":744},{},[745,747,753,755,761,763,768,770,776],{"type":48,"value":746},"When using ",{"type":42,"tag":62,"props":748,"children":750},{"className":749},[],[751],{"type":48,"value":752},"@emulators\u002Fadapter-next",{"type":48,"value":754},", the emulator runs inside your Next.js app at ",{"type":42,"tag":62,"props":756,"children":758},{"className":757},[],[759],{"type":48,"value":760},"\u002Femulate\u002Fresend",{"type":48,"value":762},". Set ",{"type":42,"tag":62,"props":764,"children":766},{"className":765},[],[767],{"type":48,"value":424},{"type":48,"value":769}," via ",{"type":42,"tag":62,"props":771,"children":773},{"className":772},[],[774],{"type":48,"value":775},"next.config.ts",{"type":48,"value":270},{"type":42,"tag":78,"props":778,"children":780},{"className":161,"code":779,"language":163,"meta":83,"style":83},"\u002F\u002F next.config.ts\nimport { withEmulate } from '@emulators\u002Fadapter-next'\n\nexport default withEmulate({\n  env: {\n    RESEND_BASE_URL: `http:\u002F\u002Flocalhost:${process.env.PORT ?? '3000'}\u002Femulate\u002Fresend`,\n  },\n})\n",[781],{"type":42,"tag":62,"props":782,"children":783},{"__ignoreMap":83},[784,792,828,835,860,877,959,967],{"type":42,"tag":89,"props":785,"children":786},{"class":91,"line":92},[787],{"type":42,"tag":89,"props":788,"children":789},{"style":96},[790],{"type":48,"value":791},"\u002F\u002F next.config.ts\n",{"type":42,"tag":89,"props":793,"children":794},{"class":91,"line":102},[795,799,803,808,812,816,820,824],{"type":42,"tag":89,"props":796,"children":797},{"style":173},[798],{"type":48,"value":176},{"type":42,"tag":89,"props":800,"children":801},{"style":179},[802],{"type":48,"value":182},{"type":42,"tag":89,"props":804,"children":805},{"style":185},[806],{"type":48,"value":807}," withEmulate",{"type":42,"tag":89,"props":809,"children":810},{"style":179},[811],{"type":48,"value":193},{"type":42,"tag":89,"props":813,"children":814},{"style":173},[815],{"type":48,"value":198},{"type":42,"tag":89,"props":817,"children":818},{"style":179},[819],{"type":48,"value":203},{"type":42,"tag":89,"props":821,"children":822},{"style":112},[823],{"type":48,"value":752},{"type":42,"tag":89,"props":825,"children":826},{"style":179},[827],{"type":48,"value":213},{"type":42,"tag":89,"props":829,"children":830},{"class":91,"line":128},[831],{"type":42,"tag":89,"props":832,"children":833},{"emptyLinePlaceholder":132},[834],{"type":48,"value":135},{"type":42,"tag":89,"props":836,"children":837},{"class":91,"line":138},[838,843,848,852,856],{"type":42,"tag":89,"props":839,"children":840},{"style":173},[841],{"type":48,"value":842},"export",{"type":42,"tag":89,"props":844,"children":845},{"style":173},[846],{"type":48,"value":847}," default",{"type":42,"tag":89,"props":849,"children":850},{"style":247},[851],{"type":48,"value":807},{"type":42,"tag":89,"props":853,"children":854},{"style":185},[855],{"type":48,"value":254},{"type":42,"tag":89,"props":857,"children":858},{"style":179},[859],{"type":48,"value":601},{"type":42,"tag":89,"props":861,"children":862},{"class":91,"line":147},[863,868,872],{"type":42,"tag":89,"props":864,"children":865},{"style":262},[866],{"type":48,"value":867},"  env",{"type":42,"tag":89,"props":869,"children":870},{"style":179},[871],{"type":48,"value":270},{"type":42,"tag":89,"props":873,"children":874},{"style":179},[875],{"type":48,"value":876}," {\n",{"type":42,"tag":89,"props":878,"children":879},{"class":91,"line":562},[880,885,889,894,899,904,909,913,918,922,927,932,936,941,946,950,955],{"type":42,"tag":89,"props":881,"children":882},{"style":262},[883],{"type":48,"value":884},"    RESEND_BASE_URL",{"type":42,"tag":89,"props":886,"children":887},{"style":179},[888],{"type":48,"value":270},{"type":42,"tag":89,"props":890,"children":891},{"style":179},[892],{"type":48,"value":893}," `",{"type":42,"tag":89,"props":895,"children":896},{"style":112},[897],{"type":48,"value":898},"http:\u002F\u002Flocalhost:",{"type":42,"tag":89,"props":900,"children":901},{"style":179},[902],{"type":48,"value":903},"${",{"type":42,"tag":89,"props":905,"children":906},{"style":185},[907],{"type":48,"value":908},"process",{"type":42,"tag":89,"props":910,"children":911},{"style":179},[912],{"type":48,"value":578},{"type":42,"tag":89,"props":914,"children":915},{"style":185},[916],{"type":48,"value":917},"env",{"type":42,"tag":89,"props":919,"children":920},{"style":179},[921],{"type":48,"value":578},{"type":42,"tag":89,"props":923,"children":924},{"style":185},[925],{"type":48,"value":926},"PORT ",{"type":42,"tag":89,"props":928,"children":929},{"style":179},[930],{"type":48,"value":931},"??",{"type":42,"tag":89,"props":933,"children":934},{"style":179},[935],{"type":48,"value":203},{"type":42,"tag":89,"props":937,"children":938},{"style":112},[939],{"type":48,"value":940},"3000",{"type":42,"tag":89,"props":942,"children":943},{"style":179},[944],{"type":48,"value":945},"'}",{"type":42,"tag":89,"props":947,"children":948},{"style":112},[949],{"type":48,"value":760},{"type":42,"tag":89,"props":951,"children":952},{"style":179},[953],{"type":48,"value":954},"`",{"type":42,"tag":89,"props":956,"children":957},{"style":179},[958],{"type":48,"value":632},{"type":42,"tag":89,"props":960,"children":961},{"class":91,"line":604},[962],{"type":42,"tag":89,"props":963,"children":964},{"style":179},[965],{"type":48,"value":966},"  },\n",{"type":42,"tag":89,"props":968,"children":969},{"class":91,"line":635},[970,974],{"type":42,"tag":89,"props":971,"children":972},{"style":179},[973],{"type":48,"value":731},{"type":42,"tag":89,"props":975,"children":976},{"style":185},[977],{"type":48,"value":312},{"type":42,"tag":78,"props":979,"children":981},{"className":161,"code":980,"language":163,"meta":83,"style":83},"\u002F\u002F app\u002Femulate\u002F[...path]\u002Froute.ts\nimport { createEmulateHandler } from '@emulators\u002Fadapter-next'\nimport * as resend from '@emulators\u002Fresend'\n\nexport const { GET, POST, PUT, PATCH, DELETE } = createEmulateHandler({\n  services: {\n    resend: {\n      emulator: resend,\n      seed: {\n        domains: [{ name: 'example.com' }],\n      },\n    },\n  },\n})\n",[982],{"type":42,"tag":62,"props":983,"children":984},{"__ignoreMap":83},[985,993,1029,1068,1075,1153,1169,1185,1205,1221,1277,1285,1294,1302],{"type":42,"tag":89,"props":986,"children":987},{"class":91,"line":92},[988],{"type":42,"tag":89,"props":989,"children":990},{"style":96},[991],{"type":48,"value":992},"\u002F\u002F app\u002Femulate\u002F[...path]\u002Froute.ts\n",{"type":42,"tag":89,"props":994,"children":995},{"class":91,"line":102},[996,1000,1004,1009,1013,1017,1021,1025],{"type":42,"tag":89,"props":997,"children":998},{"style":173},[999],{"type":48,"value":176},{"type":42,"tag":89,"props":1001,"children":1002},{"style":179},[1003],{"type":48,"value":182},{"type":42,"tag":89,"props":1005,"children":1006},{"style":185},[1007],{"type":48,"value":1008}," createEmulateHandler",{"type":42,"tag":89,"props":1010,"children":1011},{"style":179},[1012],{"type":48,"value":193},{"type":42,"tag":89,"props":1014,"children":1015},{"style":173},[1016],{"type":48,"value":198},{"type":42,"tag":89,"props":1018,"children":1019},{"style":179},[1020],{"type":48,"value":203},{"type":42,"tag":89,"props":1022,"children":1023},{"style":112},[1024],{"type":48,"value":752},{"type":42,"tag":89,"props":1026,"children":1027},{"style":179},[1028],{"type":48,"value":213},{"type":42,"tag":89,"props":1030,"children":1031},{"class":91,"line":128},[1032,1036,1041,1046,1050,1055,1059,1064],{"type":42,"tag":89,"props":1033,"children":1034},{"style":173},[1035],{"type":48,"value":176},{"type":42,"tag":89,"props":1037,"children":1038},{"style":179},[1039],{"type":48,"value":1040}," *",{"type":42,"tag":89,"props":1042,"children":1043},{"style":173},[1044],{"type":48,"value":1045}," as",{"type":42,"tag":89,"props":1047,"children":1048},{"style":185},[1049],{"type":48,"value":234},{"type":42,"tag":89,"props":1051,"children":1052},{"style":173},[1053],{"type":48,"value":1054},"from",{"type":42,"tag":89,"props":1056,"children":1057},{"style":179},[1058],{"type":48,"value":203},{"type":42,"tag":89,"props":1060,"children":1061},{"style":112},[1062],{"type":48,"value":1063},"@emulators\u002Fresend",{"type":42,"tag":89,"props":1065,"children":1066},{"style":179},[1067],{"type":48,"value":213},{"type":42,"tag":89,"props":1069,"children":1070},{"class":91,"line":138},[1071],{"type":42,"tag":89,"props":1072,"children":1073},{"emptyLinePlaceholder":132},[1074],{"type":48,"value":135},{"type":42,"tag":89,"props":1076,"children":1077},{"class":91,"line":147},[1078,1082,1087,1091,1096,1100,1105,1109,1114,1118,1123,1127,1132,1136,1141,1145,1149],{"type":42,"tag":89,"props":1079,"children":1080},{"style":173},[1081],{"type":48,"value":842},{"type":42,"tag":89,"props":1083,"children":1084},{"style":226},[1085],{"type":48,"value":1086}," const",{"type":42,"tag":89,"props":1088,"children":1089},{"style":179},[1090],{"type":48,"value":182},{"type":42,"tag":89,"props":1092,"children":1093},{"style":185},[1094],{"type":48,"value":1095}," GET",{"type":42,"tag":89,"props":1097,"children":1098},{"style":179},[1099],{"type":48,"value":288},{"type":42,"tag":89,"props":1101,"children":1102},{"style":185},[1103],{"type":48,"value":1104}," POST",{"type":42,"tag":89,"props":1106,"children":1107},{"style":179},[1108],{"type":48,"value":288},{"type":42,"tag":89,"props":1110,"children":1111},{"style":185},[1112],{"type":48,"value":1113}," PUT",{"type":42,"tag":89,"props":1115,"children":1116},{"style":179},[1117],{"type":48,"value":288},{"type":42,"tag":89,"props":1119,"children":1120},{"style":185},[1121],{"type":48,"value":1122}," PATCH",{"type":42,"tag":89,"props":1124,"children":1125},{"style":179},[1126],{"type":48,"value":288},{"type":42,"tag":89,"props":1128,"children":1129},{"style":185},[1130],{"type":48,"value":1131}," DELETE ",{"type":42,"tag":89,"props":1133,"children":1134},{"style":179},[1135],{"type":48,"value":731},{"type":42,"tag":89,"props":1137,"children":1138},{"style":179},[1139],{"type":48,"value":1140}," =",{"type":42,"tag":89,"props":1142,"children":1143},{"style":247},[1144],{"type":48,"value":1008},{"type":42,"tag":89,"props":1146,"children":1147},{"style":185},[1148],{"type":48,"value":254},{"type":42,"tag":89,"props":1150,"children":1151},{"style":179},[1152],{"type":48,"value":601},{"type":42,"tag":89,"props":1154,"children":1155},{"class":91,"line":562},[1156,1161,1165],{"type":42,"tag":89,"props":1157,"children":1158},{"style":262},[1159],{"type":48,"value":1160},"  services",{"type":42,"tag":89,"props":1162,"children":1163},{"style":179},[1164],{"type":48,"value":270},{"type":42,"tag":89,"props":1166,"children":1167},{"style":179},[1168],{"type":48,"value":876},{"type":42,"tag":89,"props":1170,"children":1171},{"class":91,"line":604},[1172,1177,1181],{"type":42,"tag":89,"props":1173,"children":1174},{"style":262},[1175],{"type":48,"value":1176},"    resend",{"type":42,"tag":89,"props":1178,"children":1179},{"style":179},[1180],{"type":48,"value":270},{"type":42,"tag":89,"props":1182,"children":1183},{"style":179},[1184],{"type":48,"value":876},{"type":42,"tag":89,"props":1186,"children":1187},{"class":91,"line":635},[1188,1193,1197,1201],{"type":42,"tag":89,"props":1189,"children":1190},{"style":262},[1191],{"type":48,"value":1192},"      emulator",{"type":42,"tag":89,"props":1194,"children":1195},{"style":179},[1196],{"type":48,"value":270},{"type":42,"tag":89,"props":1198,"children":1199},{"style":185},[1200],{"type":48,"value":573},{"type":42,"tag":89,"props":1202,"children":1203},{"style":179},[1204],{"type":48,"value":632},{"type":42,"tag":89,"props":1206,"children":1207},{"class":91,"line":665},[1208,1213,1217],{"type":42,"tag":89,"props":1209,"children":1210},{"style":262},[1211],{"type":48,"value":1212},"      seed",{"type":42,"tag":89,"props":1214,"children":1215},{"style":179},[1216],{"type":48,"value":270},{"type":42,"tag":89,"props":1218,"children":1219},{"style":179},[1220],{"type":48,"value":876},{"type":42,"tag":89,"props":1222,"children":1223},{"class":91,"line":695},[1224,1229,1233,1238,1242,1247,1251,1255,1260,1264,1268,1273],{"type":42,"tag":89,"props":1225,"children":1226},{"style":262},[1227],{"type":48,"value":1228},"        domains",{"type":42,"tag":89,"props":1230,"children":1231},{"style":179},[1232],{"type":48,"value":270},{"type":42,"tag":89,"props":1234,"children":1235},{"style":185},[1236],{"type":48,"value":1237}," [",{"type":42,"tag":89,"props":1239,"children":1240},{"style":179},[1241],{"type":48,"value":259},{"type":42,"tag":89,"props":1243,"children":1244},{"style":262},[1245],{"type":48,"value":1246}," name",{"type":42,"tag":89,"props":1248,"children":1249},{"style":179},[1250],{"type":48,"value":270},{"type":42,"tag":89,"props":1252,"children":1253},{"style":179},[1254],{"type":48,"value":203},{"type":42,"tag":89,"props":1256,"children":1257},{"style":112},[1258],{"type":48,"value":1259},"example.com",{"type":42,"tag":89,"props":1261,"children":1262},{"style":179},[1263],{"type":48,"value":283},{"type":42,"tag":89,"props":1265,"children":1266},{"style":179},[1267],{"type":48,"value":193},{"type":42,"tag":89,"props":1269,"children":1270},{"style":185},[1271],{"type":48,"value":1272},"]",{"type":42,"tag":89,"props":1274,"children":1275},{"style":179},[1276],{"type":48,"value":632},{"type":42,"tag":89,"props":1278,"children":1279},{"class":91,"line":725},[1280],{"type":42,"tag":89,"props":1281,"children":1282},{"style":179},[1283],{"type":48,"value":1284},"      },\n",{"type":42,"tag":89,"props":1286,"children":1288},{"class":91,"line":1287},12,[1289],{"type":42,"tag":89,"props":1290,"children":1291},{"style":179},[1292],{"type":48,"value":1293},"    },\n",{"type":42,"tag":89,"props":1295,"children":1297},{"class":91,"line":1296},13,[1298],{"type":42,"tag":89,"props":1299,"children":1300},{"style":179},[1301],{"type":48,"value":966},{"type":42,"tag":89,"props":1303,"children":1305},{"class":91,"line":1304},14,[1306,1310],{"type":42,"tag":89,"props":1307,"children":1308},{"style":179},[1309],{"type":48,"value":731},{"type":42,"tag":89,"props":1311,"children":1312},{"style":185},[1313],{"type":48,"value":312},{"type":42,"tag":408,"props":1315,"children":1317},{"id":1316},"direct-fetch",[1318],{"type":48,"value":1319},"Direct fetch",{"type":42,"tag":51,"props":1321,"children":1322},{},[1323],{"type":48,"value":1324},"If you cannot use the SDK or env var, call the emulator directly:",{"type":42,"tag":78,"props":1326,"children":1328},{"className":161,"code":1327,"language":163,"meta":83,"style":83},"await fetch('http:\u002F\u002Flocalhost:4000\u002Femails', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application\u002Fjson',\n    'Authorization': 'Bearer re_test_key',\n  },\n  body: JSON.stringify({\n    from: 'hello@example.com',\n    to: 'user@example.com',\n    subject: 'Hello',\n    html: '\u003Cp>It works!\u003C\u002Fp>',\n  }),\n})\n",[1329],{"type":42,"tag":62,"props":1330,"children":1331},{"__ignoreMap":83},[1332,1369,1398,1414,1452,1489,1496,1530,1558,1586,1614,1642,1659],{"type":42,"tag":89,"props":1333,"children":1334},{"class":91,"line":92},[1335,1339,1344,1348,1352,1357,1361,1365],{"type":42,"tag":89,"props":1336,"children":1337},{"style":173},[1338],{"type":48,"value":568},{"type":42,"tag":89,"props":1340,"children":1341},{"style":247},[1342],{"type":48,"value":1343}," fetch",{"type":42,"tag":89,"props":1345,"children":1346},{"style":185},[1347],{"type":48,"value":254},{"type":42,"tag":89,"props":1349,"children":1350},{"style":179},[1351],{"type":48,"value":283},{"type":42,"tag":89,"props":1353,"children":1354},{"style":112},[1355],{"type":48,"value":1356},"http:\u002F\u002Flocalhost:4000\u002Femails",{"type":42,"tag":89,"props":1358,"children":1359},{"style":179},[1360],{"type":48,"value":283},{"type":42,"tag":89,"props":1362,"children":1363},{"style":179},[1364],{"type":48,"value":288},{"type":42,"tag":89,"props":1366,"children":1367},{"style":179},[1368],{"type":48,"value":876},{"type":42,"tag":89,"props":1370,"children":1371},{"class":91,"line":102},[1372,1377,1381,1385,1390,1394],{"type":42,"tag":89,"props":1373,"children":1374},{"style":262},[1375],{"type":48,"value":1376},"  method",{"type":42,"tag":89,"props":1378,"children":1379},{"style":179},[1380],{"type":48,"value":270},{"type":42,"tag":89,"props":1382,"children":1383},{"style":179},[1384],{"type":48,"value":203},{"type":42,"tag":89,"props":1386,"children":1387},{"style":112},[1388],{"type":48,"value":1389},"POST",{"type":42,"tag":89,"props":1391,"children":1392},{"style":179},[1393],{"type":48,"value":283},{"type":42,"tag":89,"props":1395,"children":1396},{"style":179},[1397],{"type":48,"value":632},{"type":42,"tag":89,"props":1399,"children":1400},{"class":91,"line":128},[1401,1406,1410],{"type":42,"tag":89,"props":1402,"children":1403},{"style":262},[1404],{"type":48,"value":1405},"  headers",{"type":42,"tag":89,"props":1407,"children":1408},{"style":179},[1409],{"type":48,"value":270},{"type":42,"tag":89,"props":1411,"children":1412},{"style":179},[1413],{"type":48,"value":876},{"type":42,"tag":89,"props":1415,"children":1416},{"class":91,"line":138},[1417,1422,1427,1431,1435,1439,1444,1448],{"type":42,"tag":89,"props":1418,"children":1419},{"style":179},[1420],{"type":48,"value":1421},"    '",{"type":42,"tag":89,"props":1423,"children":1424},{"style":262},[1425],{"type":48,"value":1426},"Content-Type",{"type":42,"tag":89,"props":1428,"children":1429},{"style":179},[1430],{"type":48,"value":283},{"type":42,"tag":89,"props":1432,"children":1433},{"style":179},[1434],{"type":48,"value":270},{"type":42,"tag":89,"props":1436,"children":1437},{"style":179},[1438],{"type":48,"value":203},{"type":42,"tag":89,"props":1440,"children":1441},{"style":112},[1442],{"type":48,"value":1443},"application\u002Fjson",{"type":42,"tag":89,"props":1445,"children":1446},{"style":179},[1447],{"type":48,"value":283},{"type":42,"tag":89,"props":1449,"children":1450},{"style":179},[1451],{"type":48,"value":632},{"type":42,"tag":89,"props":1453,"children":1454},{"class":91,"line":147},[1455,1459,1464,1468,1472,1476,1481,1485],{"type":42,"tag":89,"props":1456,"children":1457},{"style":179},[1458],{"type":48,"value":1421},{"type":42,"tag":89,"props":1460,"children":1461},{"style":262},[1462],{"type":48,"value":1463},"Authorization",{"type":42,"tag":89,"props":1465,"children":1466},{"style":179},[1467],{"type":48,"value":283},{"type":42,"tag":89,"props":1469,"children":1470},{"style":179},[1471],{"type":48,"value":270},{"type":42,"tag":89,"props":1473,"children":1474},{"style":179},[1475],{"type":48,"value":203},{"type":42,"tag":89,"props":1477,"children":1478},{"style":112},[1479],{"type":48,"value":1480},"Bearer re_test_key",{"type":42,"tag":89,"props":1482,"children":1483},{"style":179},[1484],{"type":48,"value":283},{"type":42,"tag":89,"props":1486,"children":1487},{"style":179},[1488],{"type":48,"value":632},{"type":42,"tag":89,"props":1490,"children":1491},{"class":91,"line":562},[1492],{"type":42,"tag":89,"props":1493,"children":1494},{"style":179},[1495],{"type":48,"value":966},{"type":42,"tag":89,"props":1497,"children":1498},{"class":91,"line":604},[1499,1504,1508,1513,1517,1522,1526],{"type":42,"tag":89,"props":1500,"children":1501},{"style":262},[1502],{"type":48,"value":1503},"  body",{"type":42,"tag":89,"props":1505,"children":1506},{"style":179},[1507],{"type":48,"value":270},{"type":42,"tag":89,"props":1509,"children":1510},{"style":185},[1511],{"type":48,"value":1512}," JSON",{"type":42,"tag":89,"props":1514,"children":1515},{"style":179},[1516],{"type":48,"value":578},{"type":42,"tag":89,"props":1518,"children":1519},{"style":247},[1520],{"type":48,"value":1521},"stringify",{"type":42,"tag":89,"props":1523,"children":1524},{"style":185},[1525],{"type":48,"value":254},{"type":42,"tag":89,"props":1527,"children":1528},{"style":179},[1529],{"type":48,"value":601},{"type":42,"tag":89,"props":1531,"children":1532},{"class":91,"line":635},[1533,1538,1542,1546,1550,1554],{"type":42,"tag":89,"props":1534,"children":1535},{"style":262},[1536],{"type":48,"value":1537},"    from",{"type":42,"tag":89,"props":1539,"children":1540},{"style":179},[1541],{"type":48,"value":270},{"type":42,"tag":89,"props":1543,"children":1544},{"style":179},[1545],{"type":48,"value":203},{"type":42,"tag":89,"props":1547,"children":1548},{"style":112},[1549],{"type":48,"value":623},{"type":42,"tag":89,"props":1551,"children":1552},{"style":179},[1553],{"type":48,"value":283},{"type":42,"tag":89,"props":1555,"children":1556},{"style":179},[1557],{"type":48,"value":632},{"type":42,"tag":89,"props":1559,"children":1560},{"class":91,"line":665},[1561,1566,1570,1574,1578,1582],{"type":42,"tag":89,"props":1562,"children":1563},{"style":262},[1564],{"type":48,"value":1565},"    to",{"type":42,"tag":89,"props":1567,"children":1568},{"style":179},[1569],{"type":48,"value":270},{"type":42,"tag":89,"props":1571,"children":1572},{"style":179},[1573],{"type":48,"value":203},{"type":42,"tag":89,"props":1575,"children":1576},{"style":112},[1577],{"type":48,"value":654},{"type":42,"tag":89,"props":1579,"children":1580},{"style":179},[1581],{"type":48,"value":283},{"type":42,"tag":89,"props":1583,"children":1584},{"style":179},[1585],{"type":48,"value":632},{"type":42,"tag":89,"props":1587,"children":1588},{"class":91,"line":695},[1589,1594,1598,1602,1606,1610],{"type":42,"tag":89,"props":1590,"children":1591},{"style":262},[1592],{"type":48,"value":1593},"    subject",{"type":42,"tag":89,"props":1595,"children":1596},{"style":179},[1597],{"type":48,"value":270},{"type":42,"tag":89,"props":1599,"children":1600},{"style":179},[1601],{"type":48,"value":203},{"type":42,"tag":89,"props":1603,"children":1604},{"style":112},[1605],{"type":48,"value":684},{"type":42,"tag":89,"props":1607,"children":1608},{"style":179},[1609],{"type":48,"value":283},{"type":42,"tag":89,"props":1611,"children":1612},{"style":179},[1613],{"type":48,"value":632},{"type":42,"tag":89,"props":1615,"children":1616},{"class":91,"line":725},[1617,1622,1626,1630,1634,1638],{"type":42,"tag":89,"props":1618,"children":1619},{"style":262},[1620],{"type":48,"value":1621},"    html",{"type":42,"tag":89,"props":1623,"children":1624},{"style":179},[1625],{"type":48,"value":270},{"type":42,"tag":89,"props":1627,"children":1628},{"style":179},[1629],{"type":48,"value":203},{"type":42,"tag":89,"props":1631,"children":1632},{"style":112},[1633],{"type":48,"value":714},{"type":42,"tag":89,"props":1635,"children":1636},{"style":179},[1637],{"type":48,"value":283},{"type":42,"tag":89,"props":1639,"children":1640},{"style":179},[1641],{"type":48,"value":632},{"type":42,"tag":89,"props":1643,"children":1644},{"class":91,"line":1287},[1645,1650,1655],{"type":42,"tag":89,"props":1646,"children":1647},{"style":179},[1648],{"type":48,"value":1649},"  }",{"type":42,"tag":89,"props":1651,"children":1652},{"style":185},[1653],{"type":48,"value":1654},")",{"type":42,"tag":89,"props":1656,"children":1657},{"style":179},[1658],{"type":48,"value":632},{"type":42,"tag":89,"props":1660,"children":1661},{"class":91,"line":1296},[1662,1666],{"type":42,"tag":89,"props":1663,"children":1664},{"style":179},[1665],{"type":48,"value":731},{"type":42,"tag":89,"props":1667,"children":1668},{"style":185},[1669],{"type":48,"value":312},{"type":42,"tag":71,"props":1671,"children":1673},{"id":1672},"seed-config",[1674],{"type":48,"value":1675},"Seed Config",{"type":42,"tag":78,"props":1677,"children":1681},{"className":1678,"code":1679,"language":1680,"meta":83,"style":83},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","resend:\n  domains:\n    - name: example.com\n      region: us-east-1\n  contacts:\n    - email: test@example.com\n      first_name: Test\n      last_name: User\n      audience: Default\n","yaml",[1682],{"type":42,"tag":62,"props":1683,"children":1684},{"__ignoreMap":83},[1685,1697,1709,1730,1747,1759,1780,1797,1814],{"type":42,"tag":89,"props":1686,"children":1687},{"class":91,"line":92},[1688,1692],{"type":42,"tag":89,"props":1689,"children":1690},{"style":262},[1691],{"type":48,"value":4},{"type":42,"tag":89,"props":1693,"children":1694},{"style":179},[1695],{"type":48,"value":1696},":\n",{"type":42,"tag":89,"props":1698,"children":1699},{"class":91,"line":102},[1700,1705],{"type":42,"tag":89,"props":1701,"children":1702},{"style":262},[1703],{"type":48,"value":1704},"  domains",{"type":42,"tag":89,"props":1706,"children":1707},{"style":179},[1708],{"type":48,"value":1696},{"type":42,"tag":89,"props":1710,"children":1711},{"class":91,"line":128},[1712,1717,1721,1725],{"type":42,"tag":89,"props":1713,"children":1714},{"style":179},[1715],{"type":48,"value":1716},"    -",{"type":42,"tag":89,"props":1718,"children":1719},{"style":262},[1720],{"type":48,"value":1246},{"type":42,"tag":89,"props":1722,"children":1723},{"style":179},[1724],{"type":48,"value":270},{"type":42,"tag":89,"props":1726,"children":1727},{"style":112},[1728],{"type":48,"value":1729}," example.com\n",{"type":42,"tag":89,"props":1731,"children":1732},{"class":91,"line":138},[1733,1738,1742],{"type":42,"tag":89,"props":1734,"children":1735},{"style":262},[1736],{"type":48,"value":1737},"      region",{"type":42,"tag":89,"props":1739,"children":1740},{"style":179},[1741],{"type":48,"value":270},{"type":42,"tag":89,"props":1743,"children":1744},{"style":112},[1745],{"type":48,"value":1746}," us-east-1\n",{"type":42,"tag":89,"props":1748,"children":1749},{"class":91,"line":147},[1750,1755],{"type":42,"tag":89,"props":1751,"children":1752},{"style":262},[1753],{"type":48,"value":1754},"  contacts",{"type":42,"tag":89,"props":1756,"children":1757},{"style":179},[1758],{"type":48,"value":1696},{"type":42,"tag":89,"props":1760,"children":1761},{"class":91,"line":562},[1762,1766,1771,1775],{"type":42,"tag":89,"props":1763,"children":1764},{"style":179},[1765],{"type":48,"value":1716},{"type":42,"tag":89,"props":1767,"children":1768},{"style":262},[1769],{"type":48,"value":1770}," email",{"type":42,"tag":89,"props":1772,"children":1773},{"style":179},[1774],{"type":48,"value":270},{"type":42,"tag":89,"props":1776,"children":1777},{"style":112},[1778],{"type":48,"value":1779}," test@example.com\n",{"type":42,"tag":89,"props":1781,"children":1782},{"class":91,"line":604},[1783,1788,1792],{"type":42,"tag":89,"props":1784,"children":1785},{"style":262},[1786],{"type":48,"value":1787},"      first_name",{"type":42,"tag":89,"props":1789,"children":1790},{"style":179},[1791],{"type":48,"value":270},{"type":42,"tag":89,"props":1793,"children":1794},{"style":112},[1795],{"type":48,"value":1796}," Test\n",{"type":42,"tag":89,"props":1798,"children":1799},{"class":91,"line":635},[1800,1805,1809],{"type":42,"tag":89,"props":1801,"children":1802},{"style":262},[1803],{"type":48,"value":1804},"      last_name",{"type":42,"tag":89,"props":1806,"children":1807},{"style":179},[1808],{"type":48,"value":270},{"type":42,"tag":89,"props":1810,"children":1811},{"style":112},[1812],{"type":48,"value":1813}," User\n",{"type":42,"tag":89,"props":1815,"children":1816},{"class":91,"line":665},[1817,1822,1826],{"type":42,"tag":89,"props":1818,"children":1819},{"style":262},[1820],{"type":48,"value":1821},"      audience",{"type":42,"tag":89,"props":1823,"children":1824},{"style":179},[1825],{"type":48,"value":270},{"type":42,"tag":89,"props":1827,"children":1828},{"style":112},[1829],{"type":48,"value":1830}," Default\n",{"type":42,"tag":71,"props":1832,"children":1834},{"id":1833},"retrieving-sent-emails",[1835],{"type":48,"value":1836},"Retrieving Sent Emails",{"type":42,"tag":51,"props":1838,"children":1839},{},[1840,1842,1847],{"type":48,"value":1841},"This is the key differentiator of the emulator: every email sent via ",{"type":42,"tag":62,"props":1843,"children":1845},{"className":1844},[],[1846],{"type":48,"value":67},{"type":48,"value":1848}," is stored and queryable.",{"type":42,"tag":408,"props":1850,"children":1852},{"id":1851},"inbox-ui",[1853],{"type":48,"value":1854},"Inbox UI",{"type":42,"tag":51,"props":1856,"children":1857},{},[1858],{"type":48,"value":1859},"Browse sent emails in the browser:",{"type":42,"tag":78,"props":1861,"children":1865},{"className":1862,"code":1864,"language":48},[1863],"language-text","http:\u002F\u002Flocalhost:4000\u002Finbox\n",[1866],{"type":42,"tag":62,"props":1867,"children":1868},{"__ignoreMap":83},[1869],{"type":48,"value":1864},{"type":42,"tag":408,"props":1871,"children":1873},{"id":1872},"rest-api",[1874],{"type":48,"value":1875},"REST API",{"type":42,"tag":78,"props":1877,"children":1879},{"className":80,"code":1878,"language":82,"meta":83,"style":83},"# List all sent emails\ncurl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\"\n\n# Get a single email by ID\ncurl http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid> \\\n  -H \"Authorization: Bearer re_test_key\"\n",[1880],{"type":42,"tag":62,"props":1881,"children":1882},{"__ignoreMap":83},[1883,1891,1906,1925,1932,1940,1976],{"type":42,"tag":89,"props":1884,"children":1885},{"class":91,"line":92},[1886],{"type":42,"tag":89,"props":1887,"children":1888},{"style":96},[1889],{"type":48,"value":1890},"# List all sent emails\n",{"type":42,"tag":89,"props":1892,"children":1893},{"class":91,"line":102},[1894,1898,1902],{"type":42,"tag":89,"props":1895,"children":1896},{"style":106},[1897],{"type":48,"value":362},{"type":42,"tag":89,"props":1899,"children":1900},{"style":112},[1901],{"type":48,"value":367},{"type":42,"tag":89,"props":1903,"children":1904},{"style":185},[1905],{"type":48,"value":372},{"type":42,"tag":89,"props":1907,"children":1908},{"class":91,"line":128},[1909,1913,1917,1921],{"type":42,"tag":89,"props":1910,"children":1911},{"style":112},[1912],{"type":48,"value":380},{"type":42,"tag":89,"props":1914,"children":1915},{"style":179},[1916],{"type":48,"value":385},{"type":42,"tag":89,"props":1918,"children":1919},{"style":112},[1920],{"type":48,"value":390},{"type":42,"tag":89,"props":1922,"children":1923},{"style":179},[1924],{"type":48,"value":395},{"type":42,"tag":89,"props":1926,"children":1927},{"class":91,"line":138},[1928],{"type":42,"tag":89,"props":1929,"children":1930},{"emptyLinePlaceholder":132},[1931],{"type":48,"value":135},{"type":42,"tag":89,"props":1933,"children":1934},{"class":91,"line":147},[1935],{"type":42,"tag":89,"props":1936,"children":1937},{"style":96},[1938],{"type":48,"value":1939},"# Get a single email by ID\n",{"type":42,"tag":89,"props":1941,"children":1942},{"class":91,"line":562},[1943,1947,1952,1957,1962,1967,1972],{"type":42,"tag":89,"props":1944,"children":1945},{"style":106},[1946],{"type":48,"value":362},{"type":42,"tag":89,"props":1948,"children":1949},{"style":112},[1950],{"type":48,"value":1951}," http:\u002F\u002Flocalhost:4000\u002Femails\u002F",{"type":42,"tag":89,"props":1953,"children":1954},{"style":179},[1955],{"type":48,"value":1956},"\u003C",{"type":42,"tag":89,"props":1958,"children":1959},{"style":112},[1960],{"type":48,"value":1961},"i",{"type":42,"tag":89,"props":1963,"children":1964},{"style":185},[1965],{"type":48,"value":1966},"d",{"type":42,"tag":89,"props":1968,"children":1969},{"style":179},[1970],{"type":48,"value":1971},">",{"type":42,"tag":89,"props":1973,"children":1974},{"style":185},[1975],{"type":48,"value":372},{"type":42,"tag":89,"props":1977,"children":1978},{"class":91,"line":604},[1979,1983,1987,1991],{"type":42,"tag":89,"props":1980,"children":1981},{"style":112},[1982],{"type":48,"value":380},{"type":42,"tag":89,"props":1984,"children":1985},{"style":179},[1986],{"type":48,"value":385},{"type":42,"tag":89,"props":1988,"children":1989},{"style":112},[1990],{"type":48,"value":390},{"type":42,"tag":89,"props":1992,"children":1993},{"style":179},[1994],{"type":48,"value":395},{"type":42,"tag":408,"props":1996,"children":1998},{"id":1997},"extracting-data-from-emails-tests-agents",[1999],{"type":48,"value":2000},"Extracting Data from Emails (tests, agents)",{"type":42,"tag":51,"props":2002,"children":2003},{},[2004],{"type":48,"value":2005},"Useful for completing magic link, verification code, or password reset flows programmatically:",{"type":42,"tag":78,"props":2007,"children":2009},{"className":80,"code":2008,"language":82,"meta":83,"style":83},"# Get the latest email ID\nEMAIL_ID=$(curl -s http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer re_test_key\" | jq -r '.data[0].id')\n\n# Extract a 6-digit code from the HTML body\nCODE=$(curl -s http:\u002F\u002Flocalhost:4000\u002Femails\u002F$EMAIL_ID \\\n  -H \"Authorization: Bearer re_test_key\" | jq -r '.html' | grep -oE '[0-9]{6}')\n\necho \"Verification code: $CODE\"\n",[2010],{"type":42,"tag":62,"props":2011,"children":2012},{"__ignoreMap":83},[2013,2021,2051,2103,2110,2118,2147,2222,2229],{"type":42,"tag":89,"props":2014,"children":2015},{"class":91,"line":92},[2016],{"type":42,"tag":89,"props":2017,"children":2018},{"style":96},[2019],{"type":48,"value":2020},"# Get the latest email ID\n",{"type":42,"tag":89,"props":2022,"children":2023},{"class":91,"line":102},[2024,2029,2034,2038,2043,2047],{"type":42,"tag":89,"props":2025,"children":2026},{"style":185},[2027],{"type":48,"value":2028},"EMAIL_ID",{"type":42,"tag":89,"props":2030,"children":2031},{"style":179},[2032],{"type":48,"value":2033},"=$(",{"type":42,"tag":89,"props":2035,"children":2036},{"style":106},[2037],{"type":48,"value":362},{"type":42,"tag":89,"props":2039,"children":2040},{"style":112},[2041],{"type":48,"value":2042}," -s",{"type":42,"tag":89,"props":2044,"children":2045},{"style":112},[2046],{"type":48,"value":367},{"type":42,"tag":89,"props":2048,"children":2049},{"style":185},[2050],{"type":48,"value":372},{"type":42,"tag":89,"props":2052,"children":2053},{"class":91,"line":128},[2054,2058,2062,2066,2071,2076,2081,2086,2090,2095,2099],{"type":42,"tag":89,"props":2055,"children":2056},{"style":112},[2057],{"type":48,"value":380},{"type":42,"tag":89,"props":2059,"children":2060},{"style":179},[2061],{"type":48,"value":385},{"type":42,"tag":89,"props":2063,"children":2064},{"style":112},[2065],{"type":48,"value":390},{"type":42,"tag":89,"props":2067,"children":2068},{"style":179},[2069],{"type":48,"value":2070},"\"",{"type":42,"tag":89,"props":2072,"children":2073},{"style":179},[2074],{"type":48,"value":2075}," |",{"type":42,"tag":89,"props":2077,"children":2078},{"style":106},[2079],{"type":48,"value":2080}," jq",{"type":42,"tag":89,"props":2082,"children":2083},{"style":112},[2084],{"type":48,"value":2085}," -r",{"type":42,"tag":89,"props":2087,"children":2088},{"style":179},[2089],{"type":48,"value":203},{"type":42,"tag":89,"props":2091,"children":2092},{"style":112},[2093],{"type":48,"value":2094},".data[0].id",{"type":42,"tag":89,"props":2096,"children":2097},{"style":179},[2098],{"type":48,"value":283},{"type":42,"tag":89,"props":2100,"children":2101},{"style":179},[2102],{"type":48,"value":312},{"type":42,"tag":89,"props":2104,"children":2105},{"class":91,"line":138},[2106],{"type":42,"tag":89,"props":2107,"children":2108},{"emptyLinePlaceholder":132},[2109],{"type":48,"value":135},{"type":42,"tag":89,"props":2111,"children":2112},{"class":91,"line":147},[2113],{"type":42,"tag":89,"props":2114,"children":2115},{"style":96},[2116],{"type":48,"value":2117},"# Extract a 6-digit code from the HTML body\n",{"type":42,"tag":89,"props":2119,"children":2120},{"class":91,"line":562},[2121,2126,2130,2134,2138,2142],{"type":42,"tag":89,"props":2122,"children":2123},{"style":185},[2124],{"type":48,"value":2125},"CODE",{"type":42,"tag":89,"props":2127,"children":2128},{"style":179},[2129],{"type":48,"value":2033},{"type":42,"tag":89,"props":2131,"children":2132},{"style":106},[2133],{"type":48,"value":362},{"type":42,"tag":89,"props":2135,"children":2136},{"style":112},[2137],{"type":48,"value":2042},{"type":42,"tag":89,"props":2139,"children":2140},{"style":112},[2141],{"type":48,"value":1951},{"type":42,"tag":89,"props":2143,"children":2144},{"style":185},[2145],{"type":48,"value":2146},"$EMAIL_ID \\\n",{"type":42,"tag":89,"props":2148,"children":2149},{"class":91,"line":604},[2150,2154,2158,2162,2166,2170,2174,2178,2182,2187,2191,2195,2200,2205,2209,2214,2218],{"type":42,"tag":89,"props":2151,"children":2152},{"style":112},[2153],{"type":48,"value":380},{"type":42,"tag":89,"props":2155,"children":2156},{"style":179},[2157],{"type":48,"value":385},{"type":42,"tag":89,"props":2159,"children":2160},{"style":112},[2161],{"type":48,"value":390},{"type":42,"tag":89,"props":2163,"children":2164},{"style":179},[2165],{"type":48,"value":2070},{"type":42,"tag":89,"props":2167,"children":2168},{"style":179},[2169],{"type":48,"value":2075},{"type":42,"tag":89,"props":2171,"children":2172},{"style":106},[2173],{"type":48,"value":2080},{"type":42,"tag":89,"props":2175,"children":2176},{"style":112},[2177],{"type":48,"value":2085},{"type":42,"tag":89,"props":2179,"children":2180},{"style":179},[2181],{"type":48,"value":203},{"type":42,"tag":89,"props":2183,"children":2184},{"style":112},[2185],{"type":48,"value":2186},".html",{"type":42,"tag":89,"props":2188,"children":2189},{"style":179},[2190],{"type":48,"value":283},{"type":42,"tag":89,"props":2192,"children":2193},{"style":179},[2194],{"type":48,"value":2075},{"type":42,"tag":89,"props":2196,"children":2197},{"style":106},[2198],{"type":48,"value":2199}," grep",{"type":42,"tag":89,"props":2201,"children":2202},{"style":112},[2203],{"type":48,"value":2204}," -oE",{"type":42,"tag":89,"props":2206,"children":2207},{"style":179},[2208],{"type":48,"value":203},{"type":42,"tag":89,"props":2210,"children":2211},{"style":112},[2212],{"type":48,"value":2213},"[0-9]{6}",{"type":42,"tag":89,"props":2215,"children":2216},{"style":179},[2217],{"type":48,"value":283},{"type":42,"tag":89,"props":2219,"children":2220},{"style":179},[2221],{"type":48,"value":312},{"type":42,"tag":89,"props":2223,"children":2224},{"class":91,"line":635},[2225],{"type":42,"tag":89,"props":2226,"children":2227},{"emptyLinePlaceholder":132},[2228],{"type":48,"value":135},{"type":42,"tag":89,"props":2230,"children":2231},{"class":91,"line":665},[2232,2237,2241,2246,2251],{"type":42,"tag":89,"props":2233,"children":2234},{"style":247},[2235],{"type":48,"value":2236},"echo",{"type":42,"tag":89,"props":2238,"children":2239},{"style":179},[2240],{"type":48,"value":385},{"type":42,"tag":89,"props":2242,"children":2243},{"style":112},[2244],{"type":48,"value":2245},"Verification code: ",{"type":42,"tag":89,"props":2247,"children":2248},{"style":185},[2249],{"type":48,"value":2250},"$CODE",{"type":42,"tag":89,"props":2252,"children":2253},{"style":179},[2254],{"type":48,"value":395},{"type":42,"tag":71,"props":2256,"children":2258},{"id":2257},"api-endpoints",[2259],{"type":48,"value":2260},"API Endpoints",{"type":42,"tag":408,"props":2262,"children":2263},{"id":583},[2264],{"type":48,"value":2265},"Emails",{"type":42,"tag":78,"props":2267,"children":2269},{"className":80,"code":2268,"language":82,"meta":83,"style":83},"# Send an email\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"from\": \"hello@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"html\": \"\u003Cp>Hi\u003C\u002Fp>\"}'\n\n# Send batch (up to 100)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails\u002Fbatch \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '[{\"from\": \"a@example.com\", \"to\": \"b@example.com\", \"subject\": \"One\", \"html\": \"\u003Cp>1\u003C\u002Fp>\"}]'\n\n# List all emails\ncurl http:\u002F\u002Flocalhost:4000\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Get email by ID\ncurl http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Cancel a scheduled email\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Femails\u002F\u003Cid>\u002Fcancel \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[2270],{"type":42,"tag":62,"props":2271,"children":2272},{"__ignoreMap":83},[2273,2281,2305,2334,2358,2379,2386,2394,2418,2445,2468,2488,2495,2503,2518,2542,2550,2559,2591,2615,2623,2632,2677],{"type":42,"tag":89,"props":2274,"children":2275},{"class":91,"line":92},[2276],{"type":42,"tag":89,"props":2277,"children":2278},{"style":96},[2279],{"type":48,"value":2280},"# Send an email\n",{"type":42,"tag":89,"props":2282,"children":2283},{"class":91,"line":102},[2284,2288,2293,2297,2301],{"type":42,"tag":89,"props":2285,"children":2286},{"style":106},[2287],{"type":48,"value":362},{"type":42,"tag":89,"props":2289,"children":2290},{"style":112},[2291],{"type":48,"value":2292}," -X",{"type":42,"tag":89,"props":2294,"children":2295},{"style":112},[2296],{"type":48,"value":1104},{"type":42,"tag":89,"props":2298,"children":2299},{"style":112},[2300],{"type":48,"value":367},{"type":42,"tag":89,"props":2302,"children":2303},{"style":185},[2304],{"type":48,"value":372},{"type":42,"tag":89,"props":2306,"children":2307},{"class":91,"line":128},[2308,2312,2316,2321,2326,2330],{"type":42,"tag":89,"props":2309,"children":2310},{"style":112},[2311],{"type":48,"value":380},{"type":42,"tag":89,"props":2313,"children":2314},{"style":179},[2315],{"type":48,"value":385},{"type":42,"tag":89,"props":2317,"children":2318},{"style":112},[2319],{"type":48,"value":2320},"Authorization: Bearer ",{"type":42,"tag":89,"props":2322,"children":2323},{"style":185},[2324],{"type":48,"value":2325},"$TOKEN",{"type":42,"tag":89,"props":2327,"children":2328},{"style":179},[2329],{"type":48,"value":2070},{"type":42,"tag":89,"props":2331,"children":2332},{"style":185},[2333],{"type":48,"value":372},{"type":42,"tag":89,"props":2335,"children":2336},{"class":91,"line":138},[2337,2341,2345,2350,2354],{"type":42,"tag":89,"props":2338,"children":2339},{"style":112},[2340],{"type":48,"value":380},{"type":42,"tag":89,"props":2342,"children":2343},{"style":179},[2344],{"type":48,"value":385},{"type":42,"tag":89,"props":2346,"children":2347},{"style":112},[2348],{"type":48,"value":2349},"Content-Type: application\u002Fjson",{"type":42,"tag":89,"props":2351,"children":2352},{"style":179},[2353],{"type":48,"value":2070},{"type":42,"tag":89,"props":2355,"children":2356},{"style":185},[2357],{"type":48,"value":372},{"type":42,"tag":89,"props":2359,"children":2360},{"class":91,"line":147},[2361,2366,2370,2375],{"type":42,"tag":89,"props":2362,"children":2363},{"style":112},[2364],{"type":48,"value":2365},"  -d",{"type":42,"tag":89,"props":2367,"children":2368},{"style":179},[2369],{"type":48,"value":203},{"type":42,"tag":89,"props":2371,"children":2372},{"style":112},[2373],{"type":48,"value":2374},"{\"from\": \"hello@example.com\", \"to\": \"user@example.com\", \"subject\": \"Hello\", \"html\": \"\u003Cp>Hi\u003C\u002Fp>\"}",{"type":42,"tag":89,"props":2376,"children":2377},{"style":179},[2378],{"type":48,"value":213},{"type":42,"tag":89,"props":2380,"children":2381},{"class":91,"line":562},[2382],{"type":42,"tag":89,"props":2383,"children":2384},{"emptyLinePlaceholder":132},[2385],{"type":48,"value":135},{"type":42,"tag":89,"props":2387,"children":2388},{"class":91,"line":604},[2389],{"type":42,"tag":89,"props":2390,"children":2391},{"style":96},[2392],{"type":48,"value":2393},"# Send batch (up to 100)\n",{"type":42,"tag":89,"props":2395,"children":2396},{"class":91,"line":635},[2397,2401,2405,2409,2414],{"type":42,"tag":89,"props":2398,"children":2399},{"style":106},[2400],{"type":48,"value":362},{"type":42,"tag":89,"props":2402,"children":2403},{"style":112},[2404],{"type":48,"value":2292},{"type":42,"tag":89,"props":2406,"children":2407},{"style":112},[2408],{"type":48,"value":1104},{"type":42,"tag":89,"props":2410,"children":2411},{"style":112},[2412],{"type":48,"value":2413}," http:\u002F\u002Flocalhost:4000\u002Femails\u002Fbatch",{"type":42,"tag":89,"props":2415,"children":2416},{"style":185},[2417],{"type":48,"value":372},{"type":42,"tag":89,"props":2419,"children":2420},{"class":91,"line":665},[2421,2425,2429,2433,2437,2441],{"type":42,"tag":89,"props":2422,"children":2423},{"style":112},[2424],{"type":48,"value":380},{"type":42,"tag":89,"props":2426,"children":2427},{"style":179},[2428],{"type":48,"value":385},{"type":42,"tag":89,"props":2430,"children":2431},{"style":112},[2432],{"type":48,"value":2320},{"type":42,"tag":89,"props":2434,"children":2435},{"style":185},[2436],{"type":48,"value":2325},{"type":42,"tag":89,"props":2438,"children":2439},{"style":179},[2440],{"type":48,"value":2070},{"type":42,"tag":89,"props":2442,"children":2443},{"style":185},[2444],{"type":48,"value":372},{"type":42,"tag":89,"props":2446,"children":2447},{"class":91,"line":695},[2448,2452,2456,2460,2464],{"type":42,"tag":89,"props":2449,"children":2450},{"style":112},[2451],{"type":48,"value":380},{"type":42,"tag":89,"props":2453,"children":2454},{"style":179},[2455],{"type":48,"value":385},{"type":42,"tag":89,"props":2457,"children":2458},{"style":112},[2459],{"type":48,"value":2349},{"type":42,"tag":89,"props":2461,"children":2462},{"style":179},[2463],{"type":48,"value":2070},{"type":42,"tag":89,"props":2465,"children":2466},{"style":185},[2467],{"type":48,"value":372},{"type":42,"tag":89,"props":2469,"children":2470},{"class":91,"line":725},[2471,2475,2479,2484],{"type":42,"tag":89,"props":2472,"children":2473},{"style":112},[2474],{"type":48,"value":2365},{"type":42,"tag":89,"props":2476,"children":2477},{"style":179},[2478],{"type":48,"value":203},{"type":42,"tag":89,"props":2480,"children":2481},{"style":112},[2482],{"type":48,"value":2483},"[{\"from\": \"a@example.com\", \"to\": \"b@example.com\", \"subject\": \"One\", \"html\": \"\u003Cp>1\u003C\u002Fp>\"}]",{"type":42,"tag":89,"props":2485,"children":2486},{"style":179},[2487],{"type":48,"value":213},{"type":42,"tag":89,"props":2489,"children":2490},{"class":91,"line":1287},[2491],{"type":42,"tag":89,"props":2492,"children":2493},{"emptyLinePlaceholder":132},[2494],{"type":48,"value":135},{"type":42,"tag":89,"props":2496,"children":2497},{"class":91,"line":1296},[2498],{"type":42,"tag":89,"props":2499,"children":2500},{"style":96},[2501],{"type":48,"value":2502},"# List all emails\n",{"type":42,"tag":89,"props":2504,"children":2505},{"class":91,"line":1304},[2506,2510,2514],{"type":42,"tag":89,"props":2507,"children":2508},{"style":106},[2509],{"type":48,"value":362},{"type":42,"tag":89,"props":2511,"children":2512},{"style":112},[2513],{"type":48,"value":367},{"type":42,"tag":89,"props":2515,"children":2516},{"style":185},[2517],{"type":48,"value":372},{"type":42,"tag":89,"props":2519,"children":2521},{"class":91,"line":2520},15,[2522,2526,2530,2534,2538],{"type":42,"tag":89,"props":2523,"children":2524},{"style":112},[2525],{"type":48,"value":380},{"type":42,"tag":89,"props":2527,"children":2528},{"style":179},[2529],{"type":48,"value":385},{"type":42,"tag":89,"props":2531,"children":2532},{"style":112},[2533],{"type":48,"value":2320},{"type":42,"tag":89,"props":2535,"children":2536},{"style":185},[2537],{"type":48,"value":2325},{"type":42,"tag":89,"props":2539,"children":2540},{"style":179},[2541],{"type":48,"value":395},{"type":42,"tag":89,"props":2543,"children":2545},{"class":91,"line":2544},16,[2546],{"type":42,"tag":89,"props":2547,"children":2548},{"emptyLinePlaceholder":132},[2549],{"type":48,"value":135},{"type":42,"tag":89,"props":2551,"children":2553},{"class":91,"line":2552},17,[2554],{"type":42,"tag":89,"props":2555,"children":2556},{"style":96},[2557],{"type":48,"value":2558},"# Get email by ID\n",{"type":42,"tag":89,"props":2560,"children":2562},{"class":91,"line":2561},18,[2563,2567,2571,2575,2579,2583,2587],{"type":42,"tag":89,"props":2564,"children":2565},{"style":106},[2566],{"type":48,"value":362},{"type":42,"tag":89,"props":2568,"children":2569},{"style":112},[2570],{"type":48,"value":1951},{"type":42,"tag":89,"props":2572,"children":2573},{"style":179},[2574],{"type":48,"value":1956},{"type":42,"tag":89,"props":2576,"children":2577},{"style":112},[2578],{"type":48,"value":1961},{"type":42,"tag":89,"props":2580,"children":2581},{"style":185},[2582],{"type":48,"value":1966},{"type":42,"tag":89,"props":2584,"children":2585},{"style":179},[2586],{"type":48,"value":1971},{"type":42,"tag":89,"props":2588,"children":2589},{"style":185},[2590],{"type":48,"value":372},{"type":42,"tag":89,"props":2592,"children":2594},{"class":91,"line":2593},19,[2595,2599,2603,2607,2611],{"type":42,"tag":89,"props":2596,"children":2597},{"style":112},[2598],{"type":48,"value":380},{"type":42,"tag":89,"props":2600,"children":2601},{"style":179},[2602],{"type":48,"value":385},{"type":42,"tag":89,"props":2604,"children":2605},{"style":112},[2606],{"type":48,"value":2320},{"type":42,"tag":89,"props":2608,"children":2609},{"style":185},[2610],{"type":48,"value":2325},{"type":42,"tag":89,"props":2612,"children":2613},{"style":179},[2614],{"type":48,"value":395},{"type":42,"tag":89,"props":2616,"children":2618},{"class":91,"line":2617},20,[2619],{"type":42,"tag":89,"props":2620,"children":2621},{"emptyLinePlaceholder":132},[2622],{"type":48,"value":135},{"type":42,"tag":89,"props":2624,"children":2626},{"class":91,"line":2625},21,[2627],{"type":42,"tag":89,"props":2628,"children":2629},{"style":96},[2630],{"type":48,"value":2631},"# Cancel a scheduled email\n",{"type":42,"tag":89,"props":2633,"children":2635},{"class":91,"line":2634},22,[2636,2640,2644,2648,2652,2656,2660,2664,2668,2673],{"type":42,"tag":89,"props":2637,"children":2638},{"style":106},[2639],{"type":48,"value":362},{"type":42,"tag":89,"props":2641,"children":2642},{"style":112},[2643],{"type":48,"value":2292},{"type":42,"tag":89,"props":2645,"children":2646},{"style":112},[2647],{"type":48,"value":1104},{"type":42,"tag":89,"props":2649,"children":2650},{"style":112},[2651],{"type":48,"value":1951},{"type":42,"tag":89,"props":2653,"children":2654},{"style":179},[2655],{"type":48,"value":1956},{"type":42,"tag":89,"props":2657,"children":2658},{"style":112},[2659],{"type":48,"value":1961},{"type":42,"tag":89,"props":2661,"children":2662},{"style":185},[2663],{"type":48,"value":1966},{"type":42,"tag":89,"props":2665,"children":2666},{"style":179},[2667],{"type":48,"value":1971},{"type":42,"tag":89,"props":2669,"children":2670},{"style":112},[2671],{"type":48,"value":2672},"\u002Fcancel",{"type":42,"tag":89,"props":2674,"children":2675},{"style":185},[2676],{"type":48,"value":372},{"type":42,"tag":89,"props":2678,"children":2680},{"class":91,"line":2679},23,[2681,2685,2689,2693,2697],{"type":42,"tag":89,"props":2682,"children":2683},{"style":112},[2684],{"type":48,"value":380},{"type":42,"tag":89,"props":2686,"children":2687},{"style":179},[2688],{"type":48,"value":385},{"type":42,"tag":89,"props":2690,"children":2691},{"style":112},[2692],{"type":48,"value":2320},{"type":42,"tag":89,"props":2694,"children":2695},{"style":185},[2696],{"type":48,"value":2325},{"type":42,"tag":89,"props":2698,"children":2699},{"style":179},[2700],{"type":48,"value":395},{"type":42,"tag":51,"props":2702,"children":2703},{},[2704,2706,2711,2713,2719,2720,2726,2727,2733,2734,2739,2740,2746,2747,2753,2754,2760,2761,2767,2768,2774,2775,2781],{"type":48,"value":2705},"Supported fields: ",{"type":42,"tag":62,"props":2707,"children":2709},{"className":2708},[],[2710],{"type":48,"value":1054},{"type":48,"value":2712},", ",{"type":42,"tag":62,"props":2714,"children":2716},{"className":2715},[],[2717],{"type":48,"value":2718},"to",{"type":48,"value":2712},{"type":42,"tag":62,"props":2721,"children":2723},{"className":2722},[],[2724],{"type":48,"value":2725},"subject",{"type":48,"value":2712},{"type":42,"tag":62,"props":2728,"children":2730},{"className":2729},[],[2731],{"type":48,"value":2732},"html",{"type":48,"value":2712},{"type":42,"tag":62,"props":2735,"children":2737},{"className":2736},[],[2738],{"type":48,"value":48},{"type":48,"value":2712},{"type":42,"tag":62,"props":2741,"children":2743},{"className":2742},[],[2744],{"type":48,"value":2745},"cc",{"type":48,"value":2712},{"type":42,"tag":62,"props":2748,"children":2750},{"className":2749},[],[2751],{"type":48,"value":2752},"bcc",{"type":48,"value":2712},{"type":42,"tag":62,"props":2755,"children":2757},{"className":2756},[],[2758],{"type":48,"value":2759},"reply_to",{"type":48,"value":2712},{"type":42,"tag":62,"props":2762,"children":2764},{"className":2763},[],[2765],{"type":48,"value":2766},"headers",{"type":48,"value":2712},{"type":42,"tag":62,"props":2769,"children":2771},{"className":2770},[],[2772],{"type":48,"value":2773},"tags",{"type":48,"value":2712},{"type":42,"tag":62,"props":2776,"children":2778},{"className":2777},[],[2779],{"type":48,"value":2780},"scheduled_at",{"type":48,"value":578},{"type":42,"tag":408,"props":2783,"children":2785},{"id":2784},"domains",[2786],{"type":48,"value":2787},"Domains",{"type":42,"tag":78,"props":2789,"children":2791},{"className":80,"code":2790,"language":82,"meta":83,"style":83},"# Create domain\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fdomains \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"example.com\", \"region\": \"us-east-1\"}'\n\n# List domains\ncurl http:\u002F\u002Flocalhost:4000\u002Fdomains \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Get domain\ncurl http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Verify domain (instantly marks all records as verified)\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid>\u002Fverify \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete domain\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[2792],{"type":42,"tag":62,"props":2793,"children":2794},{"__ignoreMap":83},[2795,2803,2827,2854,2877,2897,2904,2912,2927,2950,2957,2965,2997,3020,3027,3035,3079,3102,3109,3117,3157],{"type":42,"tag":89,"props":2796,"children":2797},{"class":91,"line":92},[2798],{"type":42,"tag":89,"props":2799,"children":2800},{"style":96},[2801],{"type":48,"value":2802},"# Create domain\n",{"type":42,"tag":89,"props":2804,"children":2805},{"class":91,"line":102},[2806,2810,2814,2818,2823],{"type":42,"tag":89,"props":2807,"children":2808},{"style":106},[2809],{"type":48,"value":362},{"type":42,"tag":89,"props":2811,"children":2812},{"style":112},[2813],{"type":48,"value":2292},{"type":42,"tag":89,"props":2815,"children":2816},{"style":112},[2817],{"type":48,"value":1104},{"type":42,"tag":89,"props":2819,"children":2820},{"style":112},[2821],{"type":48,"value":2822}," http:\u002F\u002Flocalhost:4000\u002Fdomains",{"type":42,"tag":89,"props":2824,"children":2825},{"style":185},[2826],{"type":48,"value":372},{"type":42,"tag":89,"props":2828,"children":2829},{"class":91,"line":128},[2830,2834,2838,2842,2846,2850],{"type":42,"tag":89,"props":2831,"children":2832},{"style":112},[2833],{"type":48,"value":380},{"type":42,"tag":89,"props":2835,"children":2836},{"style":179},[2837],{"type":48,"value":385},{"type":42,"tag":89,"props":2839,"children":2840},{"style":112},[2841],{"type":48,"value":2320},{"type":42,"tag":89,"props":2843,"children":2844},{"style":185},[2845],{"type":48,"value":2325},{"type":42,"tag":89,"props":2847,"children":2848},{"style":179},[2849],{"type":48,"value":2070},{"type":42,"tag":89,"props":2851,"children":2852},{"style":185},[2853],{"type":48,"value":372},{"type":42,"tag":89,"props":2855,"children":2856},{"class":91,"line":138},[2857,2861,2865,2869,2873],{"type":42,"tag":89,"props":2858,"children":2859},{"style":112},[2860],{"type":48,"value":380},{"type":42,"tag":89,"props":2862,"children":2863},{"style":179},[2864],{"type":48,"value":385},{"type":42,"tag":89,"props":2866,"children":2867},{"style":112},[2868],{"type":48,"value":2349},{"type":42,"tag":89,"props":2870,"children":2871},{"style":179},[2872],{"type":48,"value":2070},{"type":42,"tag":89,"props":2874,"children":2875},{"style":185},[2876],{"type":48,"value":372},{"type":42,"tag":89,"props":2878,"children":2879},{"class":91,"line":147},[2880,2884,2888,2893],{"type":42,"tag":89,"props":2881,"children":2882},{"style":112},[2883],{"type":48,"value":2365},{"type":42,"tag":89,"props":2885,"children":2886},{"style":179},[2887],{"type":48,"value":203},{"type":42,"tag":89,"props":2889,"children":2890},{"style":112},[2891],{"type":48,"value":2892},"{\"name\": \"example.com\", \"region\": \"us-east-1\"}",{"type":42,"tag":89,"props":2894,"children":2895},{"style":179},[2896],{"type":48,"value":213},{"type":42,"tag":89,"props":2898,"children":2899},{"class":91,"line":562},[2900],{"type":42,"tag":89,"props":2901,"children":2902},{"emptyLinePlaceholder":132},[2903],{"type":48,"value":135},{"type":42,"tag":89,"props":2905,"children":2906},{"class":91,"line":604},[2907],{"type":42,"tag":89,"props":2908,"children":2909},{"style":96},[2910],{"type":48,"value":2911},"# List domains\n",{"type":42,"tag":89,"props":2913,"children":2914},{"class":91,"line":635},[2915,2919,2923],{"type":42,"tag":89,"props":2916,"children":2917},{"style":106},[2918],{"type":48,"value":362},{"type":42,"tag":89,"props":2920,"children":2921},{"style":112},[2922],{"type":48,"value":2822},{"type":42,"tag":89,"props":2924,"children":2925},{"style":185},[2926],{"type":48,"value":372},{"type":42,"tag":89,"props":2928,"children":2929},{"class":91,"line":665},[2930,2934,2938,2942,2946],{"type":42,"tag":89,"props":2931,"children":2932},{"style":112},[2933],{"type":48,"value":380},{"type":42,"tag":89,"props":2935,"children":2936},{"style":179},[2937],{"type":48,"value":385},{"type":42,"tag":89,"props":2939,"children":2940},{"style":112},[2941],{"type":48,"value":2320},{"type":42,"tag":89,"props":2943,"children":2944},{"style":185},[2945],{"type":48,"value":2325},{"type":42,"tag":89,"props":2947,"children":2948},{"style":179},[2949],{"type":48,"value":395},{"type":42,"tag":89,"props":2951,"children":2952},{"class":91,"line":695},[2953],{"type":42,"tag":89,"props":2954,"children":2955},{"emptyLinePlaceholder":132},[2956],{"type":48,"value":135},{"type":42,"tag":89,"props":2958,"children":2959},{"class":91,"line":725},[2960],{"type":42,"tag":89,"props":2961,"children":2962},{"style":96},[2963],{"type":48,"value":2964},"# Get domain\n",{"type":42,"tag":89,"props":2966,"children":2967},{"class":91,"line":1287},[2968,2972,2977,2981,2985,2989,2993],{"type":42,"tag":89,"props":2969,"children":2970},{"style":106},[2971],{"type":48,"value":362},{"type":42,"tag":89,"props":2973,"children":2974},{"style":112},[2975],{"type":48,"value":2976}," http:\u002F\u002Flocalhost:4000\u002Fdomains\u002F",{"type":42,"tag":89,"props":2978,"children":2979},{"style":179},[2980],{"type":48,"value":1956},{"type":42,"tag":89,"props":2982,"children":2983},{"style":112},[2984],{"type":48,"value":1961},{"type":42,"tag":89,"props":2986,"children":2987},{"style":185},[2988],{"type":48,"value":1966},{"type":42,"tag":89,"props":2990,"children":2991},{"style":179},[2992],{"type":48,"value":1971},{"type":42,"tag":89,"props":2994,"children":2995},{"style":185},[2996],{"type":48,"value":372},{"type":42,"tag":89,"props":2998,"children":2999},{"class":91,"line":1296},[3000,3004,3008,3012,3016],{"type":42,"tag":89,"props":3001,"children":3002},{"style":112},[3003],{"type":48,"value":380},{"type":42,"tag":89,"props":3005,"children":3006},{"style":179},[3007],{"type":48,"value":385},{"type":42,"tag":89,"props":3009,"children":3010},{"style":112},[3011],{"type":48,"value":2320},{"type":42,"tag":89,"props":3013,"children":3014},{"style":185},[3015],{"type":48,"value":2325},{"type":42,"tag":89,"props":3017,"children":3018},{"style":179},[3019],{"type":48,"value":395},{"type":42,"tag":89,"props":3021,"children":3022},{"class":91,"line":1304},[3023],{"type":42,"tag":89,"props":3024,"children":3025},{"emptyLinePlaceholder":132},[3026],{"type":48,"value":135},{"type":42,"tag":89,"props":3028,"children":3029},{"class":91,"line":2520},[3030],{"type":42,"tag":89,"props":3031,"children":3032},{"style":96},[3033],{"type":48,"value":3034},"# Verify domain (instantly marks all records as verified)\n",{"type":42,"tag":89,"props":3036,"children":3037},{"class":91,"line":2544},[3038,3042,3046,3050,3054,3058,3062,3066,3070,3075],{"type":42,"tag":89,"props":3039,"children":3040},{"style":106},[3041],{"type":48,"value":362},{"type":42,"tag":89,"props":3043,"children":3044},{"style":112},[3045],{"type":48,"value":2292},{"type":42,"tag":89,"props":3047,"children":3048},{"style":112},[3049],{"type":48,"value":1104},{"type":42,"tag":89,"props":3051,"children":3052},{"style":112},[3053],{"type":48,"value":2976},{"type":42,"tag":89,"props":3055,"children":3056},{"style":179},[3057],{"type":48,"value":1956},{"type":42,"tag":89,"props":3059,"children":3060},{"style":112},[3061],{"type":48,"value":1961},{"type":42,"tag":89,"props":3063,"children":3064},{"style":185},[3065],{"type":48,"value":1966},{"type":42,"tag":89,"props":3067,"children":3068},{"style":179},[3069],{"type":48,"value":1971},{"type":42,"tag":89,"props":3071,"children":3072},{"style":112},[3073],{"type":48,"value":3074},"\u002Fverify",{"type":42,"tag":89,"props":3076,"children":3077},{"style":185},[3078],{"type":48,"value":372},{"type":42,"tag":89,"props":3080,"children":3081},{"class":91,"line":2552},[3082,3086,3090,3094,3098],{"type":42,"tag":89,"props":3083,"children":3084},{"style":112},[3085],{"type":48,"value":380},{"type":42,"tag":89,"props":3087,"children":3088},{"style":179},[3089],{"type":48,"value":385},{"type":42,"tag":89,"props":3091,"children":3092},{"style":112},[3093],{"type":48,"value":2320},{"type":42,"tag":89,"props":3095,"children":3096},{"style":185},[3097],{"type":48,"value":2325},{"type":42,"tag":89,"props":3099,"children":3100},{"style":179},[3101],{"type":48,"value":395},{"type":42,"tag":89,"props":3103,"children":3104},{"class":91,"line":2561},[3105],{"type":42,"tag":89,"props":3106,"children":3107},{"emptyLinePlaceholder":132},[3108],{"type":48,"value":135},{"type":42,"tag":89,"props":3110,"children":3111},{"class":91,"line":2593},[3112],{"type":42,"tag":89,"props":3113,"children":3114},{"style":96},[3115],{"type":48,"value":3116},"# Delete domain\n",{"type":42,"tag":89,"props":3118,"children":3119},{"class":91,"line":2617},[3120,3124,3128,3133,3137,3141,3145,3149,3153],{"type":42,"tag":89,"props":3121,"children":3122},{"style":106},[3123],{"type":48,"value":362},{"type":42,"tag":89,"props":3125,"children":3126},{"style":112},[3127],{"type":48,"value":2292},{"type":42,"tag":89,"props":3129,"children":3130},{"style":112},[3131],{"type":48,"value":3132}," DELETE",{"type":42,"tag":89,"props":3134,"children":3135},{"style":112},[3136],{"type":48,"value":2976},{"type":42,"tag":89,"props":3138,"children":3139},{"style":179},[3140],{"type":48,"value":1956},{"type":42,"tag":89,"props":3142,"children":3143},{"style":112},[3144],{"type":48,"value":1961},{"type":42,"tag":89,"props":3146,"children":3147},{"style":185},[3148],{"type":48,"value":1966},{"type":42,"tag":89,"props":3150,"children":3151},{"style":179},[3152],{"type":48,"value":1971},{"type":42,"tag":89,"props":3154,"children":3155},{"style":185},[3156],{"type":48,"value":372},{"type":42,"tag":89,"props":3158,"children":3159},{"class":91,"line":2625},[3160,3164,3168,3172,3176],{"type":42,"tag":89,"props":3161,"children":3162},{"style":112},[3163],{"type":48,"value":380},{"type":42,"tag":89,"props":3165,"children":3166},{"style":179},[3167],{"type":48,"value":385},{"type":42,"tag":89,"props":3169,"children":3170},{"style":112},[3171],{"type":48,"value":2320},{"type":42,"tag":89,"props":3173,"children":3174},{"style":185},[3175],{"type":48,"value":2325},{"type":42,"tag":89,"props":3177,"children":3178},{"style":179},[3179],{"type":48,"value":395},{"type":42,"tag":408,"props":3181,"children":3183},{"id":3182},"api-keys",[3184],{"type":48,"value":3185},"API Keys",{"type":42,"tag":78,"props":3187,"children":3189},{"className":80,"code":3188,"language":82,"meta":83,"style":83},"# Create API key\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Fapi-keys \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"Production\"}'\n\n# List API keys\ncurl http:\u002F\u002Flocalhost:4000\u002Fapi-keys \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete API key\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Fapi-keys\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[3190],{"type":42,"tag":62,"props":3191,"children":3192},{"__ignoreMap":83},[3193,3201,3225,3252,3275,3295,3302,3310,3325,3348,3355,3363,3403],{"type":42,"tag":89,"props":3194,"children":3195},{"class":91,"line":92},[3196],{"type":42,"tag":89,"props":3197,"children":3198},{"style":96},[3199],{"type":48,"value":3200},"# Create API key\n",{"type":42,"tag":89,"props":3202,"children":3203},{"class":91,"line":102},[3204,3208,3212,3216,3221],{"type":42,"tag":89,"props":3205,"children":3206},{"style":106},[3207],{"type":48,"value":362},{"type":42,"tag":89,"props":3209,"children":3210},{"style":112},[3211],{"type":48,"value":2292},{"type":42,"tag":89,"props":3213,"children":3214},{"style":112},[3215],{"type":48,"value":1104},{"type":42,"tag":89,"props":3217,"children":3218},{"style":112},[3219],{"type":48,"value":3220}," http:\u002F\u002Flocalhost:4000\u002Fapi-keys",{"type":42,"tag":89,"props":3222,"children":3223},{"style":185},[3224],{"type":48,"value":372},{"type":42,"tag":89,"props":3226,"children":3227},{"class":91,"line":128},[3228,3232,3236,3240,3244,3248],{"type":42,"tag":89,"props":3229,"children":3230},{"style":112},[3231],{"type":48,"value":380},{"type":42,"tag":89,"props":3233,"children":3234},{"style":179},[3235],{"type":48,"value":385},{"type":42,"tag":89,"props":3237,"children":3238},{"style":112},[3239],{"type":48,"value":2320},{"type":42,"tag":89,"props":3241,"children":3242},{"style":185},[3243],{"type":48,"value":2325},{"type":42,"tag":89,"props":3245,"children":3246},{"style":179},[3247],{"type":48,"value":2070},{"type":42,"tag":89,"props":3249,"children":3250},{"style":185},[3251],{"type":48,"value":372},{"type":42,"tag":89,"props":3253,"children":3254},{"class":91,"line":138},[3255,3259,3263,3267,3271],{"type":42,"tag":89,"props":3256,"children":3257},{"style":112},[3258],{"type":48,"value":380},{"type":42,"tag":89,"props":3260,"children":3261},{"style":179},[3262],{"type":48,"value":385},{"type":42,"tag":89,"props":3264,"children":3265},{"style":112},[3266],{"type":48,"value":2349},{"type":42,"tag":89,"props":3268,"children":3269},{"style":179},[3270],{"type":48,"value":2070},{"type":42,"tag":89,"props":3272,"children":3273},{"style":185},[3274],{"type":48,"value":372},{"type":42,"tag":89,"props":3276,"children":3277},{"class":91,"line":147},[3278,3282,3286,3291],{"type":42,"tag":89,"props":3279,"children":3280},{"style":112},[3281],{"type":48,"value":2365},{"type":42,"tag":89,"props":3283,"children":3284},{"style":179},[3285],{"type":48,"value":203},{"type":42,"tag":89,"props":3287,"children":3288},{"style":112},[3289],{"type":48,"value":3290},"{\"name\": \"Production\"}",{"type":42,"tag":89,"props":3292,"children":3293},{"style":179},[3294],{"type":48,"value":213},{"type":42,"tag":89,"props":3296,"children":3297},{"class":91,"line":562},[3298],{"type":42,"tag":89,"props":3299,"children":3300},{"emptyLinePlaceholder":132},[3301],{"type":48,"value":135},{"type":42,"tag":89,"props":3303,"children":3304},{"class":91,"line":604},[3305],{"type":42,"tag":89,"props":3306,"children":3307},{"style":96},[3308],{"type":48,"value":3309},"# List API keys\n",{"type":42,"tag":89,"props":3311,"children":3312},{"class":91,"line":635},[3313,3317,3321],{"type":42,"tag":89,"props":3314,"children":3315},{"style":106},[3316],{"type":48,"value":362},{"type":42,"tag":89,"props":3318,"children":3319},{"style":112},[3320],{"type":48,"value":3220},{"type":42,"tag":89,"props":3322,"children":3323},{"style":185},[3324],{"type":48,"value":372},{"type":42,"tag":89,"props":3326,"children":3327},{"class":91,"line":665},[3328,3332,3336,3340,3344],{"type":42,"tag":89,"props":3329,"children":3330},{"style":112},[3331],{"type":48,"value":380},{"type":42,"tag":89,"props":3333,"children":3334},{"style":179},[3335],{"type":48,"value":385},{"type":42,"tag":89,"props":3337,"children":3338},{"style":112},[3339],{"type":48,"value":2320},{"type":42,"tag":89,"props":3341,"children":3342},{"style":185},[3343],{"type":48,"value":2325},{"type":42,"tag":89,"props":3345,"children":3346},{"style":179},[3347],{"type":48,"value":395},{"type":42,"tag":89,"props":3349,"children":3350},{"class":91,"line":695},[3351],{"type":42,"tag":89,"props":3352,"children":3353},{"emptyLinePlaceholder":132},[3354],{"type":48,"value":135},{"type":42,"tag":89,"props":3356,"children":3357},{"class":91,"line":725},[3358],{"type":42,"tag":89,"props":3359,"children":3360},{"style":96},[3361],{"type":48,"value":3362},"# Delete API key\n",{"type":42,"tag":89,"props":3364,"children":3365},{"class":91,"line":1287},[3366,3370,3374,3378,3383,3387,3391,3395,3399],{"type":42,"tag":89,"props":3367,"children":3368},{"style":106},[3369],{"type":48,"value":362},{"type":42,"tag":89,"props":3371,"children":3372},{"style":112},[3373],{"type":48,"value":2292},{"type":42,"tag":89,"props":3375,"children":3376},{"style":112},[3377],{"type":48,"value":3132},{"type":42,"tag":89,"props":3379,"children":3380},{"style":112},[3381],{"type":48,"value":3382}," http:\u002F\u002Flocalhost:4000\u002Fapi-keys\u002F",{"type":42,"tag":89,"props":3384,"children":3385},{"style":179},[3386],{"type":48,"value":1956},{"type":42,"tag":89,"props":3388,"children":3389},{"style":112},[3390],{"type":48,"value":1961},{"type":42,"tag":89,"props":3392,"children":3393},{"style":185},[3394],{"type":48,"value":1966},{"type":42,"tag":89,"props":3396,"children":3397},{"style":179},[3398],{"type":48,"value":1971},{"type":42,"tag":89,"props":3400,"children":3401},{"style":185},[3402],{"type":48,"value":372},{"type":42,"tag":89,"props":3404,"children":3405},{"class":91,"line":1296},[3406,3410,3414,3418,3422],{"type":42,"tag":89,"props":3407,"children":3408},{"style":112},[3409],{"type":48,"value":380},{"type":42,"tag":89,"props":3411,"children":3412},{"style":179},[3413],{"type":48,"value":385},{"type":42,"tag":89,"props":3415,"children":3416},{"style":112},[3417],{"type":48,"value":2320},{"type":42,"tag":89,"props":3419,"children":3420},{"style":185},[3421],{"type":48,"value":2325},{"type":42,"tag":89,"props":3423,"children":3424},{"style":179},[3425],{"type":48,"value":395},{"type":42,"tag":408,"props":3427,"children":3429},{"id":3428},"audiences",[3430],{"type":48,"value":3431},"Audiences",{"type":42,"tag":78,"props":3433,"children":3435},{"className":80,"code":3434,"language":82,"meta":83,"style":83},"# Create audience\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Faudiences \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"Newsletter\"}'\n\n# List audiences\ncurl http:\u002F\u002Flocalhost:4000\u002Faudiences \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete audience\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[3436],{"type":42,"tag":62,"props":3437,"children":3438},{"__ignoreMap":83},[3439,3447,3471,3498,3521,3541,3548,3556,3571,3594,3601,3609,3649],{"type":42,"tag":89,"props":3440,"children":3441},{"class":91,"line":92},[3442],{"type":42,"tag":89,"props":3443,"children":3444},{"style":96},[3445],{"type":48,"value":3446},"# Create audience\n",{"type":42,"tag":89,"props":3448,"children":3449},{"class":91,"line":102},[3450,3454,3458,3462,3467],{"type":42,"tag":89,"props":3451,"children":3452},{"style":106},[3453],{"type":48,"value":362},{"type":42,"tag":89,"props":3455,"children":3456},{"style":112},[3457],{"type":48,"value":2292},{"type":42,"tag":89,"props":3459,"children":3460},{"style":112},[3461],{"type":48,"value":1104},{"type":42,"tag":89,"props":3463,"children":3464},{"style":112},[3465],{"type":48,"value":3466}," http:\u002F\u002Flocalhost:4000\u002Faudiences",{"type":42,"tag":89,"props":3468,"children":3469},{"style":185},[3470],{"type":48,"value":372},{"type":42,"tag":89,"props":3472,"children":3473},{"class":91,"line":128},[3474,3478,3482,3486,3490,3494],{"type":42,"tag":89,"props":3475,"children":3476},{"style":112},[3477],{"type":48,"value":380},{"type":42,"tag":89,"props":3479,"children":3480},{"style":179},[3481],{"type":48,"value":385},{"type":42,"tag":89,"props":3483,"children":3484},{"style":112},[3485],{"type":48,"value":2320},{"type":42,"tag":89,"props":3487,"children":3488},{"style":185},[3489],{"type":48,"value":2325},{"type":42,"tag":89,"props":3491,"children":3492},{"style":179},[3493],{"type":48,"value":2070},{"type":42,"tag":89,"props":3495,"children":3496},{"style":185},[3497],{"type":48,"value":372},{"type":42,"tag":89,"props":3499,"children":3500},{"class":91,"line":138},[3501,3505,3509,3513,3517],{"type":42,"tag":89,"props":3502,"children":3503},{"style":112},[3504],{"type":48,"value":380},{"type":42,"tag":89,"props":3506,"children":3507},{"style":179},[3508],{"type":48,"value":385},{"type":42,"tag":89,"props":3510,"children":3511},{"style":112},[3512],{"type":48,"value":2349},{"type":42,"tag":89,"props":3514,"children":3515},{"style":179},[3516],{"type":48,"value":2070},{"type":42,"tag":89,"props":3518,"children":3519},{"style":185},[3520],{"type":48,"value":372},{"type":42,"tag":89,"props":3522,"children":3523},{"class":91,"line":147},[3524,3528,3532,3537],{"type":42,"tag":89,"props":3525,"children":3526},{"style":112},[3527],{"type":48,"value":2365},{"type":42,"tag":89,"props":3529,"children":3530},{"style":179},[3531],{"type":48,"value":203},{"type":42,"tag":89,"props":3533,"children":3534},{"style":112},[3535],{"type":48,"value":3536},"{\"name\": \"Newsletter\"}",{"type":42,"tag":89,"props":3538,"children":3539},{"style":179},[3540],{"type":48,"value":213},{"type":42,"tag":89,"props":3542,"children":3543},{"class":91,"line":562},[3544],{"type":42,"tag":89,"props":3545,"children":3546},{"emptyLinePlaceholder":132},[3547],{"type":48,"value":135},{"type":42,"tag":89,"props":3549,"children":3550},{"class":91,"line":604},[3551],{"type":42,"tag":89,"props":3552,"children":3553},{"style":96},[3554],{"type":48,"value":3555},"# List audiences\n",{"type":42,"tag":89,"props":3557,"children":3558},{"class":91,"line":635},[3559,3563,3567],{"type":42,"tag":89,"props":3560,"children":3561},{"style":106},[3562],{"type":48,"value":362},{"type":42,"tag":89,"props":3564,"children":3565},{"style":112},[3566],{"type":48,"value":3466},{"type":42,"tag":89,"props":3568,"children":3569},{"style":185},[3570],{"type":48,"value":372},{"type":42,"tag":89,"props":3572,"children":3573},{"class":91,"line":665},[3574,3578,3582,3586,3590],{"type":42,"tag":89,"props":3575,"children":3576},{"style":112},[3577],{"type":48,"value":380},{"type":42,"tag":89,"props":3579,"children":3580},{"style":179},[3581],{"type":48,"value":385},{"type":42,"tag":89,"props":3583,"children":3584},{"style":112},[3585],{"type":48,"value":2320},{"type":42,"tag":89,"props":3587,"children":3588},{"style":185},[3589],{"type":48,"value":2325},{"type":42,"tag":89,"props":3591,"children":3592},{"style":179},[3593],{"type":48,"value":395},{"type":42,"tag":89,"props":3595,"children":3596},{"class":91,"line":695},[3597],{"type":42,"tag":89,"props":3598,"children":3599},{"emptyLinePlaceholder":132},[3600],{"type":48,"value":135},{"type":42,"tag":89,"props":3602,"children":3603},{"class":91,"line":725},[3604],{"type":42,"tag":89,"props":3605,"children":3606},{"style":96},[3607],{"type":48,"value":3608},"# Delete audience\n",{"type":42,"tag":89,"props":3610,"children":3611},{"class":91,"line":1287},[3612,3616,3620,3624,3629,3633,3637,3641,3645],{"type":42,"tag":89,"props":3613,"children":3614},{"style":106},[3615],{"type":48,"value":362},{"type":42,"tag":89,"props":3617,"children":3618},{"style":112},[3619],{"type":48,"value":2292},{"type":42,"tag":89,"props":3621,"children":3622},{"style":112},[3623],{"type":48,"value":3132},{"type":42,"tag":89,"props":3625,"children":3626},{"style":112},[3627],{"type":48,"value":3628}," http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F",{"type":42,"tag":89,"props":3630,"children":3631},{"style":179},[3632],{"type":48,"value":1956},{"type":42,"tag":89,"props":3634,"children":3635},{"style":112},[3636],{"type":48,"value":1961},{"type":42,"tag":89,"props":3638,"children":3639},{"style":185},[3640],{"type":48,"value":1966},{"type":42,"tag":89,"props":3642,"children":3643},{"style":179},[3644],{"type":48,"value":1971},{"type":42,"tag":89,"props":3646,"children":3647},{"style":185},[3648],{"type":48,"value":372},{"type":42,"tag":89,"props":3650,"children":3651},{"class":91,"line":1296},[3652,3656,3660,3664,3668],{"type":42,"tag":89,"props":3653,"children":3654},{"style":112},[3655],{"type":48,"value":380},{"type":42,"tag":89,"props":3657,"children":3658},{"style":179},[3659],{"type":48,"value":385},{"type":42,"tag":89,"props":3661,"children":3662},{"style":112},[3663],{"type":48,"value":2320},{"type":42,"tag":89,"props":3665,"children":3666},{"style":185},[3667],{"type":48,"value":2325},{"type":42,"tag":89,"props":3669,"children":3670},{"style":179},[3671],{"type":48,"value":395},{"type":42,"tag":408,"props":3673,"children":3675},{"id":3674},"contacts",[3676],{"type":48,"value":3677},"Contacts",{"type":42,"tag":78,"props":3679,"children":3681},{"className":80,"code":3680,"language":82,"meta":83,"style":83},"# Create contact in an audience\ncurl -X POST http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"email\": \"user@example.com\", \"first_name\": \"Jane\", \"last_name\": \"Doe\"}'\n\n# List contacts in an audience\ncurl http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts \\\n  -H \"Authorization: Bearer $TOKEN\"\n\n# Delete contact\ncurl -X DELETE http:\u002F\u002Flocalhost:4000\u002Faudiences\u002F\u003Caudience_id>\u002Fcontacts\u002F\u003Cid> \\\n  -H \"Authorization: Bearer $TOKEN\"\n",[3682],{"type":42,"tag":62,"props":3683,"children":3684},{"__ignoreMap":83},[3685,3693,3738,3765,3788,3808,3815,3823,3858,3881,3888,3896,3956],{"type":42,"tag":89,"props":3686,"children":3687},{"class":91,"line":92},[3688],{"type":42,"tag":89,"props":3689,"children":3690},{"style":96},[3691],{"type":48,"value":3692},"# Create contact in an audience\n",{"type":42,"tag":89,"props":3694,"children":3695},{"class":91,"line":102},[3696,3700,3704,3708,3712,3716,3721,3725,3729,3734],{"type":42,"tag":89,"props":3697,"children":3698},{"style":106},[3699],{"type":48,"value":362},{"type":42,"tag":89,"props":3701,"children":3702},{"style":112},[3703],{"type":48,"value":2292},{"type":42,"tag":89,"props":3705,"children":3706},{"style":112},[3707],{"type":48,"value":1104},{"type":42,"tag":89,"props":3709,"children":3710},{"style":112},[3711],{"type":48,"value":3628},{"type":42,"tag":89,"props":3713,"children":3714},{"style":179},[3715],{"type":48,"value":1956},{"type":42,"tag":89,"props":3717,"children":3718},{"style":112},[3719],{"type":48,"value":3720},"audience_i",{"type":42,"tag":89,"props":3722,"children":3723},{"style":185},[3724],{"type":48,"value":1966},{"type":42,"tag":89,"props":3726,"children":3727},{"style":179},[3728],{"type":48,"value":1971},{"type":42,"tag":89,"props":3730,"children":3731},{"style":112},[3732],{"type":48,"value":3733},"\u002Fcontacts",{"type":42,"tag":89,"props":3735,"children":3736},{"style":185},[3737],{"type":48,"value":372},{"type":42,"tag":89,"props":3739,"children":3740},{"class":91,"line":128},[3741,3745,3749,3753,3757,3761],{"type":42,"tag":89,"props":3742,"children":3743},{"style":112},[3744],{"type":48,"value":380},{"type":42,"tag":89,"props":3746,"children":3747},{"style":179},[3748],{"type":48,"value":385},{"type":42,"tag":89,"props":3750,"children":3751},{"style":112},[3752],{"type":48,"value":2320},{"type":42,"tag":89,"props":3754,"children":3755},{"style":185},[3756],{"type":48,"value":2325},{"type":42,"tag":89,"props":3758,"children":3759},{"style":179},[3760],{"type":48,"value":2070},{"type":42,"tag":89,"props":3762,"children":3763},{"style":185},[3764],{"type":48,"value":372},{"type":42,"tag":89,"props":3766,"children":3767},{"class":91,"line":138},[3768,3772,3776,3780,3784],{"type":42,"tag":89,"props":3769,"children":3770},{"style":112},[3771],{"type":48,"value":380},{"type":42,"tag":89,"props":3773,"children":3774},{"style":179},[3775],{"type":48,"value":385},{"type":42,"tag":89,"props":3777,"children":3778},{"style":112},[3779],{"type":48,"value":2349},{"type":42,"tag":89,"props":3781,"children":3782},{"style":179},[3783],{"type":48,"value":2070},{"type":42,"tag":89,"props":3785,"children":3786},{"style":185},[3787],{"type":48,"value":372},{"type":42,"tag":89,"props":3789,"children":3790},{"class":91,"line":147},[3791,3795,3799,3804],{"type":42,"tag":89,"props":3792,"children":3793},{"style":112},[3794],{"type":48,"value":2365},{"type":42,"tag":89,"props":3796,"children":3797},{"style":179},[3798],{"type":48,"value":203},{"type":42,"tag":89,"props":3800,"children":3801},{"style":112},[3802],{"type":48,"value":3803},"{\"email\": \"user@example.com\", \"first_name\": \"Jane\", \"last_name\": \"Doe\"}",{"type":42,"tag":89,"props":3805,"children":3806},{"style":179},[3807],{"type":48,"value":213},{"type":42,"tag":89,"props":3809,"children":3810},{"class":91,"line":562},[3811],{"type":42,"tag":89,"props":3812,"children":3813},{"emptyLinePlaceholder":132},[3814],{"type":48,"value":135},{"type":42,"tag":89,"props":3816,"children":3817},{"class":91,"line":604},[3818],{"type":42,"tag":89,"props":3819,"children":3820},{"style":96},[3821],{"type":48,"value":3822},"# List contacts in an audience\n",{"type":42,"tag":89,"props":3824,"children":3825},{"class":91,"line":635},[3826,3830,3834,3838,3842,3846,3850,3854],{"type":42,"tag":89,"props":3827,"children":3828},{"style":106},[3829],{"type":48,"value":362},{"type":42,"tag":89,"props":3831,"children":3832},{"style":112},[3833],{"type":48,"value":3628},{"type":42,"tag":89,"props":3835,"children":3836},{"style":179},[3837],{"type":48,"value":1956},{"type":42,"tag":89,"props":3839,"children":3840},{"style":112},[3841],{"type":48,"value":3720},{"type":42,"tag":89,"props":3843,"children":3844},{"style":185},[3845],{"type":48,"value":1966},{"type":42,"tag":89,"props":3847,"children":3848},{"style":179},[3849],{"type":48,"value":1971},{"type":42,"tag":89,"props":3851,"children":3852},{"style":112},[3853],{"type":48,"value":3733},{"type":42,"tag":89,"props":3855,"children":3856},{"style":185},[3857],{"type":48,"value":372},{"type":42,"tag":89,"props":3859,"children":3860},{"class":91,"line":665},[3861,3865,3869,3873,3877],{"type":42,"tag":89,"props":3862,"children":3863},{"style":112},[3864],{"type":48,"value":380},{"type":42,"tag":89,"props":3866,"children":3867},{"style":179},[3868],{"type":48,"value":385},{"type":42,"tag":89,"props":3870,"children":3871},{"style":112},[3872],{"type":48,"value":2320},{"type":42,"tag":89,"props":3874,"children":3875},{"style":185},[3876],{"type":48,"value":2325},{"type":42,"tag":89,"props":3878,"children":3879},{"style":179},[3880],{"type":48,"value":395},{"type":42,"tag":89,"props":3882,"children":3883},{"class":91,"line":695},[3884],{"type":42,"tag":89,"props":3885,"children":3886},{"emptyLinePlaceholder":132},[3887],{"type":48,"value":135},{"type":42,"tag":89,"props":3889,"children":3890},{"class":91,"line":725},[3891],{"type":42,"tag":89,"props":3892,"children":3893},{"style":96},[3894],{"type":48,"value":3895},"# Delete contact\n",{"type":42,"tag":89,"props":3897,"children":3898},{"class":91,"line":1287},[3899,3903,3907,3911,3915,3919,3923,3927,3931,3936,3940,3944,3948,3952],{"type":42,"tag":89,"props":3900,"children":3901},{"style":106},[3902],{"type":48,"value":362},{"type":42,"tag":89,"props":3904,"children":3905},{"style":112},[3906],{"type":48,"value":2292},{"type":42,"tag":89,"props":3908,"children":3909},{"style":112},[3910],{"type":48,"value":3132},{"type":42,"tag":89,"props":3912,"children":3913},{"style":112},[3914],{"type":48,"value":3628},{"type":42,"tag":89,"props":3916,"children":3917},{"style":179},[3918],{"type":48,"value":1956},{"type":42,"tag":89,"props":3920,"children":3921},{"style":112},[3922],{"type":48,"value":3720},{"type":42,"tag":89,"props":3924,"children":3925},{"style":185},[3926],{"type":48,"value":1966},{"type":42,"tag":89,"props":3928,"children":3929},{"style":179},[3930],{"type":48,"value":1971},{"type":42,"tag":89,"props":3932,"children":3933},{"style":112},[3934],{"type":48,"value":3935},"\u002Fcontacts\u002F",{"type":42,"tag":89,"props":3937,"children":3938},{"style":179},[3939],{"type":48,"value":1956},{"type":42,"tag":89,"props":3941,"children":3942},{"style":112},[3943],{"type":48,"value":1961},{"type":42,"tag":89,"props":3945,"children":3946},{"style":185},[3947],{"type":48,"value":1966},{"type":42,"tag":89,"props":3949,"children":3950},{"style":179},[3951],{"type":48,"value":1971},{"type":42,"tag":89,"props":3953,"children":3954},{"style":185},[3955],{"type":48,"value":372},{"type":42,"tag":89,"props":3957,"children":3958},{"class":91,"line":1296},[3959,3963,3967,3971,3975],{"type":42,"tag":89,"props":3960,"children":3961},{"style":112},[3962],{"type":48,"value":380},{"type":42,"tag":89,"props":3964,"children":3965},{"style":179},[3966],{"type":48,"value":385},{"type":42,"tag":89,"props":3968,"children":3969},{"style":112},[3970],{"type":48,"value":2320},{"type":42,"tag":89,"props":3972,"children":3973},{"style":185},[3974],{"type":48,"value":2325},{"type":42,"tag":89,"props":3976,"children":3977},{"style":179},[3978],{"type":48,"value":395},{"type":42,"tag":71,"props":3980,"children":3982},{"id":3981},"webhooks",[3983],{"type":48,"value":3984},"Webhooks",{"type":42,"tag":51,"props":3986,"children":3987},{},[3988],{"type":48,"value":3989},"The emulator dispatches webhook events when state changes:",{"type":42,"tag":3991,"props":3992,"children":3993},"ul",{},[3994,4019,4037],{"type":42,"tag":3995,"props":3996,"children":3997},"li",{},[3998,4004,4006,4012,4014],{"type":42,"tag":62,"props":3999,"children":4001},{"className":4000},[],[4002],{"type":48,"value":4003},"email.sent",{"type":48,"value":4005}," and ",{"type":42,"tag":62,"props":4007,"children":4009},{"className":4008},[],[4010],{"type":48,"value":4011},"email.delivered",{"type":48,"value":4013}," on ",{"type":42,"tag":62,"props":4015,"children":4017},{"className":4016},[],[4018],{"type":48,"value":67},{"type":42,"tag":3995,"props":4020,"children":4021},{},[4022,4028,4029,4035],{"type":42,"tag":62,"props":4023,"children":4025},{"className":4024},[],[4026],{"type":48,"value":4027},"domain.created",{"type":48,"value":4005},{"type":42,"tag":62,"props":4030,"children":4032},{"className":4031},[],[4033],{"type":48,"value":4034},"domain.deleted",{"type":48,"value":4036}," on domain operations",{"type":42,"tag":3995,"props":4038,"children":4039},{},[4040,4046,4047,4053],{"type":42,"tag":62,"props":4041,"children":4043},{"className":4042},[],[4044],{"type":48,"value":4045},"contact.created",{"type":48,"value":4005},{"type":42,"tag":62,"props":4048,"children":4050},{"className":4049},[],[4051],{"type":48,"value":4052},"contact.deleted",{"type":48,"value":4054}," on contact operations",{"type":42,"tag":71,"props":4056,"children":4058},{"id":4057},"common-patterns",[4059],{"type":48,"value":4060},"Common Patterns",{"type":42,"tag":408,"props":4062,"children":4064},{"id":4063},"magic-link-verification-code-flow",[4065],{"type":48,"value":4066},"Magic Link \u002F Verification Code Flow",{"type":42,"tag":78,"props":4068,"children":4070},{"className":80,"code":4069,"language":82,"meta":83,"style":83},"TOKEN=\"re_test_key\"\nBASE=\"http:\u002F\u002Flocalhost:4000\"\n\n# 1. Send verification email\ncurl -X POST $BASE\u002Femails \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"from\": \"auth@example.com\", \"to\": \"user@example.com\", \"subject\": \"Your code\", \"html\": \"\u003Cp>Code: \u003Cstrong>482910\u003C\u002Fstrong>\u003C\u002Fp>\"}'\n\n# 2. Retrieve the email\nEMAIL_ID=$(curl -s $BASE\u002Femails -H \"Authorization: Bearer $TOKEN\" | jq -r '.data[0].id')\n\n# 3. Read the HTML body\ncurl -s $BASE\u002Femails\u002F$EMAIL_ID -H \"Authorization: Bearer $TOKEN\" | jq -r '.html'\n",[4071],{"type":42,"tag":62,"props":4072,"children":4073},{"__ignoreMap":83},[4074,4098,4123,4130,4138,4167,4194,4217,4237,4244,4252,4328,4335,4343],{"type":42,"tag":89,"props":4075,"children":4076},{"class":91,"line":92},[4077,4082,4086,4090,4094],{"type":42,"tag":89,"props":4078,"children":4079},{"style":185},[4080],{"type":48,"value":4081},"TOKEN",{"type":42,"tag":89,"props":4083,"children":4084},{"style":179},[4085],{"type":48,"value":239},{"type":42,"tag":89,"props":4087,"children":4088},{"style":179},[4089],{"type":48,"value":2070},{"type":42,"tag":89,"props":4091,"children":4092},{"style":112},[4093],{"type":48,"value":544},{"type":42,"tag":89,"props":4095,"children":4096},{"style":179},[4097],{"type":48,"value":395},{"type":42,"tag":89,"props":4099,"children":4100},{"class":91,"line":102},[4101,4106,4110,4114,4119],{"type":42,"tag":89,"props":4102,"children":4103},{"style":185},[4104],{"type":48,"value":4105},"BASE",{"type":42,"tag":89,"props":4107,"children":4108},{"style":179},[4109],{"type":48,"value":239},{"type":42,"tag":89,"props":4111,"children":4112},{"style":179},[4113],{"type":48,"value":2070},{"type":42,"tag":89,"props":4115,"children":4116},{"style":112},[4117],{"type":48,"value":4118},"http:\u002F\u002Flocalhost:4000",{"type":42,"tag":89,"props":4120,"children":4121},{"style":179},[4122],{"type":48,"value":395},{"type":42,"tag":89,"props":4124,"children":4125},{"class":91,"line":128},[4126],{"type":42,"tag":89,"props":4127,"children":4128},{"emptyLinePlaceholder":132},[4129],{"type":48,"value":135},{"type":42,"tag":89,"props":4131,"children":4132},{"class":91,"line":138},[4133],{"type":42,"tag":89,"props":4134,"children":4135},{"style":96},[4136],{"type":48,"value":4137},"# 1. Send verification email\n",{"type":42,"tag":89,"props":4139,"children":4140},{"class":91,"line":147},[4141,4145,4149,4153,4158,4163],{"type":42,"tag":89,"props":4142,"children":4143},{"style":106},[4144],{"type":48,"value":362},{"type":42,"tag":89,"props":4146,"children":4147},{"style":112},[4148],{"type":48,"value":2292},{"type":42,"tag":89,"props":4150,"children":4151},{"style":112},[4152],{"type":48,"value":1104},{"type":42,"tag":89,"props":4154,"children":4155},{"style":185},[4156],{"type":48,"value":4157}," $BASE",{"type":42,"tag":89,"props":4159,"children":4160},{"style":112},[4161],{"type":48,"value":4162},"\u002Femails",{"type":42,"tag":89,"props":4164,"children":4165},{"style":185},[4166],{"type":48,"value":372},{"type":42,"tag":89,"props":4168,"children":4169},{"class":91,"line":562},[4170,4174,4178,4182,4186,4190],{"type":42,"tag":89,"props":4171,"children":4172},{"style":112},[4173],{"type":48,"value":380},{"type":42,"tag":89,"props":4175,"children":4176},{"style":179},[4177],{"type":48,"value":385},{"type":42,"tag":89,"props":4179,"children":4180},{"style":112},[4181],{"type":48,"value":2320},{"type":42,"tag":89,"props":4183,"children":4184},{"style":185},[4185],{"type":48,"value":2325},{"type":42,"tag":89,"props":4187,"children":4188},{"style":179},[4189],{"type":48,"value":2070},{"type":42,"tag":89,"props":4191,"children":4192},{"style":185},[4193],{"type":48,"value":372},{"type":42,"tag":89,"props":4195,"children":4196},{"class":91,"line":604},[4197,4201,4205,4209,4213],{"type":42,"tag":89,"props":4198,"children":4199},{"style":112},[4200],{"type":48,"value":380},{"type":42,"tag":89,"props":4202,"children":4203},{"style":179},[4204],{"type":48,"value":385},{"type":42,"tag":89,"props":4206,"children":4207},{"style":112},[4208],{"type":48,"value":2349},{"type":42,"tag":89,"props":4210,"children":4211},{"style":179},[4212],{"type":48,"value":2070},{"type":42,"tag":89,"props":4214,"children":4215},{"style":185},[4216],{"type":48,"value":372},{"type":42,"tag":89,"props":4218,"children":4219},{"class":91,"line":635},[4220,4224,4228,4233],{"type":42,"tag":89,"props":4221,"children":4222},{"style":112},[4223],{"type":48,"value":2365},{"type":42,"tag":89,"props":4225,"children":4226},{"style":179},[4227],{"type":48,"value":203},{"type":42,"tag":89,"props":4229,"children":4230},{"style":112},[4231],{"type":48,"value":4232},"{\"from\": \"auth@example.com\", \"to\": \"user@example.com\", \"subject\": \"Your code\", \"html\": \"\u003Cp>Code: \u003Cstrong>482910\u003C\u002Fstrong>\u003C\u002Fp>\"}",{"type":42,"tag":89,"props":4234,"children":4235},{"style":179},[4236],{"type":48,"value":213},{"type":42,"tag":89,"props":4238,"children":4239},{"class":91,"line":665},[4240],{"type":42,"tag":89,"props":4241,"children":4242},{"emptyLinePlaceholder":132},[4243],{"type":48,"value":135},{"type":42,"tag":89,"props":4245,"children":4246},{"class":91,"line":695},[4247],{"type":42,"tag":89,"props":4248,"children":4249},{"style":96},[4250],{"type":48,"value":4251},"# 2. Retrieve the email\n",{"type":42,"tag":89,"props":4253,"children":4254},{"class":91,"line":725},[4255,4259,4263,4267,4271,4275,4279,4284,4288,4292,4296,4300,4304,4308,4312,4316,4320,4324],{"type":42,"tag":89,"props":4256,"children":4257},{"style":185},[4258],{"type":48,"value":2028},{"type":42,"tag":89,"props":4260,"children":4261},{"style":179},[4262],{"type":48,"value":2033},{"type":42,"tag":89,"props":4264,"children":4265},{"style":106},[4266],{"type":48,"value":362},{"type":42,"tag":89,"props":4268,"children":4269},{"style":112},[4270],{"type":48,"value":2042},{"type":42,"tag":89,"props":4272,"children":4273},{"style":185},[4274],{"type":48,"value":4157},{"type":42,"tag":89,"props":4276,"children":4277},{"style":112},[4278],{"type":48,"value":4162},{"type":42,"tag":89,"props":4280,"children":4281},{"style":112},[4282],{"type":48,"value":4283}," -H",{"type":42,"tag":89,"props":4285,"children":4286},{"style":179},[4287],{"type":48,"value":385},{"type":42,"tag":89,"props":4289,"children":4290},{"style":112},[4291],{"type":48,"value":2320},{"type":42,"tag":89,"props":4293,"children":4294},{"style":185},[4295],{"type":48,"value":2325},{"type":42,"tag":89,"props":4297,"children":4298},{"style":179},[4299],{"type":48,"value":2070},{"type":42,"tag":89,"props":4301,"children":4302},{"style":179},[4303],{"type":48,"value":2075},{"type":42,"tag":89,"props":4305,"children":4306},{"style":106},[4307],{"type":48,"value":2080},{"type":42,"tag":89,"props":4309,"children":4310},{"style":112},[4311],{"type":48,"value":2085},{"type":42,"tag":89,"props":4313,"children":4314},{"style":179},[4315],{"type":48,"value":203},{"type":42,"tag":89,"props":4317,"children":4318},{"style":112},[4319],{"type":48,"value":2094},{"type":42,"tag":89,"props":4321,"children":4322},{"style":179},[4323],{"type":48,"value":283},{"type":42,"tag":89,"props":4325,"children":4326},{"style":179},[4327],{"type":48,"value":312},{"type":42,"tag":89,"props":4329,"children":4330},{"class":91,"line":1287},[4331],{"type":42,"tag":89,"props":4332,"children":4333},{"emptyLinePlaceholder":132},[4334],{"type":48,"value":135},{"type":42,"tag":89,"props":4336,"children":4337},{"class":91,"line":1296},[4338],{"type":42,"tag":89,"props":4339,"children":4340},{"style":96},[4341],{"type":48,"value":4342},"# 3. Read the HTML body\n",{"type":42,"tag":89,"props":4344,"children":4345},{"class":91,"line":1304},[4346,4350,4354,4358,4363,4368,4373,4377,4381,4385,4389,4393,4397,4401,4405,4409],{"type":42,"tag":89,"props":4347,"children":4348},{"style":106},[4349],{"type":48,"value":362},{"type":42,"tag":89,"props":4351,"children":4352},{"style":112},[4353],{"type":48,"value":2042},{"type":42,"tag":89,"props":4355,"children":4356},{"style":185},[4357],{"type":48,"value":4157},{"type":42,"tag":89,"props":4359,"children":4360},{"style":112},[4361],{"type":48,"value":4362},"\u002Femails\u002F",{"type":42,"tag":89,"props":4364,"children":4365},{"style":185},[4366],{"type":48,"value":4367},"$EMAIL_ID ",{"type":42,"tag":89,"props":4369,"children":4370},{"style":112},[4371],{"type":48,"value":4372},"-H",{"type":42,"tag":89,"props":4374,"children":4375},{"style":179},[4376],{"type":48,"value":385},{"type":42,"tag":89,"props":4378,"children":4379},{"style":112},[4380],{"type":48,"value":2320},{"type":42,"tag":89,"props":4382,"children":4383},{"style":185},[4384],{"type":48,"value":2325},{"type":42,"tag":89,"props":4386,"children":4387},{"style":179},[4388],{"type":48,"value":2070},{"type":42,"tag":89,"props":4390,"children":4391},{"style":179},[4392],{"type":48,"value":2075},{"type":42,"tag":89,"props":4394,"children":4395},{"style":106},[4396],{"type":48,"value":2080},{"type":42,"tag":89,"props":4398,"children":4399},{"style":112},[4400],{"type":48,"value":2085},{"type":42,"tag":89,"props":4402,"children":4403},{"style":179},[4404],{"type":48,"value":203},{"type":42,"tag":89,"props":4406,"children":4407},{"style":112},[4408],{"type":48,"value":2186},{"type":42,"tag":89,"props":4410,"children":4411},{"style":179},[4412],{"type":48,"value":213},{"type":42,"tag":408,"props":4414,"children":4416},{"id":4415},"send-and-verify-in-a-test",[4417],{"type":48,"value":4418},"Send and Verify in a Test",{"type":42,"tag":78,"props":4420,"children":4422},{"className":161,"code":4421,"language":163,"meta":83,"style":83},"import { createEmulator } from 'emulate'\nimport { Resend } from 'resend'\n\nconst emu = await createEmulator({ service: 'resend', port: 4000 })\n\nprocess.env.RESEND_BASE_URL = emu.url\nconst resend = new Resend('re_test_key')\n\n\u002F\u002F Send\nawait resend.emails.send({\n  from: 'auth@example.com',\n  to: 'user@test.com',\n  subject: 'Verify',\n  html: '\u003Cp>Code: \u003Cstrong>123456\u003C\u002Fstrong>\u003C\u002Fp>',\n})\n\n\u002F\u002F Retrieve\nconst res = await fetch(`${emu.url}\u002Femails`, {\n  headers: { Authorization: 'Bearer re_test_key' },\n})\nconst { data: emails } = await res.json()\nconsole.log(emails[0].html) \u002F\u002F contains \"123456\"\n",[4423],{"type":42,"tag":62,"props":4424,"children":4425},{"__ignoreMap":83},[4426,4461,4496,4503,4579,4586,4628,4671,4678,4686,4721,4749,4777,4805,4833,4844,4851,4859,4926,4967,4978,5034],{"type":42,"tag":89,"props":4427,"children":4428},{"class":91,"line":92},[4429,4433,4437,4441,4445,4449,4453,4457],{"type":42,"tag":89,"props":4430,"children":4431},{"style":173},[4432],{"type":48,"value":176},{"type":42,"tag":89,"props":4434,"children":4435},{"style":179},[4436],{"type":48,"value":182},{"type":42,"tag":89,"props":4438,"children":4439},{"style":185},[4440],{"type":48,"value":188},{"type":42,"tag":89,"props":4442,"children":4443},{"style":179},[4444],{"type":48,"value":193},{"type":42,"tag":89,"props":4446,"children":4447},{"style":173},[4448],{"type":48,"value":198},{"type":42,"tag":89,"props":4450,"children":4451},{"style":179},[4452],{"type":48,"value":203},{"type":42,"tag":89,"props":4454,"children":4455},{"style":112},[4456],{"type":48,"value":208},{"type":42,"tag":89,"props":4458,"children":4459},{"style":179},[4460],{"type":48,"value":213},{"type":42,"tag":89,"props":4462,"children":4463},{"class":91,"line":102},[4464,4468,4472,4476,4480,4484,4488,4492],{"type":42,"tag":89,"props":4465,"children":4466},{"style":173},[4467],{"type":48,"value":176},{"type":42,"tag":89,"props":4469,"children":4470},{"style":179},[4471],{"type":48,"value":182},{"type":42,"tag":89,"props":4473,"children":4474},{"style":185},[4475],{"type":48,"value":472},{"type":42,"tag":89,"props":4477,"children":4478},{"style":179},[4479],{"type":48,"value":193},{"type":42,"tag":89,"props":4481,"children":4482},{"style":173},[4483],{"type":48,"value":198},{"type":42,"tag":89,"props":4485,"children":4486},{"style":179},[4487],{"type":48,"value":203},{"type":42,"tag":89,"props":4489,"children":4490},{"style":112},[4491],{"type":48,"value":4},{"type":42,"tag":89,"props":4493,"children":4494},{"style":179},[4495],{"type":48,"value":213},{"type":42,"tag":89,"props":4497,"children":4498},{"class":91,"line":128},[4499],{"type":42,"tag":89,"props":4500,"children":4501},{"emptyLinePlaceholder":132},[4502],{"type":48,"value":135},{"type":42,"tag":89,"props":4504,"children":4505},{"class":91,"line":138},[4506,4510,4515,4519,4523,4527,4531,4535,4539,4543,4547,4551,4555,4559,4563,4567,4571,4575],{"type":42,"tag":89,"props":4507,"children":4508},{"style":226},[4509],{"type":48,"value":229},{"type":42,"tag":89,"props":4511,"children":4512},{"style":185},[4513],{"type":48,"value":4514}," emu ",{"type":42,"tag":89,"props":4516,"children":4517},{"style":179},[4518],{"type":48,"value":239},{"type":42,"tag":89,"props":4520,"children":4521},{"style":173},[4522],{"type":48,"value":244},{"type":42,"tag":89,"props":4524,"children":4525},{"style":247},[4526],{"type":48,"value":188},{"type":42,"tag":89,"props":4528,"children":4529},{"style":185},[4530],{"type":48,"value":254},{"type":42,"tag":89,"props":4532,"children":4533},{"style":179},[4534],{"type":48,"value":259},{"type":42,"tag":89,"props":4536,"children":4537},{"style":262},[4538],{"type":48,"value":265},{"type":42,"tag":89,"props":4540,"children":4541},{"style":179},[4542],{"type":48,"value":270},{"type":42,"tag":89,"props":4544,"children":4545},{"style":179},[4546],{"type":48,"value":203},{"type":42,"tag":89,"props":4548,"children":4549},{"style":112},[4550],{"type":48,"value":4},{"type":42,"tag":89,"props":4552,"children":4553},{"style":179},[4554],{"type":48,"value":283},{"type":42,"tag":89,"props":4556,"children":4557},{"style":179},[4558],{"type":48,"value":288},{"type":42,"tag":89,"props":4560,"children":4561},{"style":262},[4562],{"type":48,"value":293},{"type":42,"tag":89,"props":4564,"children":4565},{"style":179},[4566],{"type":48,"value":270},{"type":42,"tag":89,"props":4568,"children":4569},{"style":300},[4570],{"type":48,"value":303},{"type":42,"tag":89,"props":4572,"children":4573},{"style":179},[4574],{"type":48,"value":193},{"type":42,"tag":89,"props":4576,"children":4577},{"style":185},[4578],{"type":48,"value":312},{"type":42,"tag":89,"props":4580,"children":4581},{"class":91,"line":147},[4582],{"type":42,"tag":89,"props":4583,"children":4584},{"emptyLinePlaceholder":132},[4585],{"type":48,"value":135},{"type":42,"tag":89,"props":4587,"children":4588},{"class":91,"line":562},[4589,4593,4597,4601,4605,4610,4614,4619,4623],{"type":42,"tag":89,"props":4590,"children":4591},{"style":185},[4592],{"type":48,"value":908},{"type":42,"tag":89,"props":4594,"children":4595},{"style":179},[4596],{"type":48,"value":578},{"type":42,"tag":89,"props":4598,"children":4599},{"style":185},[4600],{"type":48,"value":917},{"type":42,"tag":89,"props":4602,"children":4603},{"style":179},[4604],{"type":48,"value":578},{"type":42,"tag":89,"props":4606,"children":4607},{"style":185},[4608],{"type":48,"value":4609},"RESEND_BASE_URL ",{"type":42,"tag":89,"props":4611,"children":4612},{"style":179},[4613],{"type":48,"value":239},{"type":42,"tag":89,"props":4615,"children":4616},{"style":185},[4617],{"type":48,"value":4618}," emu",{"type":42,"tag":89,"props":4620,"children":4621},{"style":179},[4622],{"type":48,"value":578},{"type":42,"tag":89,"props":4624,"children":4625},{"style":185},[4626],{"type":48,"value":4627},"url\n",{"type":42,"tag":89,"props":4629,"children":4630},{"class":91,"line":604},[4631,4635,4639,4643,4647,4651,4655,4659,4663,4667],{"type":42,"tag":89,"props":4632,"children":4633},{"style":226},[4634],{"type":48,"value":229},{"type":42,"tag":89,"props":4636,"children":4637},{"style":185},[4638],{"type":48,"value":234},{"type":42,"tag":89,"props":4640,"children":4641},{"style":179},[4642],{"type":48,"value":239},{"type":42,"tag":89,"props":4644,"children":4645},{"style":179},[4646],{"type":48,"value":527},{"type":42,"tag":89,"props":4648,"children":4649},{"style":247},[4650],{"type":48,"value":472},{"type":42,"tag":89,"props":4652,"children":4653},{"style":185},[4654],{"type":48,"value":254},{"type":42,"tag":89,"props":4656,"children":4657},{"style":179},[4658],{"type":48,"value":283},{"type":42,"tag":89,"props":4660,"children":4661},{"style":112},[4662],{"type":48,"value":544},{"type":42,"tag":89,"props":4664,"children":4665},{"style":179},[4666],{"type":48,"value":283},{"type":42,"tag":89,"props":4668,"children":4669},{"style":185},[4670],{"type":48,"value":312},{"type":42,"tag":89,"props":4672,"children":4673},{"class":91,"line":635},[4674],{"type":42,"tag":89,"props":4675,"children":4676},{"emptyLinePlaceholder":132},[4677],{"type":48,"value":135},{"type":42,"tag":89,"props":4679,"children":4680},{"class":91,"line":665},[4681],{"type":42,"tag":89,"props":4682,"children":4683},{"style":96},[4684],{"type":48,"value":4685},"\u002F\u002F Send\n",{"type":42,"tag":89,"props":4687,"children":4688},{"class":91,"line":695},[4689,4693,4697,4701,4705,4709,4713,4717],{"type":42,"tag":89,"props":4690,"children":4691},{"style":173},[4692],{"type":48,"value":568},{"type":42,"tag":89,"props":4694,"children":4695},{"style":185},[4696],{"type":48,"value":573},{"type":42,"tag":89,"props":4698,"children":4699},{"style":179},[4700],{"type":48,"value":578},{"type":42,"tag":89,"props":4702,"children":4703},{"style":185},[4704],{"type":48,"value":583},{"type":42,"tag":89,"props":4706,"children":4707},{"style":179},[4708],{"type":48,"value":578},{"type":42,"tag":89,"props":4710,"children":4711},{"style":247},[4712],{"type":48,"value":592},{"type":42,"tag":89,"props":4714,"children":4715},{"style":185},[4716],{"type":48,"value":254},{"type":42,"tag":89,"props":4718,"children":4719},{"style":179},[4720],{"type":48,"value":601},{"type":42,"tag":89,"props":4722,"children":4723},{"class":91,"line":725},[4724,4728,4732,4736,4741,4745],{"type":42,"tag":89,"props":4725,"children":4726},{"style":262},[4727],{"type":48,"value":610},{"type":42,"tag":89,"props":4729,"children":4730},{"style":179},[4731],{"type":48,"value":270},{"type":42,"tag":89,"props":4733,"children":4734},{"style":179},[4735],{"type":48,"value":203},{"type":42,"tag":89,"props":4737,"children":4738},{"style":112},[4739],{"type":48,"value":4740},"auth@example.com",{"type":42,"tag":89,"props":4742,"children":4743},{"style":179},[4744],{"type":48,"value":283},{"type":42,"tag":89,"props":4746,"children":4747},{"style":179},[4748],{"type":48,"value":632},{"type":42,"tag":89,"props":4750,"children":4751},{"class":91,"line":1287},[4752,4756,4760,4764,4769,4773],{"type":42,"tag":89,"props":4753,"children":4754},{"style":262},[4755],{"type":48,"value":641},{"type":42,"tag":89,"props":4757,"children":4758},{"style":179},[4759],{"type":48,"value":270},{"type":42,"tag":89,"props":4761,"children":4762},{"style":179},[4763],{"type":48,"value":203},{"type":42,"tag":89,"props":4765,"children":4766},{"style":112},[4767],{"type":48,"value":4768},"user@test.com",{"type":42,"tag":89,"props":4770,"children":4771},{"style":179},[4772],{"type":48,"value":283},{"type":42,"tag":89,"props":4774,"children":4775},{"style":179},[4776],{"type":48,"value":632},{"type":42,"tag":89,"props":4778,"children":4779},{"class":91,"line":1296},[4780,4784,4788,4792,4797,4801],{"type":42,"tag":89,"props":4781,"children":4782},{"style":262},[4783],{"type":48,"value":671},{"type":42,"tag":89,"props":4785,"children":4786},{"style":179},[4787],{"type":48,"value":270},{"type":42,"tag":89,"props":4789,"children":4790},{"style":179},[4791],{"type":48,"value":203},{"type":42,"tag":89,"props":4793,"children":4794},{"style":112},[4795],{"type":48,"value":4796},"Verify",{"type":42,"tag":89,"props":4798,"children":4799},{"style":179},[4800],{"type":48,"value":283},{"type":42,"tag":89,"props":4802,"children":4803},{"style":179},[4804],{"type":48,"value":632},{"type":42,"tag":89,"props":4806,"children":4807},{"class":91,"line":1304},[4808,4812,4816,4820,4825,4829],{"type":42,"tag":89,"props":4809,"children":4810},{"style":262},[4811],{"type":48,"value":701},{"type":42,"tag":89,"props":4813,"children":4814},{"style":179},[4815],{"type":48,"value":270},{"type":42,"tag":89,"props":4817,"children":4818},{"style":179},[4819],{"type":48,"value":203},{"type":42,"tag":89,"props":4821,"children":4822},{"style":112},[4823],{"type":48,"value":4824},"\u003Cp>Code: \u003Cstrong>123456\u003C\u002Fstrong>\u003C\u002Fp>",{"type":42,"tag":89,"props":4826,"children":4827},{"style":179},[4828],{"type":48,"value":283},{"type":42,"tag":89,"props":4830,"children":4831},{"style":179},[4832],{"type":48,"value":632},{"type":42,"tag":89,"props":4834,"children":4835},{"class":91,"line":2520},[4836,4840],{"type":42,"tag":89,"props":4837,"children":4838},{"style":179},[4839],{"type":48,"value":731},{"type":42,"tag":89,"props":4841,"children":4842},{"style":185},[4843],{"type":48,"value":312},{"type":42,"tag":89,"props":4845,"children":4846},{"class":91,"line":2544},[4847],{"type":42,"tag":89,"props":4848,"children":4849},{"emptyLinePlaceholder":132},[4850],{"type":48,"value":135},{"type":42,"tag":89,"props":4852,"children":4853},{"class":91,"line":2552},[4854],{"type":42,"tag":89,"props":4855,"children":4856},{"style":96},[4857],{"type":48,"value":4858},"\u002F\u002F Retrieve\n",{"type":42,"tag":89,"props":4860,"children":4861},{"class":91,"line":2561},[4862,4866,4871,4875,4879,4883,4887,4892,4897,4901,4906,4910,4914,4918,4922],{"type":42,"tag":89,"props":4863,"children":4864},{"style":226},[4865],{"type":48,"value":229},{"type":42,"tag":89,"props":4867,"children":4868},{"style":185},[4869],{"type":48,"value":4870}," res ",{"type":42,"tag":89,"props":4872,"children":4873},{"style":179},[4874],{"type":48,"value":239},{"type":42,"tag":89,"props":4876,"children":4877},{"style":173},[4878],{"type":48,"value":244},{"type":42,"tag":89,"props":4880,"children":4881},{"style":247},[4882],{"type":48,"value":1343},{"type":42,"tag":89,"props":4884,"children":4885},{"style":185},[4886],{"type":48,"value":254},{"type":42,"tag":89,"props":4888,"children":4889},{"style":179},[4890],{"type":48,"value":4891},"`${",{"type":42,"tag":89,"props":4893,"children":4894},{"style":185},[4895],{"type":48,"value":4896},"emu",{"type":42,"tag":89,"props":4898,"children":4899},{"style":179},[4900],{"type":48,"value":578},{"type":42,"tag":89,"props":4902,"children":4903},{"style":185},[4904],{"type":48,"value":4905},"url",{"type":42,"tag":89,"props":4907,"children":4908},{"style":179},[4909],{"type":48,"value":731},{"type":42,"tag":89,"props":4911,"children":4912},{"style":112},[4913],{"type":48,"value":4162},{"type":42,"tag":89,"props":4915,"children":4916},{"style":179},[4917],{"type":48,"value":954},{"type":42,"tag":89,"props":4919,"children":4920},{"style":179},[4921],{"type":48,"value":288},{"type":42,"tag":89,"props":4923,"children":4924},{"style":179},[4925],{"type":48,"value":876},{"type":42,"tag":89,"props":4927,"children":4928},{"class":91,"line":2593},[4929,4933,4937,4941,4946,4950,4954,4958,4962],{"type":42,"tag":89,"props":4930,"children":4931},{"style":262},[4932],{"type":48,"value":1405},{"type":42,"tag":89,"props":4934,"children":4935},{"style":179},[4936],{"type":48,"value":270},{"type":42,"tag":89,"props":4938,"children":4939},{"style":179},[4940],{"type":48,"value":182},{"type":42,"tag":89,"props":4942,"children":4943},{"style":262},[4944],{"type":48,"value":4945}," Authorization",{"type":42,"tag":89,"props":4947,"children":4948},{"style":179},[4949],{"type":48,"value":270},{"type":42,"tag":89,"props":4951,"children":4952},{"style":179},[4953],{"type":48,"value":203},{"type":42,"tag":89,"props":4955,"children":4956},{"style":112},[4957],{"type":48,"value":1480},{"type":42,"tag":89,"props":4959,"children":4960},{"style":179},[4961],{"type":48,"value":283},{"type":42,"tag":89,"props":4963,"children":4964},{"style":179},[4965],{"type":48,"value":4966}," },\n",{"type":42,"tag":89,"props":4968,"children":4969},{"class":91,"line":2617},[4970,4974],{"type":42,"tag":89,"props":4971,"children":4972},{"style":179},[4973],{"type":48,"value":731},{"type":42,"tag":89,"props":4975,"children":4976},{"style":185},[4977],{"type":48,"value":312},{"type":42,"tag":89,"props":4979,"children":4980},{"class":91,"line":2625},[4981,4985,4989,4994,4998,5003,5007,5011,5015,5020,5024,5029],{"type":42,"tag":89,"props":4982,"children":4983},{"style":226},[4984],{"type":48,"value":229},{"type":42,"tag":89,"props":4986,"children":4987},{"style":179},[4988],{"type":48,"value":182},{"type":42,"tag":89,"props":4990,"children":4991},{"style":262},[4992],{"type":48,"value":4993}," data",{"type":42,"tag":89,"props":4995,"children":4996},{"style":179},[4997],{"type":48,"value":270},{"type":42,"tag":89,"props":4999,"children":5000},{"style":185},[5001],{"type":48,"value":5002}," emails ",{"type":42,"tag":89,"props":5004,"children":5005},{"style":179},[5006],{"type":48,"value":731},{"type":42,"tag":89,"props":5008,"children":5009},{"style":179},[5010],{"type":48,"value":1140},{"type":42,"tag":89,"props":5012,"children":5013},{"style":173},[5014],{"type":48,"value":244},{"type":42,"tag":89,"props":5016,"children":5017},{"style":185},[5018],{"type":48,"value":5019}," res",{"type":42,"tag":89,"props":5021,"children":5022},{"style":179},[5023],{"type":48,"value":578},{"type":42,"tag":89,"props":5025,"children":5026},{"style":247},[5027],{"type":48,"value":5028},"json",{"type":42,"tag":89,"props":5030,"children":5031},{"style":185},[5032],{"type":48,"value":5033},"()\n",{"type":42,"tag":89,"props":5035,"children":5036},{"class":91,"line":2634},[5037,5042,5046,5051,5056,5061,5065,5069,5074],{"type":42,"tag":89,"props":5038,"children":5039},{"style":185},[5040],{"type":48,"value":5041},"console",{"type":42,"tag":89,"props":5043,"children":5044},{"style":179},[5045],{"type":48,"value":578},{"type":42,"tag":89,"props":5047,"children":5048},{"style":247},[5049],{"type":48,"value":5050},"log",{"type":42,"tag":89,"props":5052,"children":5053},{"style":185},[5054],{"type":48,"value":5055},"(emails[",{"type":42,"tag":89,"props":5057,"children":5058},{"style":300},[5059],{"type":48,"value":5060},"0",{"type":42,"tag":89,"props":5062,"children":5063},{"style":185},[5064],{"type":48,"value":1272},{"type":42,"tag":89,"props":5066,"children":5067},{"style":179},[5068],{"type":48,"value":578},{"type":42,"tag":89,"props":5070,"children":5071},{"style":185},[5072],{"type":48,"value":5073},"html) ",{"type":42,"tag":89,"props":5075,"children":5076},{"style":96},[5077],{"type":48,"value":5078},"\u002F\u002F contains \"123456\"\n",{"type":42,"tag":5080,"props":5081,"children":5082},"style",{},[5083],{"type":48,"value":5084},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":5086,"total":5256},[5087,5105,5117,5129,5144,5159,5171,5184,5197,5210,5222,5241],{"slug":5088,"name":5088,"fn":5089,"description":5090,"org":5091,"tags":5092,"stars":5102,"repoUrl":5103,"updatedAt":5104},"agent-browser","automate browser interactions for AI agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5093,5096,5099],{"name":5094,"slug":5095,"type":14},"Agents","agents",{"name":5097,"slug":5098,"type":14},"Automation","automation",{"name":5100,"slug":5101,"type":14},"Browser Automation","browser-automation",38346,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-browser","2026-07-20T05:55:17.314329",{"slug":5106,"name":5106,"fn":5107,"description":5108,"org":5109,"tags":5110,"stars":5102,"repoUrl":5103,"updatedAt":5116},"agentcore","run browser automation on AWS Bedrock","Run agent-browser on AWS Bedrock AgentCore cloud browsers. Use when the user wants to use AgentCore, run browser automation on AWS, use a cloud browser with AWS credentials, or needs a managed browser session backed by AWS infrastructure. Triggers include \"use agentcore\", \"run on AWS\", \"cloud browser with AWS\", \"bedrock browser\", \"agentcore session\", or any task requiring AWS-hosted browser automation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5111,5112,5115],{"name":5097,"slug":5098,"type":14},{"name":5113,"slug":5114,"type":14},"AWS","aws",{"name":5100,"slug":5101,"type":14},"2026-07-17T06:08:33.665276",{"slug":5118,"name":5118,"fn":5119,"description":5120,"org":5121,"tags":5122,"stars":5102,"repoUrl":5103,"updatedAt":5128},"core","navigate and interact with web pages","Core agent-browser usage guide. Read this before running any agent-browser commands. Covers the snapshot-and-ref workflow, navigating pages, interacting with elements (click, fill, type, select), extracting text and data, taking screenshots, managing tabs, handling forms and auth, waiting for content, running multiple browser sessions in parallel, and troubleshooting common failures. Use when the user asks to interact with a website, fill a form, click something, extract data, take a screenshot, log into a site, test a web app, or automate any browser task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5123,5124,5125],{"name":5094,"slug":5095,"type":14},{"name":5100,"slug":5101,"type":14},{"name":5126,"slug":5127,"type":14},"Navigation","navigation","2026-07-26T05:47:42.378419",{"slug":5130,"name":5130,"fn":5131,"description":5132,"org":5133,"tags":5134,"stars":5102,"repoUrl":5103,"updatedAt":5143},"derive-client","reverse engineer internal APIs from browser traffic","Reverse-engineer a website's internal API by recording browser traffic into a HAR file, then generate a standalone client or CLI that calls the endpoints directly, with no browser needed after the first recording. Use when asked to \"derive a client\", \"build a CLI for \u003Csite>\", \"reverse engineer this site's API\", \"record network requests\", \"turn this site into an API\", or when the same site will be automated repeatedly and direct HTTP calls would beat driving the browser every time.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5135,5138,5139,5140],{"name":5136,"slug":5137,"type":14},"API Development","api-development",{"name":5097,"slug":5098,"type":14},{"name":5100,"slug":5101,"type":14},{"name":5141,"slug":5142,"type":14},"Web Scraping","web-scraping","2026-07-20T06:24:11.928835",{"slug":5145,"name":5145,"fn":5146,"description":5147,"org":5148,"tags":5149,"stars":5102,"repoUrl":5103,"updatedAt":5158},"dogfood","perform exploratory testing on web applications","Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", \"test this app\u002Fsite\u002Fplatform\", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5150,5151,5154,5157],{"name":5100,"slug":5101,"type":14},{"name":5152,"slug":5153,"type":14},"Debugging","debugging",{"name":5155,"slug":5156,"type":14},"QA","qa",{"name":19,"slug":20,"type":14},"2026-07-17T06:07:41.421482",{"slug":5160,"name":5160,"fn":5161,"description":5162,"org":5163,"tags":5164,"stars":5102,"repoUrl":5103,"updatedAt":5170},"electron","automate Electron desktop applications","Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include \"automate Slack app\", \"control VS Code\", \"interact with Discord app\", \"test this Electron app\", \"connect to desktop app\", or any task requiring automation of a native Electron application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5165,5166,5167],{"name":5094,"slug":5095,"type":14},{"name":5100,"slug":5101,"type":14},{"name":5168,"slug":5169,"type":14},"Desktop","desktop","2026-07-17T06:08:28.007783",{"slug":5172,"name":5172,"fn":5173,"description":5174,"org":5175,"tags":5176,"stars":5102,"repoUrl":5103,"updatedAt":5183},"slack","interact with Slack workspaces","Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include \"check my Slack\", \"what channels have unreads\", \"send a message to\", \"search Slack for\", \"extract from Slack\", \"find who said\", or any task requiring programmatic Slack interaction.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5177,5178,5181],{"name":5100,"slug":5101,"type":14},{"name":5179,"slug":5180,"type":14},"Messaging","messaging",{"name":5182,"slug":5172,"type":14},"Slack","2026-07-17T06:08:27.679015",{"slug":5185,"name":5185,"fn":5186,"description":5187,"org":5188,"tags":5189,"stars":5102,"repoUrl":5103,"updatedAt":5196},"vercel-sandbox","run browser automation in Vercel Sandbox","Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include \"Vercel Sandbox browser\", \"microVM Chrome\", \"agent-browser in sandbox\", \"browser automation on Vercel\", or any task requiring Chrome in a Vercel Sandbox.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5190,5191,5192,5193],{"name":5097,"slug":5098,"type":14},{"name":5100,"slug":5101,"type":14},{"name":19,"slug":20,"type":14},{"name":5194,"slug":5195,"type":14},"Vercel","vercel","2026-07-17T06:08:28.349899",{"slug":5198,"name":5198,"fn":5199,"description":5200,"org":5201,"tags":5202,"stars":5207,"repoUrl":5208,"updatedAt":5209},"deploy-to-vercel","deploy applications to Vercel","Deploy applications and websites to Vercel. Use when the user requests deployment actions like \"deploy my app\", \"deploy and give me the link\", \"push this live\", or \"create a preview deployment\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5203,5206],{"name":5204,"slug":5205,"type":14},"Deployment","deployment",{"name":5194,"slug":5195,"type":14},28993,"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-skills","2026-07-17T06:08:41.18374",{"slug":5211,"name":5211,"fn":5212,"description":5213,"org":5214,"tags":5215,"stars":5207,"repoUrl":5208,"updatedAt":5221},"vercel-cli-with-tokens","manage Vercel projects via CLI","Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. \"deploy to vercel\", \"set up vercel\", \"add environment variables to vercel\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5216,5219,5220],{"name":5217,"slug":5218,"type":14},"CLI","cli",{"name":5204,"slug":5205,"type":14},{"name":5194,"slug":5195,"type":14},"2026-07-17T06:08:41.84179",{"slug":5223,"name":5223,"fn":5224,"description":5225,"org":5226,"tags":5227,"stars":5207,"repoUrl":5208,"updatedAt":5240},"vercel-composition-patterns","implement scalable React composition patterns","React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5228,5231,5234,5237],{"name":5229,"slug":5230,"type":14},"Best Practices","best-practices",{"name":5232,"slug":5233,"type":14},"Frontend","frontend",{"name":5235,"slug":5236,"type":14},"React","react",{"name":5238,"slug":5239,"type":14},"UI Components","ui-components","2026-07-17T06:05:40.576913",{"slug":5242,"name":5242,"fn":5243,"description":5244,"org":5245,"tags":5246,"stars":5207,"repoUrl":5208,"updatedAt":5255},"vercel-optimize","optimize Vercel project performance and costs","Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel\u002Fframework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5247,5250,5251,5254],{"name":5248,"slug":5249,"type":14},"Cost Optimization","cost-optimization",{"name":5204,"slug":5205,"type":14},{"name":5252,"slug":5253,"type":14},"Performance","performance",{"name":5194,"slug":5195,"type":14},"2026-07-17T06:04:08.327515",100,{"items":5258,"total":1287},[5259,5271,5283,5304,5314,5337,5347],{"slug":5260,"name":5260,"fn":5261,"description":5262,"org":5263,"tags":5264,"stars":24,"repoUrl":25,"updatedAt":5270},"apple","emulate Apple Sign-in for local development","Emulated Sign in with Apple \u002F Apple OIDC for local development and testing. Use when the user needs to test Apple sign-in locally, emulate Apple OIDC discovery, handle Apple token exchange, configure Apple OAuth clients, or work with Apple userinfo without hitting real Apple APIs. Triggers include \"Apple OAuth\", \"emulate Apple\", \"mock Apple login\", \"test Apple sign-in\", \"Sign in with Apple\", \"Apple OIDC\", \"local Apple auth\", or any task requiring a local Apple OAuth\u002FOIDC provider.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5265,5267,5268,5269],{"name":5266,"slug":5260,"type":14},"Apple",{"name":326,"slug":323,"type":14},{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},"2026-07-17T06:08:52.141606",{"slug":5114,"name":5114,"fn":5272,"description":5273,"org":5274,"tags":5275,"stars":24,"repoUrl":25,"updatedAt":5282},"emulate AWS cloud services locally","Emulated AWS cloud services (S3, SQS, IAM, STS) for local development and testing. Use when the user needs to interact with AWS API endpoints locally, test S3 bucket and object operations, emulate SQS queues and messages, manage IAM users\u002Froles\u002Faccess keys, test STS assume role, or work without hitting real AWS APIs. Triggers include \"AWS emulator\", \"emulate AWS\", \"mock S3\", \"local SQS\", \"test IAM\", \"emulate S3\", \"AWS locally\", \"STS assume role\", or any task requiring local AWS service emulation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5276,5277,5280,5281],{"name":5113,"slug":5114,"type":14},{"name":5278,"slug":5279,"type":14},"Cloud","cloud",{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},"2026-07-17T06:08:52.818809",{"slug":208,"name":208,"fn":5284,"description":5285,"org":5286,"tags":5287,"stars":24,"repoUrl":25,"updatedAt":5303},"emulate developer APIs for local testing","Local drop-in API emulator for Vercel, GitHub, Google, Slack, Apple, Microsoft, AWS, Linear, and other developer APIs. Use when the user needs to start emulated services, configure seed data, write tests against local APIs, set up CI without network access, or work with the emulate CLI or programmatic API. Triggers include \"start the emulator\", \"emulate services\", \"mock API locally\", \"create emulator config\", \"test against local API\", \"npx emulate\", or any task requiring local service emulation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5288,5289,5290,5291,5294,5297,5298,5301,5302],{"name":5136,"slug":5137,"type":14},{"name":5266,"slug":5260,"type":14},{"name":5113,"slug":5114,"type":14},{"name":5292,"slug":5293,"type":14},"GitHub","github",{"name":5295,"slug":5296,"type":14},"Linear","linear",{"name":16,"slug":17,"type":14},{"name":5299,"slug":5300,"type":14},"Microsoft","microsoft",{"name":5182,"slug":5172,"type":14},{"name":19,"slug":20,"type":14},"2026-07-17T06:08:59.816303",{"slug":5293,"name":5293,"fn":5305,"description":5306,"org":5307,"tags":5308,"stars":24,"repoUrl":25,"updatedAt":5313},"emulate GitHub API for local development","Emulated GitHub REST API for local development and testing. Use when the user needs to interact with GitHub API endpoints locally, test GitHub integrations, emulate repos\u002Fissues\u002FPRs, set up GitHub OAuth flows, configure GitHub Apps, test webhooks, or work with actions\u002Fchecks without hitting the real GitHub API. Triggers include \"GitHub API\", \"emulate GitHub\", \"mock GitHub\", \"test GitHub OAuth\", \"GitHub App JWT\", \"local GitHub\", or any task requiring a local GitHub API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5309,5310,5311,5312],{"name":5136,"slug":5137,"type":14},{"name":5292,"slug":5293,"type":14},{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},"2026-07-17T06:05:55.104585",{"slug":5315,"name":5315,"fn":5316,"description":5317,"org":5318,"tags":5319,"stars":24,"repoUrl":25,"updatedAt":5336},"google","emulate Google services for local development","Emulated Google OAuth 2.0, OpenID Connect, Gmail, Calendar, and Drive for local development and testing. Use when the user needs to test Google sign-in locally, emulate OIDC discovery, handle Google token exchange, configure Google OAuth clients, work with Gmail messages\u002Fdrafts\u002Fthreads\u002Flabels, manage Calendar events, upload or list Drive files, or work with Google userinfo without hitting real Google APIs. Triggers include \"Google OAuth\", \"emulate Google\", \"mock Google login\", \"test Google sign-in\", \"OIDC emulator\", \"Google OIDC\", \"Gmail API\", \"Google Calendar\", \"Google Drive\", \"local Google auth\", or any task requiring a local Google API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5320,5321,5324,5326,5329,5332,5333],{"name":326,"slug":323,"type":14},{"name":5322,"slug":5323,"type":14},"Gmail","gmail",{"name":5325,"slug":5315,"type":14},"Google",{"name":5327,"slug":5328,"type":14},"Google Calendar","google-calendar",{"name":5330,"slug":5331,"type":14},"Google Drive","google-drive",{"name":16,"slug":17,"type":14},{"name":5334,"slug":5335,"type":14},"OAuth","oauth","2026-07-17T06:08:59.475325",{"slug":5296,"name":5296,"fn":5338,"description":5339,"org":5340,"tags":5341,"stars":24,"repoUrl":25,"updatedAt":5346},"emulate Linear API for local development","Emulated Linear GraphQL API for local development and testing. Use when the user needs to test Linear integrations locally, emulate Linear issues, comments, teams, workflow states, OAuth apps, webhooks, agent sessions, or work with the Linear API without hitting the real Linear service. Triggers include \"Linear API\", \"emulate Linear\", \"mock Linear\", \"test Linear OAuth\", \"Linear webhook\", \"Linear agent\", \"local Linear\", or any task requiring a local Linear API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5342,5343,5344,5345],{"name":5136,"slug":5137,"type":14},{"name":5295,"slug":5296,"type":14},{"name":16,"slug":17,"type":14},{"name":19,"slug":20,"type":14},"2026-07-17T06:04:11.495374",{"slug":5300,"name":5300,"fn":5348,"description":5349,"org":5350,"tags":5351,"stars":24,"repoUrl":25,"updatedAt":5356},"emulate Microsoft Entra ID for local development","Emulated Microsoft Entra ID (Azure AD) OAuth 2.0 \u002F OpenID Connect for local development and testing. Use when the user needs to test Microsoft sign-in locally, emulate Entra ID OIDC discovery, handle Microsoft token exchange, configure Azure AD OAuth clients, work with Microsoft Graph \u002Fme, or test PKCE\u002Fclient credentials flows without hitting real Microsoft APIs. Triggers include \"Microsoft OAuth\", \"Entra ID\", \"Azure AD\", \"emulate Microsoft\", \"mock Microsoft login\", \"test Microsoft sign-in\", \"Microsoft OIDC\", \"local Microsoft auth\", or any task requiring a local Microsoft OAuth\u002FOIDC provider.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[5352,5353,5354,5355],{"name":326,"slug":323,"type":14},{"name":16,"slug":17,"type":14},{"name":5299,"slug":5300,"type":14},{"name":5334,"slug":5335,"type":14},"2026-07-17T06:08:55.822349"]