[{"data":1,"prerenderedAt":1118},["ShallowReactive",2],{"navigation_docs":3,"-guides-ci-cd-temp-mail-testing":134,"-guides-ci-cd-temp-mail-testing-surround":1113},[4,36,61,87,113],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-sparkles",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-zap",{"title":21,"path":22,"stem":23,"icon":24},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F3.authentication","i-lucide-key",{"title":26,"path":27,"stem":28,"icon":29},"Rate Limits & Quotas","\u002Fgetting-started\u002Frate-limits-quotas","1.getting-started\u002F4.rate-limits-quotas","i-lucide-gauge",{"title":31,"path":32,"stem":33,"icon":34},"SDKs & Tools","\u002Fgetting-started\u002Fsdks-tools","1.getting-started\u002F5.sdks-tools","i-lucide-box",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Cloud Infrastructure","i-lucide-server","\u002Finfrastructure","2.infrastructure",[42,46,51,56],{"title":43,"path":44,"stem":45,"icon":38},"Cloud VPS Compute","\u002Finfrastructure\u002Fvps-compute","2.infrastructure\u002F1.vps-compute",{"title":47,"path":48,"stem":49,"icon":50},"Managed Databases","\u002Finfrastructure\u002Fmanaged-databases","2.infrastructure\u002F2.managed-databases","i-lucide-database",{"title":52,"path":53,"stem":54,"icon":55},"Networking & Cloud Firewall","\u002Finfrastructure\u002Fnetworking-firewall","2.infrastructure\u002F3.networking-firewall","i-lucide-shield",{"title":57,"path":58,"stem":59,"icon":60},"Block Storage & Volumes","\u002Finfrastructure\u002Fblock-storage","2.infrastructure\u002F4.block-storage","i-lucide-hard-drive",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":35},"Services & APIs","i-lucide-cpu","\u002Fservices-api","3.services-api",[67,72,77,82],{"title":68,"path":69,"stem":70,"icon":71},"REST API Reference","\u002Fservices-api\u002Fapi-reference","3.services-api\u002F1.api-reference","i-lucide-terminal",{"title":73,"path":74,"stem":75,"icon":76},"URL Shortener API","\u002Fservices-api\u002Furl-shortener","3.services-api\u002F2.url-shortener","i-lucide-link",{"title":78,"path":79,"stem":80,"icon":81},"Temp Mail API","\u002Fservices-api\u002Ftemp-mail","3.services-api\u002F3.temp-mail","i-lucide-mail",{"title":83,"path":84,"stem":85,"icon":86},"Developer Utility APIs","\u002Fservices-api\u002Fdeveloper-utilities","3.services-api\u002F4.developer-utilities","i-lucide-wrench",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":35},"Guides & Tutorials","i-lucide-book-open","\u002Fguides","4.guides",[93,98,103,108],{"title":94,"path":95,"stem":96,"icon":97},"Deploy a Full-Stack App with VPS & PostgreSQL","\u002Fguides\u002Fdeploy-fullstack-app","4.guides\u002F1.deploy-fullstack-app","i-lucide-layers",{"title":99,"path":100,"stem":101,"icon":102},"Automated Backups & Webhook Alerts","\u002Fguides\u002Fautomated-backups-webhook","4.guides\u002F2.automated-backups-webhook","i-lucide-bell",{"title":104,"path":105,"stem":106,"icon":107},"E2E Auth Testing with Temp Mail in CI\u002FCD","\u002Fguides\u002Fci-cd-temp-mail-testing","4.guides\u002F3.ci-cd-temp-mail-testing","i-lucide-check-circle-2",{"title":109,"path":110,"stem":111,"icon":112},"Custom Domain & SSL Configuration","\u002Fguides\u002Fcustom-domain-setup","4.guides\u002F4.custom-domain-setup","i-lucide-globe",{"title":114,"icon":115,"path":116,"stem":117,"children":118,"page":35},"Account & Billing","i-lucide-credit-card","\u002Faccount-billing","5.account-billing",[119,124,129],{"title":120,"path":121,"stem":122,"icon":123},"Pricing & Hourly Billing","\u002Faccount-billing\u002Fpricing-billing","5.account-billing\u002F1.pricing-billing","i-lucide-receipt",{"title":125,"path":126,"stem":127,"icon":128},"Team Management & RBAC","\u002Faccount-billing\u002Fteam-rbac","5.account-billing\u002F2.team-rbac","i-lucide-users",{"title":130,"path":131,"stem":132,"icon":133},"Resource Quotas & Service Limits","\u002Faccount-billing\u002Fservice-limits","5.account-billing\u002F3.service-limits","i-lucide-sliders",{"id":135,"title":104,"body":136,"description":1104,"extension":1105,"links":1106,"meta":1107,"navigation":1108,"path":105,"seo":1109,"stem":106,"__hash__":1112},"docs\u002F4.guides\u002F3.ci-cd-temp-mail-testing.md",{"type":137,"value":138,"toc":1100},"minimark",[139,143,152,155,160,427,429,433,1096],[140,141,104],"h1",{"id":142},"e2e-auth-testing-with-temp-mail-in-cicd",[144,145,146,147,151],"p",{},"Testing user signups and magic links in automated CI\u002FCD pipelines often causes headaches with rate limits and spam filters. The ",[148,149,150],"strong",{},"1st Services Temp Mail API"," solves this by providing isolated, programmatic mailboxes.",[153,154],"hr",{},[156,157,159],"h2",{"id":158},"complete-github-actions-workflow","Complete GitHub Actions Workflow",[161,162,168],"pre",{"className":163,"code":164,"filename":165,"language":166,"meta":167,"style":167},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","name: E2E Tests\n\non: [push, pull_request]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n      - uses: actions\u002Fsetup-node@v4\n        with:\n          node-version: 22\n      \n      - name: Install dependencies\n        run: npm ci\n\n      - name: Install Playwright Browsers\n        run: npx playwright install --with-deps\n\n      - name: Run E2E Auth Tests\n        env:\n          FIRST_API_KEY: ${{ secrets.FIRST_API_KEY }}\n          BASE_URL: \"https:\u002F\u002Fstaging.myapp.com\"\n        run: npm run test:e2e\n",".github\u002Fworkflows\u002Fe2e.yml","yaml","",[169,170,171,188,195,219,224,233,241,252,260,274,286,294,306,313,326,337,342,354,364,369,381,389,400,417],"code",{"__ignoreMap":167},[172,173,176,180,184],"span",{"class":174,"line":175},"line",1,[172,177,179],{"class":178},"swJcz","name",[172,181,183],{"class":182},"sMK4o",":",[172,185,187],{"class":186},"sfazB"," E2E Tests\n",[172,189,191],{"class":174,"line":190},2,[172,192,194],{"emptyLinePlaceholder":193},true,"\n",[172,196,198,202,204,207,210,213,216],{"class":174,"line":197},3,[172,199,201],{"class":200},"sfNiH","on",[172,203,183],{"class":182},[172,205,206],{"class":182}," [",[172,208,209],{"class":186},"push",[172,211,212],{"class":182},",",[172,214,215],{"class":186}," pull_request",[172,217,218],{"class":182},"]\n",[172,220,222],{"class":174,"line":221},4,[172,223,194],{"emptyLinePlaceholder":193},[172,225,227,230],{"class":174,"line":226},5,[172,228,229],{"class":178},"jobs",[172,231,232],{"class":182},":\n",[172,234,236,239],{"class":174,"line":235},6,[172,237,238],{"class":178},"  test",[172,240,232],{"class":182},[172,242,244,247,249],{"class":174,"line":243},7,[172,245,246],{"class":178},"    runs-on",[172,248,183],{"class":182},[172,250,251],{"class":186}," ubuntu-latest\n",[172,253,255,258],{"class":174,"line":254},8,[172,256,257],{"class":178},"    steps",[172,259,232],{"class":182},[172,261,263,266,269,271],{"class":174,"line":262},9,[172,264,265],{"class":182},"      -",[172,267,268],{"class":178}," uses",[172,270,183],{"class":182},[172,272,273],{"class":186}," actions\u002Fcheckout@v4\n",[172,275,277,279,281,283],{"class":174,"line":276},10,[172,278,265],{"class":182},[172,280,268],{"class":178},[172,282,183],{"class":182},[172,284,285],{"class":186}," actions\u002Fsetup-node@v4\n",[172,287,289,292],{"class":174,"line":288},11,[172,290,291],{"class":178},"        with",[172,293,232],{"class":182},[172,295,297,300,302],{"class":174,"line":296},12,[172,298,299],{"class":178},"          node-version",[172,301,183],{"class":182},[172,303,305],{"class":304},"sbssI"," 22\n",[172,307,309],{"class":174,"line":308},13,[172,310,312],{"class":311},"sTEyZ","      \n",[172,314,316,318,321,323],{"class":174,"line":315},14,[172,317,265],{"class":182},[172,319,320],{"class":178}," name",[172,322,183],{"class":182},[172,324,325],{"class":186}," Install dependencies\n",[172,327,329,332,334],{"class":174,"line":328},15,[172,330,331],{"class":178},"        run",[172,333,183],{"class":182},[172,335,336],{"class":186}," npm ci\n",[172,338,340],{"class":174,"line":339},16,[172,341,194],{"emptyLinePlaceholder":193},[172,343,345,347,349,351],{"class":174,"line":344},17,[172,346,265],{"class":182},[172,348,320],{"class":178},[172,350,183],{"class":182},[172,352,353],{"class":186}," Install Playwright Browsers\n",[172,355,357,359,361],{"class":174,"line":356},18,[172,358,331],{"class":178},[172,360,183],{"class":182},[172,362,363],{"class":186}," npx playwright install --with-deps\n",[172,365,367],{"class":174,"line":366},19,[172,368,194],{"emptyLinePlaceholder":193},[172,370,372,374,376,378],{"class":174,"line":371},20,[172,373,265],{"class":182},[172,375,320],{"class":178},[172,377,183],{"class":182},[172,379,380],{"class":186}," Run E2E Auth Tests\n",[172,382,384,387],{"class":174,"line":383},21,[172,385,386],{"class":178},"        env",[172,388,232],{"class":182},[172,390,392,395,397],{"class":174,"line":391},22,[172,393,394],{"class":178},"          FIRST_API_KEY",[172,396,183],{"class":182},[172,398,399],{"class":186}," ${{ secrets.FIRST_API_KEY }}\n",[172,401,403,406,408,411,414],{"class":174,"line":402},23,[172,404,405],{"class":178},"          BASE_URL",[172,407,183],{"class":182},[172,409,410],{"class":182}," \"",[172,412,413],{"class":186},"https:\u002F\u002Fstaging.myapp.com",[172,415,416],{"class":182},"\"\n",[172,418,420,422,424],{"class":174,"line":419},24,[172,421,331],{"class":178},[172,423,183],{"class":182},[172,425,426],{"class":186}," npm run test:e2e\n",[153,428],{},[156,430,432],{"id":431},"test-implementation-typescript-playwright","Test Implementation (TypeScript + Playwright)",[161,434,439],{"className":435,"code":436,"filename":437,"language":438,"meta":167,"style":167},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { test, expect } from '@playwright\u002Ftest'\nimport { FirstClient } from '@1st-services\u002Fsdk'\n\nconst first = new FirstClient({\n  apiKey: process.env.FIRST_API_KEY!,\n})\n\ntest('Complete Signup & Email Verification Flow', async ({ page }) => {\n  \u002F\u002F 1. Generate unique temporary inbox for this specific test run\n  const inbox = await first.tempMail.createInbox({\n    prefix: `ci-test-${Date.now()}`,\n    ttlMinutes: 10,\n  })\n\n  \u002F\u002F 2. Perform signup on your application\n  await page.goto(`${process.env.BASE_URL}\u002Fregister`)\n  await page.fill('input[name=\"full_name\"]', 'Automated QA Bot')\n  await page.fill('input[name=\"email\"]', inbox.address)\n  await page.fill('input[name=\"password\"]', 'SuperSecretPass123!')\n  await page.click('button[type=\"submit\"]')\n\n  \u002F\u002F 3. Poll 1st Services API for incoming email (auto-times out if not received)\n  const email = await first.tempMail.waitForMessage(inbox.id, {\n    timeoutMs: 15000,\n    pollIntervalMs: 1000,\n  })\n\n  expect(email.subject).toContain('Verify your email address')\n  \n  \u002F\u002F 4. Extract verification link or OTP code\n  const verificationLink = email.parsedLinks[0]\n  expect(verificationLink).toBeDefined()\n\n  \u002F\u002F 5. Navigate to verification link\n  await page.goto(verificationLink)\n  await expect(page.locator('h1')).toContainText('Email Verified Successfully')\n})\n","tests\u002Fauth-flow.spec.ts","ts",[169,440,441,473,493,497,521,545,553,557,593,599,630,663,675,682,686,691,730,761,791,821,843,847,852,888,900,913,920,925,960,966,972,997,1017,1022,1028,1045,1089],{"__ignoreMap":167},[172,442,443,447,450,453,455,458,461,464,467,470],{"class":174,"line":175},[172,444,446],{"class":445},"s7zQu","import",[172,448,449],{"class":182}," {",[172,451,452],{"class":311}," test",[172,454,212],{"class":182},[172,456,457],{"class":311}," expect",[172,459,460],{"class":182}," }",[172,462,463],{"class":445}," from",[172,465,466],{"class":182}," '",[172,468,469],{"class":186},"@playwright\u002Ftest",[172,471,472],{"class":182},"'\n",[172,474,475,477,479,482,484,486,488,491],{"class":174,"line":190},[172,476,446],{"class":445},[172,478,449],{"class":182},[172,480,481],{"class":311}," FirstClient",[172,483,460],{"class":182},[172,485,463],{"class":445},[172,487,466],{"class":182},[172,489,490],{"class":186},"@1st-services\u002Fsdk",[172,492,472],{"class":182},[172,494,495],{"class":174,"line":197},[172,496,194],{"emptyLinePlaceholder":193},[172,498,499,503,506,509,512,515,518],{"class":174,"line":221},[172,500,502],{"class":501},"spNyl","const",[172,504,505],{"class":311}," first ",[172,507,508],{"class":182},"=",[172,510,511],{"class":182}," new",[172,513,481],{"class":514},"s2Zo4",[172,516,517],{"class":311},"(",[172,519,520],{"class":182},"{\n",[172,522,523,526,528,531,534,537,539,542],{"class":174,"line":226},[172,524,525],{"class":178},"  apiKey",[172,527,183],{"class":182},[172,529,530],{"class":311}," process",[172,532,533],{"class":182},".",[172,535,536],{"class":311},"env",[172,538,533],{"class":182},[172,540,541],{"class":311},"FIRST_API_KEY",[172,543,544],{"class":182},"!,\n",[172,546,547,550],{"class":174,"line":235},[172,548,549],{"class":182},"}",[172,551,552],{"class":311},")\n",[172,554,555],{"class":174,"line":243},[172,556,194],{"emptyLinePlaceholder":193},[172,558,559,562,564,567,570,572,574,577,580,584,587,590],{"class":174,"line":254},[172,560,561],{"class":514},"test",[172,563,517],{"class":311},[172,565,566],{"class":182},"'",[172,568,569],{"class":186},"Complete Signup & Email Verification Flow",[172,571,566],{"class":182},[172,573,212],{"class":182},[172,575,576],{"class":501}," async",[172,578,579],{"class":182}," ({",[172,581,583],{"class":582},"sHdIc"," page",[172,585,586],{"class":182}," })",[172,588,589],{"class":501}," =>",[172,591,592],{"class":182}," {\n",[172,594,595],{"class":174,"line":262},[172,596,598],{"class":597},"sHwdD","  \u002F\u002F 1. Generate unique temporary inbox for this specific test run\n",[172,600,601,604,607,610,613,616,618,621,623,626,628],{"class":174,"line":276},[172,602,603],{"class":501},"  const",[172,605,606],{"class":311}," inbox",[172,608,609],{"class":182}," =",[172,611,612],{"class":445}," await",[172,614,615],{"class":311}," first",[172,617,533],{"class":182},[172,619,620],{"class":311},"tempMail",[172,622,533],{"class":182},[172,624,625],{"class":514},"createInbox",[172,627,517],{"class":178},[172,629,520],{"class":182},[172,631,632,635,637,640,643,646,649,651,654,657,660],{"class":174,"line":288},[172,633,634],{"class":178},"    prefix",[172,636,183],{"class":182},[172,638,639],{"class":182}," `",[172,641,642],{"class":186},"ci-test-",[172,644,645],{"class":182},"${",[172,647,648],{"class":311},"Date",[172,650,533],{"class":182},[172,652,653],{"class":514},"now",[172,655,656],{"class":311},"()",[172,658,659],{"class":182},"}`",[172,661,662],{"class":182},",\n",[172,664,665,668,670,673],{"class":174,"line":296},[172,666,667],{"class":178},"    ttlMinutes",[172,669,183],{"class":182},[172,671,672],{"class":304}," 10",[172,674,662],{"class":182},[172,676,677,680],{"class":174,"line":308},[172,678,679],{"class":182},"  }",[172,681,552],{"class":178},[172,683,684],{"class":174,"line":315},[172,685,194],{"emptyLinePlaceholder":193},[172,687,688],{"class":174,"line":328},[172,689,690],{"class":597},"  \u002F\u002F 2. Perform signup on your application\n",[172,692,693,696,698,700,703,705,708,711,713,715,717,720,722,725,728],{"class":174,"line":339},[172,694,695],{"class":445},"  await",[172,697,583],{"class":311},[172,699,533],{"class":182},[172,701,702],{"class":514},"goto",[172,704,517],{"class":178},[172,706,707],{"class":182},"`${",[172,709,710],{"class":311},"process",[172,712,533],{"class":182},[172,714,536],{"class":311},[172,716,533],{"class":182},[172,718,719],{"class":311},"BASE_URL",[172,721,549],{"class":182},[172,723,724],{"class":186},"\u002Fregister",[172,726,727],{"class":182},"`",[172,729,552],{"class":178},[172,731,732,734,736,738,741,743,745,748,750,752,754,757,759],{"class":174,"line":344},[172,733,695],{"class":445},[172,735,583],{"class":311},[172,737,533],{"class":182},[172,739,740],{"class":514},"fill",[172,742,517],{"class":178},[172,744,566],{"class":182},[172,746,747],{"class":186},"input[name=\"full_name\"]",[172,749,566],{"class":182},[172,751,212],{"class":182},[172,753,466],{"class":182},[172,755,756],{"class":186},"Automated QA Bot",[172,758,566],{"class":182},[172,760,552],{"class":178},[172,762,763,765,767,769,771,773,775,778,780,782,784,786,789],{"class":174,"line":356},[172,764,695],{"class":445},[172,766,583],{"class":311},[172,768,533],{"class":182},[172,770,740],{"class":514},[172,772,517],{"class":178},[172,774,566],{"class":182},[172,776,777],{"class":186},"input[name=\"email\"]",[172,779,566],{"class":182},[172,781,212],{"class":182},[172,783,606],{"class":311},[172,785,533],{"class":182},[172,787,788],{"class":311},"address",[172,790,552],{"class":178},[172,792,793,795,797,799,801,803,805,808,810,812,814,817,819],{"class":174,"line":366},[172,794,695],{"class":445},[172,796,583],{"class":311},[172,798,533],{"class":182},[172,800,740],{"class":514},[172,802,517],{"class":178},[172,804,566],{"class":182},[172,806,807],{"class":186},"input[name=\"password\"]",[172,809,566],{"class":182},[172,811,212],{"class":182},[172,813,466],{"class":182},[172,815,816],{"class":186},"SuperSecretPass123!",[172,818,566],{"class":182},[172,820,552],{"class":178},[172,822,823,825,827,829,832,834,836,839,841],{"class":174,"line":371},[172,824,695],{"class":445},[172,826,583],{"class":311},[172,828,533],{"class":182},[172,830,831],{"class":514},"click",[172,833,517],{"class":178},[172,835,566],{"class":182},[172,837,838],{"class":186},"button[type=\"submit\"]",[172,840,566],{"class":182},[172,842,552],{"class":178},[172,844,845],{"class":174,"line":383},[172,846,194],{"emptyLinePlaceholder":193},[172,848,849],{"class":174,"line":391},[172,850,851],{"class":597},"  \u002F\u002F 3. Poll 1st Services API for incoming email (auto-times out if not received)\n",[172,853,854,856,859,861,863,865,867,869,871,874,876,879,881,884,886],{"class":174,"line":402},[172,855,603],{"class":501},[172,857,858],{"class":311}," email",[172,860,609],{"class":182},[172,862,612],{"class":445},[172,864,615],{"class":311},[172,866,533],{"class":182},[172,868,620],{"class":311},[172,870,533],{"class":182},[172,872,873],{"class":514},"waitForMessage",[172,875,517],{"class":178},[172,877,878],{"class":311},"inbox",[172,880,533],{"class":182},[172,882,883],{"class":311},"id",[172,885,212],{"class":182},[172,887,592],{"class":182},[172,889,890,893,895,898],{"class":174,"line":419},[172,891,892],{"class":178},"    timeoutMs",[172,894,183],{"class":182},[172,896,897],{"class":304}," 15000",[172,899,662],{"class":182},[172,901,903,906,908,911],{"class":174,"line":902},25,[172,904,905],{"class":178},"    pollIntervalMs",[172,907,183],{"class":182},[172,909,910],{"class":304}," 1000",[172,912,662],{"class":182},[172,914,916,918],{"class":174,"line":915},26,[172,917,679],{"class":182},[172,919,552],{"class":178},[172,921,923],{"class":174,"line":922},27,[172,924,194],{"emptyLinePlaceholder":193},[172,926,928,931,933,936,938,941,944,946,949,951,953,956,958],{"class":174,"line":927},28,[172,929,930],{"class":514},"  expect",[172,932,517],{"class":178},[172,934,935],{"class":311},"email",[172,937,533],{"class":182},[172,939,940],{"class":311},"subject",[172,942,943],{"class":178},")",[172,945,533],{"class":182},[172,947,948],{"class":514},"toContain",[172,950,517],{"class":178},[172,952,566],{"class":182},[172,954,955],{"class":186},"Verify your email address",[172,957,566],{"class":182},[172,959,552],{"class":178},[172,961,963],{"class":174,"line":962},29,[172,964,965],{"class":178},"  \n",[172,967,969],{"class":174,"line":968},30,[172,970,971],{"class":597},"  \u002F\u002F 4. Extract verification link or OTP code\n",[172,973,975,977,980,982,984,986,989,992,995],{"class":174,"line":974},31,[172,976,603],{"class":501},[172,978,979],{"class":311}," verificationLink",[172,981,609],{"class":182},[172,983,858],{"class":311},[172,985,533],{"class":182},[172,987,988],{"class":311},"parsedLinks",[172,990,991],{"class":178},"[",[172,993,994],{"class":304},"0",[172,996,218],{"class":178},[172,998,1000,1002,1004,1007,1009,1011,1014],{"class":174,"line":999},32,[172,1001,930],{"class":514},[172,1003,517],{"class":178},[172,1005,1006],{"class":311},"verificationLink",[172,1008,943],{"class":178},[172,1010,533],{"class":182},[172,1012,1013],{"class":514},"toBeDefined",[172,1015,1016],{"class":178},"()\n",[172,1018,1020],{"class":174,"line":1019},33,[172,1021,194],{"emptyLinePlaceholder":193},[172,1023,1025],{"class":174,"line":1024},34,[172,1026,1027],{"class":597},"  \u002F\u002F 5. Navigate to verification link\n",[172,1029,1031,1033,1035,1037,1039,1041,1043],{"class":174,"line":1030},35,[172,1032,695],{"class":445},[172,1034,583],{"class":311},[172,1036,533],{"class":182},[172,1038,702],{"class":514},[172,1040,517],{"class":178},[172,1042,1006],{"class":311},[172,1044,552],{"class":178},[172,1046,1048,1050,1052,1054,1057,1059,1062,1064,1066,1068,1070,1073,1075,1078,1080,1082,1085,1087],{"class":174,"line":1047},36,[172,1049,695],{"class":445},[172,1051,457],{"class":514},[172,1053,517],{"class":178},[172,1055,1056],{"class":311},"page",[172,1058,533],{"class":182},[172,1060,1061],{"class":514},"locator",[172,1063,517],{"class":178},[172,1065,566],{"class":182},[172,1067,140],{"class":186},[172,1069,566],{"class":182},[172,1071,1072],{"class":178},"))",[172,1074,533],{"class":182},[172,1076,1077],{"class":514},"toContainText",[172,1079,517],{"class":178},[172,1081,566],{"class":182},[172,1083,1084],{"class":186},"Email Verified Successfully",[172,1086,566],{"class":182},[172,1088,552],{"class":178},[172,1090,1092,1094],{"class":174,"line":1091},37,[172,1093,549],{"class":182},[172,1095,552],{"class":311},[1097,1098,1099],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":167,"searchDepth":190,"depth":190,"links":1101},[1102,1103],{"id":158,"depth":190,"text":159},{"id":431,"depth":190,"text":432},"How to automate email verification and magic link testing in GitHub Actions using the Temp Mail API.","md",null,{},{"icon":107},{"title":1110,"description":1111},"E2E Auth Testing with Temp Mail - 1st Services Guide","Use the 1st Temp Mail API in GitHub Actions and Playwright to verify email OTPs.","r80ZuGS0jhGWPddFq_dIacEmtRVdUJlxmbtbXNmX7dg",[1114,1116],{"title":99,"path":100,"stem":101,"description":1115,"icon":102,"children":-1},"Set up scheduled database backups and receive instant status notifications in Slack or Discord.",{"title":109,"path":110,"stem":111,"description":1117,"icon":112,"children":-1},"How to map your own custom branded domains to 1st URL Shortener and VPS instances with automatic SSL.",1787579791012]