import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().emailAuth({ email: "<string> (Email of the authenticating user.)", targetPublicKey: "<string> (Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.)", apiKeyName: "<string> (Optional human-readable name for an API Key. If none provided, default to Email Auth - <Timestamp>)", expirationSeconds: "<string> (Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.)", emailCustomization: { // emailCustomization field, appName: "<string> (The name of the application. This field is required and will be used in email notifications if an email template is not provided.)", logoUrl: "<string> (A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.)", magicLinkTemplate: "<string> (A template for the URL to be used in a magic link button, e.g. `https://dapp.xyz/%s`. The auth bundle will be interpolated into the `%s`.)", templateVariables: "<string> (JSON object containing key/value pairs to be used with custom templates.)", templateId: "<string> (Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.)", }, invalidateExisting: true // Invalidate all other previously generated Email Auth API keys, sendFromEmailAddress: "<string> (Optional custom email address from which to send the email)", sendFromEmailSenderName: "<string> (Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications')", replyToEmailAddress: "<string> (Optional custom email address to use as reply-to)"});
import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().emailAuth({ email: "<string> (Email of the authenticating user.)", targetPublicKey: "<string> (Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.)", apiKeyName: "<string> (Optional human-readable name for an API Key. If none provided, default to Email Auth - <Timestamp>)", expirationSeconds: "<string> (Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.)", emailCustomization: { // emailCustomization field, appName: "<string> (The name of the application. This field is required and will be used in email notifications if an email template is not provided.)", logoUrl: "<string> (A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.)", magicLinkTemplate: "<string> (A template for the URL to be used in a magic link button, e.g. `https://dapp.xyz/%s`. The auth bundle will be interpolated into the `%s`.)", templateVariables: "<string> (JSON object containing key/value pairs to be used with custom templates.)", templateId: "<string> (Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.)", }, invalidateExisting: true // Invalidate all other previously generated Email Auth API keys, sendFromEmailAddress: "<string> (Optional custom email address from which to send the email)", sendFromEmailSenderName: "<string> (Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications')", replyToEmailAddress: "<string> (Optional custom email address to use as reply-to)"});
import { Turnkey } from "@turnkey/sdk-server";const turnkeyClient = new Turnkey({ apiBaseUrl: "https://api.turnkey.com", apiPublicKey: process.env.API_PUBLIC_KEY!, apiPrivateKey: process.env.API_PRIVATE_KEY!, defaultOrganizationId: process.env.ORGANIZATION_ID!,});const response = await turnkeyClient.apiClient().emailAuth({ email: "<string> (Email of the authenticating user.)", targetPublicKey: "<string> (Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.)", apiKeyName: "<string> (Optional human-readable name for an API Key. If none provided, default to Email Auth - <Timestamp>)", expirationSeconds: "<string> (Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.)", emailCustomization: { // emailCustomization field, appName: "<string> (The name of the application. This field is required and will be used in email notifications if an email template is not provided.)", logoUrl: "<string> (A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.)", magicLinkTemplate: "<string> (A template for the URL to be used in a magic link button, e.g. `https://dapp.xyz/%s`. The auth bundle will be interpolated into the `%s`.)", templateVariables: "<string> (JSON object containing key/value pairs to be used with custom templates.)", templateId: "<string> (Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.)", }, invalidateExisting: true // Invalidate all other previously generated Email Auth API keys, sendFromEmailAddress: "<string> (Optional custom email address from which to send the email)", sendFromEmailSenderName: "<string> (Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications')", replyToEmailAddress: "<string> (Optional custom email address to use as reply-to)"});
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Turnkey","colors":{"primary":"#4C48FF","light":"#4C48FF","dark":"#050a0b"},"logo":{"light":"https://mintcdn.com/turnkey-0e7c1f5b/YQKQ_azrjtJ471Qy/logo/light.svg?fit=max\u0026auto=format\u0026n=YQKQ_azrjtJ471Qy\u0026q=85\u0026s=38556c8732a1d68a5399fce905b480b1","dark":"https://mintcdn.com/turnkey-0e7c1f5b/YQKQ_azrjtJ471Qy/logo/dark.svg?fit=max\u0026auto=format\u0026n=YQKQ_azrjtJ471Qy\u0026q=85\u0026s=98f8b7cda703a0db60ac27ff2230e82a","href":"https://www.turnkey.com/"},"favicon":"https://mintcdn.com/turnkey-0e7c1f5b/G2SswZbcSJ7UNXDG/favicon.svg?fit=max\u0026auto=format\u0026n=G2SswZbcSJ7UNXDG\u0026q=85\u0026s=3ebddfc4d9bf146ad2e2dd286f2ead54","navbar":{"links":[{"href":"https://www.turnkey.com/blog","label":"Blog"},{"href":"https://www.turnkey.com/contact-us","label":"Contact us"}],"primary":{"type":"button","label":"Get started","href":"https://app.turnkey.com/dashboard/auth/initial"}},"footer":{"socials":{"x":"https://x.com/turnkeyhq","github":"https://github.com/tkhq","linkedin":"https://www.linkedin.com/company/turnkeyhq"}},"seo":{"metatags":{"og:image":"https://docs.turnkey.com/images/og-image.png"}},"styling":{"codeblocks":"system","latex":true},"integrations":{"ga4":{"measurementId":"G-VRJJ2TSC23"},"gtm":{"tagId":"GTM-PN838HQC"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"markdown":{"instructions":["Turnkey is wallet infrastructure: create and manage crypto wallets, sign transactions, and enforce policy-based access controls. Best-fit uses: embedded consumer wallets (email/passkey/social auth, no seed phrases), automated onchain operations with server-side wallets, AI agent wallets with policy-scoped signing, enterprise key management, and verifiable off-chain workloads on Turnkey Verifiable Cloud (TVC).","Every API call is a JSON POST to https://api.turnkey.com signed with a P-256 API key; create an organization and key self-serve at https://app.turnkey.com.","Key Turnkey developer resources: API reference (https://docs.turnkey.com/api-reference/overview/intro.md), OpenAPI spec (https://docs.turnkey.com/public_api.swagger.json), authentication (https://docs.turnkey.com/features/authentication/overview.md), webhooks (https://docs.turnkey.com/features/webhooks/overview.md), MCP server for docs search (https://docs.turnkey.com/mcp), skill for building with Turnkey (https://docs.turnkey.com/skill.md), agent skills for operating an organization (https://docs.turnkey.com/get-started/ai-skills.md), CLI (https://docs.turnkey.com/sdks/cli.md), SDK reference (https://docs.turnkey.com/sdks/introduction.md), full docs content (https://docs.turnkey.com/llms-full.txt)."]},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"turnkey-0e7c1f5b","hasAudioNarration":false,"actualSubdomain":"turnkey-0e7c1f5b","customDomains":["docs.turnkey.com"],"gitSource":{"type":"github","owner":"tkhq","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecc9bdb73fb2a3ef800551","collectionId":"5db7017d-425f-4d37-a722-132c5f5546b0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecc9bdb73fb2a3ef800551"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee68a6ffcb7d917761c74c","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API \u0026 SDK reference","count":450},{"language":"default","tag":"SDK reference","count":241},{"language":"default","tag":"REST API","count":209},{"language":"default","tag":"Documentation","count":126},{"language":"default","tag":"Activities","count":118},{"language":"default","tag":"Features","count":115},{"language":"default","tag":"Solutions","count":105},{"language":"default","tag":"React wallet kit","count":94},{"language":"default","tag":"Queries","count":75},{"language":"default","tag":"Embedded Wallets","count":71}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":".sms-price-lookup-container{position:relative;margin-top:1rem;margin-bottom:1rem}.sms-country-trigger{display:block;width:100%;padding:0.5rem 0.75rem;font-size:1rem;font-family:inherit;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:0.25rem;text-align:left;cursor:pointer;padding-right:2rem;background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right 0.75rem center;background-size:16px 12px}.sms-country-list{display:none;position:absolute;top:100%;left:0;width:100%;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 0.25rem 0.25rem;z-index:1000;box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);margin:0;padding:0;list-style:none}.sms-country-item{display:block;width:100%;padding:0.5rem 0.75rem;font-size:1rem;font-family:inherit;color:#495057;text-align:left;background-color:transparent;border:none;cursor:pointer;white-space:nowrap}.sms-country-item:hover,.sms-country-item:focus{background-color:#f8f9fa;color:#16181b;outline:none}#hidden-content-simple[data-open=\"false\"]{display:none}#hidden-content-simple[data-open=\"true\"]{display:block}@font-face{font-family:'ABC Favorit';src:url('/fonts/ABCFavorit-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'ABC Favorit';src:url('/fonts/ABCFavorit-Bold.woff2') format('woff2'),\n url('/fonts/ABCFavorit-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}a.nav-tabs-item[href=\"/welcome\"]>img{display:none!important}a.nav-tabs-item[href=\"/welcome\"]::before{content:\"\";display:block;width:1rem;height:1rem;flex-shrink:0;background-color:currentColor;mask-image:url(/images/icons/home-02.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url(/images/icons/home-02.svg);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}a.nav-tabs-item[data-active=\"true\"],a.nav-tabs-item[data-active=\"true\"].text-gray-800{color:#4c48ff!important;text-shadow:none!important}.dark a.nav-tabs-item[data-active=\"true\"],.dark a.nav-tabs-item[data-active=\"true\"].dark\\:text-gray-200{color:#5B68FF!important;text-shadow:none!important}a.nav-tabs-item[href=\"/welcome\"][data-active=\"true\"]::before{background-color:#4c48ff!important}.dark a.nav-tabs-item[href=\"/welcome\"][data-active=\"true\"]::before{background-color:#5B68FF!important}.scroll-mt-\\[var\\(--scroll-mt\\)\\]:has(.tk-page){max-width:none!important;width:100%!important;margin-inline:0!important;padding-inline:0!important}#content-container:has(.tk-page)>.flex.flex-row-reverse{flex-direction:row!important}#content-container:has(.tk-page) #content-area{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}#content-container:has(.tk-page) #sidebar{display:none!important}#content-container:has(.tk-page) #content{max-width:none!important;padding:0!important}.tk-page{width:100%;max-width:92rem;margin-inline:auto;padding:0 3rem 5rem;box-sizing:border-box}@media (max-width: 1000px){.tk-page{padding-inline:40px}}@media (max-width: 868px){.tk-page{padding-inline:20px;padding-bottom:2.5rem}}.tk-img-light{display:block!important}.tk-img-dark{display:none!important}.dark .tk-img-light{display:none!important}.dark .tk-img-dark{display:block!important}.dark .tk-page{--tk-surface: #0B0B0F}.tk-placeholder{background:#f3f4f6;border:2px dashed #d1d5db;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:1.5rem;text-align:center;font-size:0.75rem;color:#9ca3af;box-sizing:border-box}.dark .tk-placeholder{background:#1f2937;border-color:#374151;color:#6b7280}.section-divider{border:none;border-top:1px solid #e5e7eb;margin:0}.dark .section-divider{border-top-color:rgba(255, 255, 255, 0.06)}.tk-hero{position:relative;overflow:hidden;padding:2.5rem 0 3rem;min-height:360px;display:flex;align-items:stretch;justify-content:flex-start;gap:2.5rem}.tk-hero-content{flex:0 1 720px;max-width:62%;min-width:0;align-self:flex-start;position:relative;z-index:2}.tk-hero-headline{color:var(--Black, #111);font-family:'ABC Favorit', sans-serif;font-size:82px;font-style:normal;font-weight:400;line-height:95%;letter-spacing:-4.1px;font-synthesis:none;margin:0 0 1.25rem;max-width:720px}.dark .tk-hero-headline{color:#f9fafb}.tk-hero-body{color:#414146;font-family:Inter, sans-serif;font-size:18px;font-style:normal;font-weight:400;line-height:28px;font-feature-settings:'ss01' on, 'ss03' on;margin:0 0 1.5rem;max-width:720px}.dark .tk-hero-body{color:#a1a1aa}.tk-build-body,.tk-whitepaper-text{color:#414146;font-family:Inter, sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:28px}.dark .tk-build-body,.dark .tk-whitepaper-text{color:#a1a1aa}.tk-search-bar{display:flex;align-items:center;gap:12px;border-radius:12px;border:1px solid var(--Black-20, rgba(0, 0, 0, 0.20));background:var(--Black-4, rgba(0, 0, 0, 0.04));padding:12px 16px;cursor:pointer;max-width:500px;transition:border-color 0.15s, background 0.15s}.tk-search-bar:hover{border-color:rgba(0, 0, 0, 0.28);background:rgba(0, 0, 0, 0.06)}.tk-search-icon{flex-shrink:0;color:#737277}.tk-search-placeholder{flex:1;color:#737277;text-align:left;font-family:Inter, sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.dark .tk-search-icon,.dark .tk-search-placeholder{color:#a1a1aa}.dark .tk-search-bar{border-color:rgba(255, 255, 255, 0.20);background:rgba(255, 255, 255, 0.04)}.dark .tk-search-bar:hover{border-color:rgba(255, 255, 255, 0.28);background:rgba(255, 255, 255, 0.06)}.tk-search-kbd{color:#737277;text-align:center;font-family:\"SF Pro\", -apple-system, BlinkMacSystemFont, sans-serif;font-size:12px;font-style:normal;font-weight:590;line-height:16px;border:none;border-radius:0;padding:0;background:transparent}.dark .tk-search-kbd{color:#a1a1aa;background:transparent}.tk-hero-illustration{position:relative;flex:0 0 657px;width:657px;min-height:329px;display:flex;align-items:center;justify-content:flex-start;z-index:1;pointer-events:none;user-select:none}.tk-hero>.tk-hero-grid{flex:none}.tk-hero-illustration>*{pointer-events:none;cursor:default}.tk-hero-grid{position:absolute;top:0;right:0;width:640px;height:512px;z-index:0;pointer-events:none}.tk-hero-grid img{display:block;width:640px;height:512px}.tk-hero-img{position:relative;display:block;width:657px;height:329px;flex-shrink:0;pointer-events:none;border:none}.tk-hero-img svg{display:block;width:657px;height:329px}@media (max-width: 1440px) and (min-width: 869px){.tk-hero{position:relative;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:1rem;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);padding:2.3125rem 0 2.5rem 3rem;min-height:auto;overflow:hidden;box-sizing:border-box}.tk-hero-grid{top:-3.3125rem;right:0;left:auto;width:640px;height:512px}.tk-hero-grid img{width:640px;height:512px;max-height:none;object-fit:none}.tk-hero-content{display:flex;flex-direction:column;gap:24px;flex:0 0 612px;max-width:612px;width:612px;align-self:flex-start;position:relative;z-index:2;isolation:isolate}.tk-hero-content::before{content:\"\";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;width:100%;pointer-events:none;background:linear-gradient(\n 90deg,\n #ffffff 0%,\n #ffffff 75%,\n rgba(255, 255, 255, 0) 100%\n )}.dark .tk-hero-content::before{background:linear-gradient(\n 90deg,\n var(--tk-surface, #0B0B0F) 0%,\n var(--tk-surface, #0B0B0F) 75%,\n rgba(11, 11, 15, 0) 100%\n )}.tk-hero-headline{font-size:74px;letter-spacing:-3.7px;line-height:0.95;margin:0;max-width:none}.tk-hero-body{margin:0;max-width:none}.tk-search-bar{max-width:437px}.tk-hero-illustration{position:absolute;top:2.3125rem;right:0;display:block;flex:none;width:657px;min-width:657px;min-height:328px;margin:0;overflow:visible;z-index:1}.tk-hero-img{display:block;width:657px;max-width:none;height:auto}}@media (max-width: 1190px) and (min-width: 869px){.tk-hero-illustration{right:-100px}}@media (max-width: 1000px) and (min-width: 869px){.tk-hero{padding-left:40px}}@media (max-width: 1000px){.tk-whitepaper{padding:20px 40px 0}}@media (max-width: 868px){.tk-hero{flex-direction:column;gap:0;padding:2.25rem 0 2.5rem;min-height:auto;overflow:visible}.tk-hero-grid{display:none}.tk-hero-illustration{display:none}.tk-hero-content{display:flex;flex-direction:column;gap:24px;flex:1 1 auto;max-width:100%;width:100%;isolation:auto}.tk-hero-content::before{display:none}.tk-hero-headline{font-size:44px;letter-spacing:-2.2px;line-height:0.95;margin:0}.tk-hero-body{margin:0}.tk-search-bar{max-width:none;width:100%}.tk-build,.tk-solutions-section,.tk-features-section,.tk-whitepaper-section{margin:2.5rem 0}}.tk-section-heading{font-family:Inter, sans-serif;font-size:30px;font-weight:700;letter-spacing:-0.75px;line-height:1.2;margin:0 0 1.25rem;color:#1a191e}.dark .tk-section-heading{color:#f9fafb}.tk-build{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;margin:52px 0}.tk-build-intro{display:contents}.tk-build-copy{display:flex;flex-direction:column;gap:28px;grid-column:1;grid-row:1}.tk-build-visual{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:40px;grid-column:1;grid-row:2;width:100%;justify-self:start}.tk-build-links{grid-column:1;grid-row:3}.tk-build-selectors{flex:0 0 auto;min-width:0;max-width:none;justify-content:flex-start}.tk-selector-list{width:100%;max-width:100%}@media (min-width: 869px) and (max-width: 1379px){.tk-build-visual{justify-content:center;justify-self:center;width:fit-content;max-width:100%;margin-inline:auto}}@media (min-width: 1380px){.tk-build{display:grid;grid-template-columns:minmax(0, 558px) auto;width:100%;gap:40px;align-items:center;justify-items:start}.tk-build-intro{display:flex;flex-direction:column;gap:28px;min-width:0;max-width:558px}.tk-build-copy{grid-column:unset;grid-row:unset;max-width:none}.tk-build-links{grid-column:unset;grid-row:unset}.tk-build-visual{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:40px;width:auto;min-width:0;grid-column:unset;grid-row:unset;justify-self:start}.tk-build-selectors{flex:0 0 auto;min-width:auto;max-width:none;justify-content:flex-start}.tk-selector-list{width:max-content;max-width:100%}}.tk-build-heading{font-family:Inter, sans-serif;font-size:30px;font-weight:700;letter-spacing:-0.75px;line-height:normal;margin:0;color:#1a191e}.dark .tk-build-heading{color:#f9fafb}.tk-build-body{margin:0}.tk-build-links{display:flex;flex-direction:row;gap:40px;flex-wrap:wrap}.tk-build-link{display:inline-flex;align-items:center;gap:7px;color:#4C48FF;font-weight:500;text-decoration:none;font-size:0.875rem;transition:opacity 0.15s}.tk-build-link-icon{flex-shrink:0}.dark .tk-build-link{color:#5B68FF}.tk-build-link:hover{opacity:0.75}.tk-build-cube{width:149px;flex-shrink:0;margin:0;padding:0;align-self:center}.tk-cube-wrapper{position:relative;width:149px;height:170px;margin:0;padding:0;pointer-events:none;user-select:none}.tk-plane-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;visibility:hidden;transition:none;pointer-events:none;cursor:default}.tk-build[data-selected=\"a\"] .tk-plane-img[data-plane=\"a\"],.tk-build[data-selected=\"b\"] .tk-plane-img[data-plane=\"b\"],.tk-build[data-selected=\"c\"] .tk-plane-img[data-plane=\"c\"]{opacity:1;visibility:visible}.tk-build-selectors{display:flex;flex-direction:row;align-items:center;gap:17px;width:max-content;max-width:100%;flex-shrink:0;overflow:visible}.tk-build-connectors{position:relative;flex-shrink:0;width:40px;height:120px;margin-left:-24px;pointer-events:none}.tk-connector-line{position:absolute;left:0;width:40px;height:0}.tk-connector-line--a{top:20px}.tk-connector-line--b{top:60px}.tk-connector-line--c{top:100px}.tk-connector-line::after{content:\"\";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(0, 0, 0, 0.2);transition:background 0.15s}.dark .tk-connector-line::after{background:rgba(255, 255, 255, 0.2)}.tk-build[data-selected=\"a\"] .tk-connector-line--a::after,.tk-build[data-selected=\"b\"] .tk-connector-line--b::after,.tk-build[data-selected=\"c\"] .tk-connector-line--c::after{background:#4C48FF}.dark .tk-build[data-selected=\"a\"] .tk-connector-line--a::after,.dark .tk-build[data-selected=\"b\"] .tk-connector-line--b::after,.dark .tk-build[data-selected=\"c\"] .tk-connector-line--c::after{background:#5B68FF}.tk-selector-list{position:relative;flex-shrink:0;display:grid;grid-template-columns:1fr;gap:0;width:max-content;max-width:100%}.tk-selector-row{position:relative;display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;height:40px;min-height:40px;padding:8px 36px 8px 12px;white-space:nowrap;text-decoration:none;color:inherit;border-radius:8px;border:none;transition:background 0.15s, color 0.15s}.tk-build[data-selected=\"a\"] #tk-row-a,.tk-build[data-selected=\"b\"] #tk-row-b,.tk-build[data-selected=\"c\"] #tk-row-c{background:rgba(76, 72, 255, 0.12)}.dark .tk-build[data-selected=\"a\"] #tk-row-a,.dark .tk-build[data-selected=\"b\"] #tk-row-b,.dark .tk-build[data-selected=\"c\"] #tk-row-c{background:rgba(91, 104, 255, 0.12)}.tk-selector-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#28282c;opacity:0.5;background:none;border-radius:0;transition:color 0.15s, opacity 0.15s}.tk-selector-icon svg{width:24px;height:24px}.tk-selector-icon svg path,.tk-selector-icon svg g path{stroke-width:1.5}.dark .tk-selector-icon{color:#d1d5db}.tk-selector-label{font-family:Inter, sans-serif;font-size:14px;font-weight:600;line-height:normal;color:#28282c;flex-shrink:0;transition:color 0.15s}.dark .tk-selector-label{color:#f3f4f6}.tk-build[data-selected=\"a\"] #tk-row-a .tk-selector-label,.tk-build[data-selected=\"b\"] #tk-row-b .tk-selector-label,.tk-build[data-selected=\"c\"] #tk-row-c .tk-selector-label{color:#4C48FF}.dark .tk-build[data-selected=\"a\"] #tk-row-a .tk-selector-label,.dark .tk-build[data-selected=\"b\"] #tk-row-b .tk-selector-label,.dark .tk-build[data-selected=\"c\"] #tk-row-c .tk-selector-label{color:#5B68FF}.tk-build[data-selected=\"a\"] #tk-row-a .tk-selector-icon,.tk-build[data-selected=\"b\"] #tk-row-b .tk-selector-icon,.tk-build[data-selected=\"c\"] #tk-row-c .tk-selector-icon{opacity:1;color:#4C48FF}.dark .tk-build[data-selected=\"a\"] #tk-row-a .tk-selector-icon,.dark .tk-build[data-selected=\"b\"] #tk-row-b .tk-selector-icon,.dark .tk-build[data-selected=\"c\"] #tk-row-c .tk-selector-icon{color:#5B68FF}.tk-selector-desc{font-family:Inter, sans-serif;font-size:14px;font-weight:400;line-height:1.48;color:#505454;flex-shrink:1;min-width:0}.dark .tk-selector-desc{color:#9ca3af}.tk-selector-chevron{position:absolute;right:8px;top:50%;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transform:translateY(-50%);opacity:0;color:#4C48FF;pointer-events:none;transition:opacity 0.2s ease}.dark .tk-selector-chevron{color:#5B68FF}.tk-selector-chevron svg{width:20px;height:20px}.tk-selector-chevron svg path{stroke-width:1.5}.tk-build[data-selected=\"a\"] #tk-row-a .tk-selector-chevron,.tk-build[data-selected=\"b\"] #tk-row-b .tk-selector-chevron,.tk-build[data-selected=\"c\"] #tk-row-c .tk-selector-chevron,.tk-selector-row:hover .tk-selector-chevron{opacity:1}@media (max-width: 868px){.tk-build{grid-template-columns:1fr;align-items:start;gap:28px}.tk-build-intro{display:contents}.tk-build-copy{grid-column:1 / -1;grid-row:1}.tk-build-links{grid-column:1 / -1;grid-row:2;gap:40px}.tk-build-visual{grid-column:1 / -1;grid-row:3;flex-direction:column;gap:16px;width:100%;align-items:center;padding:0}.tk-build-cube{width:100%;max-width:149px;margin:0 auto}.tk-cube-wrapper{width:149px;height:170px;margin:0 auto}.tk-build[data-selected=\"c\"]:not([data-user-picked]) .tk-plane-img[data-plane=\"c\"]{opacity:0;visibility:hidden}.tk-build[data-selected=\"c\"]:not([data-user-picked]) .tk-plane-img[data-plane=\"a\"]{opacity:1;visibility:visible}.tk-build-selectors{width:100%;max-width:100%;justify-content:stretch}.tk-build-connectors{display:none}.tk-selector-list{width:100%;max-width:100%;gap:0}.tk-selector-row{display:grid;grid-template-columns:24px minmax(0, 1fr) 20px;grid-template-rows:auto auto;column-gap:12px;row-gap:0;align-items:center;width:100%;max-width:100%;height:auto;min-height:54px;padding:8px;white-space:normal;background:transparent!important;border-radius:0}.tk-selector-row+.tk-selector-row{border-top:1px solid rgba(0, 0, 0, 0.12);margin-top:4px}.dark .tk-selector-row+.tk-selector-row{border-top-color:rgba(255, 255, 255, 0.06)}.tk-selector-icon{grid-column:1;grid-row:1 / 3;align-self:center;opacity:1;color:#4C48FF}.dark .tk-selector-icon{color:#5B68FF}.tk-selector-label{grid-column:2;grid-row:1;font-weight:500;color:#4C48FF}.dark .tk-selector-label{color:#5B68FF}.tk-selector-desc{grid-column:2;grid-row:2;white-space:normal;overflow:visible;text-overflow:unset}.tk-selector-chevron{grid-column:3;grid-row:1 / 3;position:static;transform:none;opacity:1}}.tk-solutions-section{display:flex;flex-direction:column;gap:28px;margin:52px 0}.tk-solutions-section .tk-solution-card{display:grid!important}.tk-solutions-section .tk-section-heading{margin:0}.tk-solutions-grid{display:grid;grid-template-columns:repeat(3, 1fr);column-gap:24px;row-gap:20px;width:100%}.tk-solution-card{grid-row:span 3;display:grid;grid-template-rows:subgrid;box-sizing:border-box;padding:20px 32px 36px;background:rgba(0, 0, 0, 0.02);border:1px solid rgba(13, 12, 17, 0.1);border-radius:16px}.tk-solution-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.dark .tk-solution-card{background:rgba(255, 255, 255, 0.02);border-color:rgba(255, 255, 255, 0.12)}.tk-solution-thumbnail{width:120px;height:120px;flex-shrink:0}.tk-solution-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}.tk-solution-copy .tk-solution-title,.tk-solution-card>.tk-solution-title-row{min-width:0}.tk-solution-title-row{display:inline-flex;align-items:center;gap:12px;flex-wrap:nowrap;width:fit-content;max-width:100%}.tk-solution-title-row .tk-solution-title{width:auto;max-width:none}.tk-solution-title-long{display:inline}.tk-solution-title-short{display:none}.tk-solution-title{font-family:Inter, sans-serif;font-size:24px;font-weight:600;letter-spacing:-0.6px;line-height:32px;margin:0;color:#111827;text-decoration:none}.dark .tk-solution-title{color:#f9fafb}.tk-solution-desc{margin:0;font-family:Inter, sans-serif;font-size:14px;font-weight:400;line-height:1.48;color:#414146;min-width:0}.dark .tk-solution-desc{color:#a1a1aa}.tk-solution-links{display:flex;flex-direction:column;gap:16px;align-items:flex-start;min-width:0;border-top:1px solid rgba(0, 0, 0, 0.12);padding-top:20px}.dark .tk-solution-links{border-top-color:rgba(255, 255, 255, 0.06)}.tk-solution-link{text-decoration:none;font-family:Inter, sans-serif;font-size:14px;font-weight:500;color:#4C48FF;transition:opacity 0.15s}.tk-solution-link:hover{opacity:0.75;color:#4C48FF}.dark .tk-solution-link{color:#5B68FF}.dark .tk-solution-link:hover{opacity:0.75}@media (max-width: 768px){.tk-solutions-grid{grid-template-columns:1fr}}.tk-features-section{display:flex;flex-direction:column;gap:28px;margin:52px 0}.tk-features-section .tk-section-heading{margin:0}.tk-features-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:40px;width:100%}.tk-feature-column{display:flex;flex-direction:column;gap:12px;min-width:0}.tk-feature-column-heading{font-family:Inter, sans-serif;font-size:18px;font-weight:600;line-height:32px;color:#111827;margin:0}.dark .tk-feature-column-heading{color:#f9fafb}.tk-feature-items{display:flex;flex-direction:column;gap:8px;width:100%}.tk-feature-divider{border:none;height:1px;margin:0;background:rgba(0, 0, 0, 0.12)}.dark .tk-feature-divider{background:rgba(255, 255, 255, 0.06)}.tk-feature-row{display:flex;align-items:center;gap:12px;padding:4px 0;text-decoration:none;color:#000000;font-family:Inter, sans-serif;font-size:16px;font-weight:500;line-height:normal;transition:color 0.12s ease}.dark .tk-feature-row{color:#f3f4f6}.tk-feature-row:hover,.tk-feature-row:focus-visible{color:#4C48FF}.dark .tk-feature-row:hover,.dark .tk-feature-row:focus-visible{color:#5B68FF}.tk-feature-icon-circle{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:6px;border-radius:9999px;background:rgba(0, 0, 0, 0.04);border:1px solid rgba(0, 0, 0, 0.12);color:#000000;transition:background 0.12s ease, border-color 0.12s ease, color 0.12s ease}.dark .tk-feature-icon-circle{background:rgba(255, 255, 255, 0.04);border-color:rgba(255, 255, 255, 0.12);color:#f3f4f6}.tk-feature-row:hover .tk-feature-icon-circle,.tk-feature-row:focus-visible .tk-feature-icon-circle{background:#f1f3ff;border-color:#c9ceff;color:#4C48FF}.dark .tk-feature-row:hover .tk-feature-icon-circle,.dark .tk-feature-row:focus-visible .tk-feature-icon-circle{background:rgba(91, 104, 255, 0.15);border-color:rgba(91, 104, 255, 0.35);color:#5B68FF}.tk-feature-icon-circle svg,.tk-feature-icon-circle .tk-feature-icon-img{width:20px;height:20px;display:block;flex-shrink:0;opacity:0.5;transition:opacity 0.12s ease}.tk-feature-row:hover .tk-feature-icon-circle svg,.tk-feature-row:focus-visible .tk-feature-icon-circle svg,.tk-feature-row:hover .tk-feature-icon-circle .tk-feature-icon-img,.tk-feature-row:focus-visible .tk-feature-icon-circle .tk-feature-icon-img{opacity:1}.tk-feature-icon-img{background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.tk-feature-icon-img--wallet-embedded{mask-image:url('/images/icons/wallet-embedded.svg');-webkit-mask-image:url('/images/icons/wallet-embedded.svg')}.tk-feature-icon-img--fuel{mask-image:url('/images/icons/fuel.svg');-webkit-mask-image:url('/images/icons/fuel.svg')}.tk-feature-icon-circle svg path,.tk-feature-icon-circle svg g path,.tk-feature-icon-circle svg line,.tk-feature-icon-circle svg circle,.tk-feature-icon-circle svg rect{stroke-width:1.5px;vector-effect:non-scaling-stroke}.tk-feature-label{flex:1;min-width:0}.tk-feature-row::after{content:'';width:20px;height:20px;flex-shrink:0;opacity:0;transition:opacity 0.12s ease;background-color:#4C48FF;mask-image:url('/images/icons/chevron-right.svg');mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-image:url('/images/icons/chevron-right.svg');-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.dark .tk-feature-row::after{background-color:#5B68FF}.tk-feature-row:hover::after,.tk-feature-row:focus-visible::after{opacity:1}@media (max-width: 868px){.tk-features-grid{grid-template-columns:1fr;gap:40px}.tk-feature-row--chevron::after{opacity:1}}.tk-whitepaper-section{margin:52px 0}.tk-whitepaper{position:relative;display:flex;align-items:flex-start;justify-content:center;padding:20px 48px 0;background:rgba(0, 0, 0, 0.02);border:1px solid rgba(13, 12, 17, 0.1);border-radius:16px;overflow:hidden}.dark .tk-whitepaper{background:rgba(255, 255, 255, 0.02);border-color:rgba(255, 255, 255, 0.1)}.tk-whitepaper-inner{display:flex;gap:40px;align-items:flex-start;width:auto;max-width:100%;box-sizing:border-box;padding:0;min-height:132px}.tk-whitepaper-thumb-wrap{position:relative;flex-shrink:0;align-self:flex-end;width:121px;height:132px;overflow:hidden;box-shadow:0 4px 12px rgba(0, 0, 0, 0.1)}.tk-whitepaper-thumb{position:absolute;top:0;left:-46.26%;height:100%;width:192.52%;max-width:none;display:block;pointer-events:none}.tk-whitepaper-content{display:flex;flex-direction:column;gap:12px;align-items:flex-start;align-self:flex-start;padding-top:12px;padding-bottom:0;min-width:0;max-width:476px}.tk-whitepaper-text{margin:0;max-width:476px}.tk-whitepaper-link{display:inline-flex;align-items:center;gap:8px;color:#4C48FF;font-family:Inter, sans-serif;font-size:14px;font-weight:500;line-height:normal;text-decoration:none;transition:opacity 0.15s;white-space:nowrap}.tk-whitepaper-link-icon{display:flex;flex-shrink:0;width:20px;height:20px;color:#4C48FF}.tk-whitepaper-link-icon svg{width:20px;height:20px;display:block}.tk-whitepaper-link-icon svg path{stroke-width:1.5px;vector-effect:non-scaling-stroke}.dark .tk-whitepaper-link,.dark .tk-whitepaper-link-icon{color:#5B68FF}.tk-whitepaper-link:hover{opacity:0.75}@media (max-width: 868px){.tk-whitepaper{justify-content:flex-start;padding:0}.tk-whitepaper-thumb-wrap{position:absolute;left:24px;bottom:0}.tk-whitepaper-inner{flex-direction:column;align-items:flex-start;gap:0;width:100%;padding:20px 24px 132px}.tk-whitepaper-content{padding-top:12px;padding-bottom:0;margin-bottom:24px;align-items:flex-start;align-self:stretch;text-align:left;width:100%}.tk-whitepaper-text{max-width:none}}.tk-badge{font-family:Inter, sans-serif;font-size:10px;font-weight:500;line-height:normal;background:#ede9fe;color:#4C48FF;border-radius:4px;padding:2px 6px;flex-shrink:0}.dark .tk-badge{background:rgba(91, 104, 255, 0.2);color:#5B68FF}.tk-card-icon-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:9999px;border:1px solid rgba(0, 0, 0, 0.16);background:#ffffff;box-sizing:border-box}.dark .tk-card-icon-wrap{background:transparent;border-color:rgba(255, 255, 255, 0.16)}.tk-card-icon{display:block;flex-shrink:0;width:24px;height:25px;background-color:#505454;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}.dark .tk-card-icon{background-color:#ffffff}.tk-card-row{display:flex;align-items:flex-start;gap:16px}.tk-network-cards .tk-card-row{align-items:center}.tk-card-network-logo{display:block;width:24px;height:24px;object-fit:contain}.dark .tk-network-cards .tk-card-network-logo[src$=\"cosmos.svg\"],.dark .tk-network-cards .tk-card-network-logo[src$=\"aptos.svg\"],.dark .tk-network-cards .tk-card-network-logo[src$=\"tempo.svg\"],.dark .tk-network-cards .tk-card-network-logo[src$=\"iota.svg\"]{filter:brightness(0) invert(1)}.tk-card-icon-img{display:block;flex-shrink:0;width:44px;height:44px}#content [data-table-wrapper=\"true\"]{width:100%!important;max-width:100%!important;margin-inline:0!important;contain:none!important}.policy-language :is(h3,h4) a[aria-label=\"Navigate to header\"]{opacity:1}.policy-language a[id]{scroll-margin-top:var(--scroll-mt)}.policy-language [data-table-wrapper=\"true\"] :is(th,td,th *,td *){overflow-wrap:anywhere}.policy-language [data-table-wrapper=\"true\"] td{min-width:5rem}@media (min-width: 768px){.policy-language [data-table-wrapper=\"true\"] td:not(:last-child){min-width:max(8.5rem, 25cqi)}.policy-language [data-table-wrapper=\"true\"] table:has(th:nth-child(5)) td:not(:last-child){min-width:max(6.5rem, 18cqi)}}#content .policy-language [data-table-wrapper=\"true\"]{width:calc(100% + (var(--page-padding) * 2))!important;max-width:none!important;margin-inline:calc(var(--page-padding) * -1)!important}@media (min-width: 1280px){#content-area:has(.policy-language){width:calc(100% - 15rem)!important;padding-left:2rem!important;margin-left:0!important}#content-container:has(.policy-language) #table-of-contents-layout{width:14rem!important;padding-left:1.5rem!important}#content-container:has(.policy-language) #table-of-contents{width:auto!important}}"}],"page":{"pagePath":"api-reference/activities/perform-email-auth","slug":"/api-reference/activities/perform-email-auth","pageMetadata":{"title":"Perform email auth","description":"Authenticate a user via email.","href":"/api-reference/activities/perform-email-auth"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Authenticate a user via email.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const EndpointPath=({type,path})=>{const _components={a:`a`,..._provideComponents()};return _jsxs(_Fragment,{children:[_jsx(`div`,{class:`mint-flex mint-w-full mint-flex-col bg-background-light dark:bg-background-dark border-standard mint-rounded-2xl mint-p-1.5`,children:_jsx(`div`,{class:`mint-flex mint-items-center mint-space-x-1.5`,children:_jsxs(`div`,{class:`mint-relative mint-flex-1 mint-flex mint-gap-2 mint-min-w-0 mint-rounded-xl mint-items-center mint-cursor-pointer mint-p-1.5 border-standard`,children:[_jsx(`div`,{class:`mint-rounded-lg mint-font-bold mint-px-1.5 mint-py-0.5 mint-text-sm mint-leading-5 mint-bg-blue-400/20 dark:mint-bg-blue-400/20 mint-text-blue-700 dark:mint-text-blue-400`,children:`POST`}),_jsx(`div`,{class:`mint-flex mint-items-center mint-space-x-2 mint-overflow-x-auto mint-flex-1 no-scrollbar`,children:_jsxs(`div`,{class:`mint-group mint-flex mint-items-center mint-flex-1 mint-gap-0.5 mint-font-mono`,children:[_jsx(`div`,{class:`mint-absolute mint-right-0 mint-p-2 bg-background-light dark:bg-background-dark mint-rounded-lg mint-hidden group-hover:mint-block`,children:_jsx(`svg`,{class:`mint-w-4 mint-h-4 mint-bg-gray-400 dark:mint-bg-white/30`})}),_jsx(`div`,{class:`mint-text-sm mint-text-gray-400`,children:`/`}),_jsx(`div`,{class:`mint-text-sm mint-font-medium mint-text-gray-800 dark:mint-text-white mint-min-w-max`,children:`public`}),_jsx(`div`,{class:`mint-text-sm mint-text-gray-400`,children:`/`}),_jsx(`div`,{class:`mint-text-sm mint-font-medium mint-text-gray-800 dark:mint-text-white mint-min-w-max`,children:`v1`}),_jsx(`div`,{class:`mint-text-sm mint-text-gray-400`,children:`/`}),_jsx(`div`,{class:`mint-text-sm mint-font-medium mint-text-gray-800 dark:mint-text-white mint-min-w-max`,children:type}),_jsx(`div`,{class:`mint-text-sm mint-text-gray-400`,children:`/`}),_jsx(`div`,{class:`mint-text-sm mint-font-medium mint-text-gray-800 dark:mint-text-white mint-min-w-max`,children:path})]})})]})})}),type===`submit`\u0026\u0026_jsxs(`p`,{children:[`Activity requests must meet the `,_jsx(_components.a,{href:`/api-reference/activities/overview#signed-request-validity`,children:`signed-request validity window`}),` for `,_jsx(`code`,{children:`timestampMs`}),` and the applicable `,_jsx(_components.a,{href:`/reference/rate-limits`,children:`rate limits`}),`.`]}),(path===`sign_raw_payload`||path===`sign_raw_payloads`)\u0026\u0026_jsxs(`p`,{children:[`See `,_jsx(_components.a,{href:`/api-reference/overview/raw-payload-signing`,children:`Raw payload signing`}),` to choose the correct `,_jsx(`code`,{children:`hashFunction`}),` for ECDSA or Ed25519.`]})]})};const NestedParam=({parentKey,childKey,type,required,description,children})=>{const _components={a:`a`,..._provideComponents()};const fullKey=`${parentKey}.${childKey}`;const anchorId=`body-${fullKey.replace(/\\./g,`-`)}`;return _jsxs(`div`,{className:`mint-py-6 mint-border-gray-100 dark:mint-border-gray-800 mint-border-b last:mint-border-b-0`,children:[_jsx(`div`,{className:`mint-flex mint-font-mono mint-text-sm mint-group/param-head param-head mint-break-all mint-relative`,id:anchorId,children:_jsx(`div`,{className:`mint-flex-1 mint-flex mint-content-start mint-py-0.5 mint-mr-5`,children:_jsxs(`div`,{className:`mint-flex mint-items-center mint-flex-wrap mint-gap-2`,children:[_jsx(`div`,{className:`mint-absolute mint--top-1.5`,children:_jsx(_components.a,{href:`#${anchorId}`,className:`mint--ml-[2.1rem] mint-flex mint-items-center mint-opacity-0 mint-border-0 group-hover/param-head:mint-opacity-100 mint-py-2 [.expandable-content_\u0026]:mint--ml-[2.1rem]`,\"aria-label\":`Navigate to header`,children:_jsx(`div`,{className:`mint-w-6 mint-h-6 mint-text-gray-400 mint-rounded-md mint-flex mint-items-center mint-justify-center zinc-box mint-bg-white mint-ring-1 mint-ring-gray-400/30 dark:mint-ring-gray-700/25 hover:mint-ring-gray-400/60 dark:hover:mint-ring-white/20`,children:_jsx(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`gray`,height:`12px`,viewBox:`0 0 576 512`,children:_jsx(`path`,{d:`M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z`})})})})}),_jsxs(`div`,{className:`mint-font-semibold text-primary dark:text-primary-light mint-cursor-pointer overflow-wrap-anywhere`,children:[_jsxs(`span`,{className:`mint-text-gray-500 dark:mint-text-gray-400`,children:[parentKey,`.`]}),childKey]}),_jsxs(`div`,{className:`mint-inline mint-items-center mint-gap-2 mint-text-xs mint-font-medium [\u0026_div]:mint-inline [\u0026_div]:mint-mr-2 [\u0026_div]:mint-leading-5`,children:[_jsx(`div`,{className:`mint-flex mint-items-center mint-px-2 mint-py-0.5 mint-rounded-md mint-bg-gray-100/50 dark:mint-bg-white/5 mint-text-gray-600 dark:mint-text-gray-200 mint-font-medium mint-break-all`,children:_jsx(`span`,{children:type})}),required\u0026\u0026_jsx(`span`,{className:`mint-px-2 mint-py-0.5 mint-rounded-md mint-bg-red-100/50 dark:mint-bg-red-400/10 mint-text-red-600 dark:mint-text-red-300 mint-font-medium mint-whitespace-nowrap`,children:`required`})]})]})})}),children\u0026\u0026_jsx(`div`,{className:`mint-mt-4`,children:_jsx(`div`,{className:`prose prose-sm prose-gray dark:prose-invert`,children})})]})};const H3Bordered=({text})=>_jsx(`h3`,{id:text.toLowerCase(),className:`mint-border-b mint-pb-2.5 mint-border-gray-100 dark:mint-border-gray-800`,children:text});const Authorizations=()=>{const{ParamField,Tab,Tabs}=_provideComponents()||{};if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(`div`,{children:[_jsx(H3Bordered,{text:`Authorizations`}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`API Key`,children:_jsx(`div`,{className:`mint-flex mint-text-sm mint-group/param-head param-head mint-break-all mint-relative`,id:`authorization-x-stamp`,children:_jsxs(ParamField,{header:`X-Stamp`,type:`string`,required:true,children:[`Cryptographically signed (stamped) request to be passed in as a header. For more info, see `,_jsx(`a`,{href:`https://docs.turnkey.com/developer-reference/api-overview/stamps`,children:`here`}),`.`]})})}),_jsx(Tab,{title:`WebAuthn (Passkey)`,children:_jsx(`div`,{className:`mint-flex mint-text-sm mint-group/param-head param-head mint-break-all mint-relative`,id:`authorization-x-stamp-webauthn`,children:_jsxs(ParamField,{body:`X-Stamp-WebAuthn`,type:`string`,required:true,children:[`Cryptographically signed (stamped) request to be passed in as a header. For more info, see `,_jsx(`a`,{href:`https://docs.turnkey.com/developer-reference/api-overview/stamps`,children:`here`}),`.`]})})})]})]})};function _createMdxContent(props){const _components={code:`code`,p:`p`,..._provideComponents(),...props.components},{Expandable,ParamField,ResponseField,_MdxComponentBoundary}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`EndpointPath`,children:_jsx(EndpointPath,{type:`submit`,path:`email_auth`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`Authorizations`,children:_jsx(Authorizations,{})}),`\n`,_jsx(_MdxComponentBoundary,{name:`H3Bordered`,children:_jsx(H3Bordered,{text:`Body`})}),`\n`,_jsx(ParamField,{body:`type`,type:`enum\u003cstring>`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`Enum options: `,_jsx(_components.code,{children:`ACTIVITY_TYPE_EMAIL_AUTH_V3`})]})}),`\n`,_jsx(ParamField,{body:`timestampMs`,type:`string`,required:true,id:`param-timestamp-ms`,children:_jsx(_components.p,{children:`Timestamp (in milliseconds) of the request, used to verify liveness of user requests.`})}),`\n`,_jsx(ParamField,{body:`organizationId`,type:`string`,required:true,id:`param-organization-id`,children:_jsx(_components.p,{children:`Unique identifier for a given Organization.`})}),`\n`,_jsxs(ParamField,{body:`parameters`,type:`object`,required:true,path:`parameters`,id:`param-parameters`,children:[_jsx(`p`,{children:`The parameters object containing the specific intent data for this activity.`}),_jsxs(Expandable,{title:`details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`email`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`Email of the authenticating user.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`targetPublicKey`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`apiKeyName`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional human-readable name for an API Key. If none provided, default to Email Auth - \u003cTimestamp>`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`expirationSeconds`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.`})})}),_jsxs(ParamField,{body:`emailCustomization`,type:`object`,required:true,path:`parameters.emailCustomization`,id:`param-parameters-email-customization`,children:[_jsx(`p`,{children:`emailCustomization field`}),_jsxs(Expandable,{title:`details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`appName`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`The name of the application. This field is required and will be used in email notifications if an email template is not provided.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`logoUrl`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`magicLinkTemplate`,type:`string`,required:false,default:``,children:_jsxs(_components.p,{children:[`A template for the URL to be used in a magic link button, e.g. `,_jsx(_components.code,{children:`https://dapp.xyz/%s`}),`. The auth bundle will be interpolated into the `,_jsx(_components.code,{children:`%s`}),`.`]})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`templateVariables`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`JSON object containing key/value pairs to be used with custom templates.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`templateId`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.`})})})]})]}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`invalidateExisting`,type:`boolean`,required:false,default:``,children:_jsx(_components.p,{children:`Invalidate all other previously generated Email Auth API keys`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`sendFromEmailAddress`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom email address from which to send the email`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`sendFromEmailSenderName`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`replyToEmailAddress`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom email address to use as reply-to`})})})]})]}),`\n`,_jsx(ParamField,{body:`generateAppProofs`,type:`boolean`,required:false,id:`param-generate-app-proofs`,children:_jsx(_components.p,{children:`Enable to have your activity generate and return App Proofs, enabling verifiability.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`H3Bordered`,children:_jsx(H3Bordered,{text:`Response`})}),`\n`,_jsx(_components.p,{children:`A successful response returns the following fields:`}),`\n`,_jsxs(ResponseField,{name:`activity`,type:`object`,required:true,id:`param-activity`,children:[_jsx(_components.p,{children:`The activity object containing type, intent, and result`}),_jsxs(Expandable,{title:`activity details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`id`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for a given Activity object.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`organizationId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for a given Organization.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`status`,type:`string`,required:true,children:_jsx(_components.p,{children:`The activity status`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`type`,type:`string`,required:true,children:_jsx(_components.p,{children:`The activity type`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity`,childKey:`intent`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The intent of the activity`}),_jsx(Expandable,{title:`intent details`,children:_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.intent`,childKey:`emailAuthIntentV3`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The emailAuthIntentV3 object`}),_jsxs(Expandable,{title:`emailAuthIntentV3 details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`email`,type:`string`,required:true,children:_jsx(_components.p,{children:`Email of the authenticating user.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`targetPublicKey`,type:`string`,required:true,children:_jsx(_components.p,{children:`Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`apiKeyName`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional human-readable name for an API Key. If none provided, default to Email Auth - \u003cTimestamp>`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`expirationSeconds`,type:`string`,required:false,children:_jsx(_components.p,{children:`Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`emailCustomization`,type:`object`,required:true,children:[_jsx(_components.p,{children:`emailCustomization field`}),_jsxs(Expandable,{title:`emailCustomization details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`appName`,type:`string`,required:true,children:_jsx(_components.p,{children:`The name of the application. This field is required and will be used in email notifications if an email template is not provided.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`logoUrl`,type:`string`,required:false,children:_jsx(_components.p,{children:`A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`magicLinkTemplate`,type:`string`,required:false,children:_jsxs(_components.p,{children:[`A template for the URL to be used in a magic link button, e.g. `,_jsx(_components.code,{children:`https://dapp.xyz/%s`}),`. The auth bundle will be interpolated into the `,_jsx(_components.code,{children:`%s`}),`.`]})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`templateVariables`,type:`string`,required:false,children:_jsx(_components.p,{children:`JSON object containing key/value pairs to be used with custom templates.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`templateId`,type:`string`,required:false,children:_jsx(_components.p,{children:`Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.`})})})]})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`invalidateExisting`,type:`boolean`,required:false,children:_jsx(_components.p,{children:`Invalidate all other previously generated Email Auth API keys`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`sendFromEmailAddress`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom email address from which to send the email`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`sendFromEmailSenderName`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`replyToEmailAddress`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom email address to use as reply-to`})})})]})]})})})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity`,childKey:`result`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The result of the activity`}),_jsx(Expandable,{title:`result details`,children:_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.result`,childKey:`emailAuthResult`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The emailAuthResult object`}),_jsxs(Expandable,{title:`emailAuthResult details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.result.emailAuthResult`,childKey:`userId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for the authenticating User.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.result.emailAuthResult`,childKey:`apiKeyId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for the created API key.`})})})]})]})})})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`votes`,type:`array`,required:true,children:_jsx(_components.p,{children:`A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`fingerprint`,type:`string`,required:true,children:_jsx(_components.p,{children:`An artifact verifying a User’s action.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`canApprove`,type:`boolean`,required:true,children:_jsx(_components.p,{children:`Whether the activity can be approved.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`canReject`,type:`boolean`,required:true,children:_jsx(_components.p,{children:`Whether the activity can be rejected.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`createdAt`,type:`string`,required:true,children:_jsx(_components.p,{children:`The creation timestamp.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`updatedAt`,type:`string`,required:true,children:_jsx(_components.p,{children:`The last update timestamp.`})})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{EndpointPath,NestedParam,H3Bordered,Authorizations,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Perform email auth","description":"Authenticate a user via email.","href":"/api-reference/activities/perform-email-auth"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const EndpointPath=()=>null;const NestedParam=()=>null;const H3Bordered=()=>null;const Authorizations=()=>null;function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Expandable,ParamField,RequestExample,ResponseExample,ResponseField,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`EndpointPath`,children:_jsx(EndpointPath,{type:`submit`,path:`email_auth`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`Authorizations`,children:_jsx(Authorizations,{})}),`\n`,_jsx(_MdxComponentBoundary,{name:`H3Bordered`,children:_jsx(H3Bordered,{text:`Body`})}),`\n`,_jsx(ParamField,{body:`type`,type:`enum\u003cstring>`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`Enum options: `,_jsx(_components.code,{children:`ACTIVITY_TYPE_EMAIL_AUTH_V3`})]})}),`\n`,_jsx(ParamField,{body:`timestampMs`,type:`string`,required:true,id:`param-timestamp-ms`,children:_jsx(_components.p,{children:`Timestamp (in milliseconds) of the request, used to verify liveness of user requests.`})}),`\n`,_jsx(ParamField,{body:`organizationId`,type:`string`,required:true,id:`param-organization-id`,children:_jsx(_components.p,{children:`Unique identifier for a given Organization.`})}),`\n`,_jsxs(ParamField,{body:`parameters`,type:`object`,required:true,path:`parameters`,id:`param-parameters`,children:[_jsx(`p`,{children:`The parameters object containing the specific intent data for this activity.`}),_jsxs(Expandable,{title:`details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`email`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`Email of the authenticating user.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`targetPublicKey`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`apiKeyName`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional human-readable name for an API Key. If none provided, default to Email Auth - \u003cTimestamp>`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`expirationSeconds`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.`})})}),_jsxs(ParamField,{body:`emailCustomization`,type:`object`,required:true,path:`parameters.emailCustomization`,id:`param-parameters-email-customization`,children:[_jsx(`p`,{children:`emailCustomization field`}),_jsxs(Expandable,{title:`details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`appName`,type:`string`,required:true,default:``,children:_jsx(_components.p,{children:`The name of the application. This field is required and will be used in email notifications if an email template is not provided.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`logoUrl`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`magicLinkTemplate`,type:`string`,required:false,default:``,children:_jsxs(_components.p,{children:[`A template for the URL to be used in a magic link button, e.g. `,_jsx(_components.code,{children:`https://dapp.xyz/%s`}),`. The auth bundle will be interpolated into the `,_jsx(_components.code,{children:`%s`}),`.`]})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`templateVariables`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`JSON object containing key/value pairs to be used with custom templates.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters.emailCustomization`,childKey:`templateId`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.`})})})]})]}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`invalidateExisting`,type:`boolean`,required:false,default:``,children:_jsx(_components.p,{children:`Invalidate all other previously generated Email Auth API keys`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`sendFromEmailAddress`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom email address from which to send the email`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`sendFromEmailSenderName`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`parameters`,childKey:`replyToEmailAddress`,type:`string`,required:false,default:``,children:_jsx(_components.p,{children:`Optional custom email address to use as reply-to`})})})]})]}),`\n`,_jsx(ParamField,{body:`generateAppProofs`,type:`boolean`,required:false,id:`param-generate-app-proofs`,children:_jsx(_components.p,{children:`Enable to have your activity generate and return App Proofs, enabling verifiability.`})}),`\n`,_jsx(_MdxComponentBoundary,{name:`H3Bordered`,children:_jsx(H3Bordered,{text:`Response`})}),`\n`,_jsx(_components.p,{children:`A successful response returns the following fields:`}),`\n`,_jsxs(ResponseField,{name:`activity`,type:`object`,required:true,id:`param-activity`,children:[_jsx(_components.p,{children:`The activity object containing type, intent, and result`}),_jsxs(Expandable,{title:`activity details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`id`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for a given Activity object.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`organizationId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for a given Organization.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`status`,type:`string`,required:true,children:_jsx(_components.p,{children:`The activity status`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`type`,type:`string`,required:true,children:_jsx(_components.p,{children:`The activity type`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity`,childKey:`intent`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The intent of the activity`}),_jsx(Expandable,{title:`intent details`,children:_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.intent`,childKey:`emailAuthIntentV3`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The emailAuthIntentV3 object`}),_jsxs(Expandable,{title:`emailAuthIntentV3 details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`email`,type:`string`,required:true,children:_jsx(_components.p,{children:`Email of the authenticating user.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`targetPublicKey`,type:`string`,required:true,children:_jsx(_components.p,{children:`Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`apiKeyName`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional human-readable name for an API Key. If none provided, default to Email Auth - \u003cTimestamp>`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`expirationSeconds`,type:`string`,required:false,children:_jsx(_components.p,{children:`Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`emailCustomization`,type:`object`,required:true,children:[_jsx(_components.p,{children:`emailCustomization field`}),_jsxs(Expandable,{title:`emailCustomization details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`appName`,type:`string`,required:true,children:_jsx(_components.p,{children:`The name of the application. This field is required and will be used in email notifications if an email template is not provided.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`logoUrl`,type:`string`,required:false,children:_jsx(_components.p,{children:`A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`magicLinkTemplate`,type:`string`,required:false,children:_jsxs(_components.p,{children:[`A template for the URL to be used in a magic link button, e.g. `,_jsx(_components.code,{children:`https://dapp.xyz/%s`}),`. The auth bundle will be interpolated into the `,_jsx(_components.code,{children:`%s`}),`.`]})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`templateVariables`,type:`string`,required:false,children:_jsx(_components.p,{children:`JSON object containing key/value pairs to be used with custom templates.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3.emailCustomization`,childKey:`templateId`,type:`string`,required:false,children:_jsx(_components.p,{children:`Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.`})})})]})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`invalidateExisting`,type:`boolean`,required:false,children:_jsx(_components.p,{children:`Invalidate all other previously generated Email Auth API keys`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`sendFromEmailAddress`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom email address from which to send the email`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`sendFromEmailSenderName`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.intent.emailAuthIntentV3`,childKey:`replyToEmailAddress`,type:`string`,required:false,children:_jsx(_components.p,{children:`Optional custom email address to use as reply-to`})})})]})]})})})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity`,childKey:`result`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The result of the activity`}),_jsx(Expandable,{title:`result details`,children:_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsxs(NestedParam,{parentKey:`activity.result`,childKey:`emailAuthResult`,type:`object`,required:true,children:[_jsx(_components.p,{children:`The emailAuthResult object`}),_jsxs(Expandable,{title:`emailAuthResult details`,children:[_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.result.emailAuthResult`,childKey:`userId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for the authenticating User.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity.result.emailAuthResult`,childKey:`apiKeyId`,type:`string`,required:true,children:_jsx(_components.p,{children:`Unique identifier for the created API key.`})})})]})]})})})]})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`votes`,type:`array`,required:true,children:_jsx(_components.p,{children:`A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`fingerprint`,type:`string`,required:true,children:_jsx(_components.p,{children:`An artifact verifying a User’s action.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`canApprove`,type:`boolean`,required:true,children:_jsx(_components.p,{children:`Whether the activity can be approved.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`canReject`,type:`boolean`,required:true,children:_jsx(_components.p,{children:`Whether the activity can be rejected.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`createdAt`,type:`string`,required:true,children:_jsx(_components.p,{children:`The creation timestamp.`})})}),_jsx(_MdxComponentBoundary,{name:`NestedParam`,children:_jsx(NestedParam,{parentKey:`activity`,childKey:`updatedAt`,type:`string`,required:true,children:_jsx(_components.p,{children:`The last update timestamp.`})})})]})]}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`27`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`27`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.turnkey.com/public/v1/submit/email_auth`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Accept: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-Stamp: \u003cstring> (see Authorizations)\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"ACTIVITY_TYPE_EMAIL_AUTH_V3\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"timestampMs\": \"\u003cstring> (e.g. 1746736509954)\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"organizationId\": \"\u003cstring> (Your Organization ID)\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"parameters\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"email\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"targetPublicKey\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"apiKeyName\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"expirationSeconds\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"emailCustomization\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"appName\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"logoUrl\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"magicLinkTemplate\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"templateVariables\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"templateId\": \"\u003cstring>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"invalidateExisting\": \"\u003cboolean>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sendFromEmailAddress\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sendFromEmailSenderName\": \"\u003cstring>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"replyToEmailAddress\": \"\u003cstring>\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`26`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`26`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Turnkey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@turnkey/sdk-server\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` turnkeyClient`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Turnkey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` apiBaseUrl:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.turnkey.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` apiPublicKey:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`API_PUBLIC_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` apiPrivateKey:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`API_PRIVATE_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` defaultOrganizationId:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`ORGANIZATION_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` turnkeyClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`apiClient`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`emailAuth`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` email:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Email of the authenticating user.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` targetPublicKey:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` apiKeyName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Optional human-readable name for an API Key. If none provided, default to Email Auth - \u003cTimestamp>)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` expirationSeconds:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` emailCustomization:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// emailCustomization field,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` appName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (The name of the application. This field is required and will be used in email notifications if an email template is not provided.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` logoUrl:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` magicLinkTemplate:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:' \"\u003cstring> (A template for the URL to be used in a magic link button, e.g. `https://dapp.xyz/%s`. The auth bundle will be interpolated into the `%s`.)\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` templateVariables:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (JSON object containing key/value pairs to be used with custom templates.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` templateId:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` invalidateExisting:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Invalidate all other previously generated Email Auth API keys,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` sendFromEmailAddress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring> (Optional custom email address from which to send the email)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` sendFromEmailSenderName:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications')\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` replyToEmailAddress:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\u003cstring> (Optional custom email address to use as reply-to)\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})})]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,numberOfLines:`48`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`48`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"activity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cactivity-id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ACTIVITY_STATUS_COMPLETED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ACTIVITY_TYPE_EMAIL_AUTH_V3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003corganization-id>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"timestampMs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ctimestamp> (e.g. 1746736509954)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"activity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"intent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"emailAuthIntentV3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetPublicKey\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"apiKeyName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expirationSeconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"emailCustomization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"appName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"logoUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"magicLinkTemplate\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"templateVariables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"templateId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"invalidateExisting\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cboolean>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sendFromEmailAddress\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sendFromEmailSenderName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"replyToEmailAddress\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"emailAuthResult\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"apiKeyId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"votes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003carray>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fingerprint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"canApprove\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cboolean>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"canReject\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cboolean>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cstring>\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{EndpointPath,NestedParam,H3Bordered,Authorizations,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Perform email auth","description":"Authenticate a user via email.","href":"/api-reference/activities/perform-email-auth"}}}},"mdxExtracts":{"tableOfContents":[],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"27\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --request\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --url\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> https://api.turnkey.com/public/v1/submit/email_auth\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --header\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Accept: application/json'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --header\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Content-Type: application/json'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --header\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"X-Stamp: \u0026#x3C;string> (see Authorizations)\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --data\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"type\": \"ACTIVITY_TYPE_EMAIL_AUTH_V3\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"timestampMs\": \"\u0026#x3C;string> (e.g. 1746736509954)\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"organizationId\": \"\u0026#x3C;string> (Your Organization ID)\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"parameters\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"email\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"targetPublicKey\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"apiKeyName\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"expirationSeconds\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"emailCustomization\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"appName\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"logoUrl\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"magicLinkTemplate\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"templateVariables\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"templateId\": \"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"invalidateExisting\": \"\u0026#x3C;boolean>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"sendFromEmailAddress\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"sendFromEmailSenderName\": \"\u0026#x3C;string>\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"replyToEmailAddress\": \"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">}'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"JavaScript","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"javascript\">\u003ccode language=\"javascript\" numberOfLines=\"26\">\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">import\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">Turnkey\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> } \u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\">from\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"@turnkey/sdk-server\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">;\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\"> turnkeyClient\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\"> =\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\"> new\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\"> Turnkey\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">({\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> apiBaseUrl:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.turnkey.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> apiPublicKey:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> process\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">env\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\">API_PUBLIC_KEY\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">!\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> apiPrivateKey:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> process\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">env\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\">API_PRIVATE_KEY\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">!\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> defaultOrganizationId:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> process\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">env\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\">ORGANIZATION_ID\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\">!\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">});\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CF222E;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#4FC1FF\"> response\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D4D4D4\"> =\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#C586C0\"> await\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> turnkeyClient\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">apiClient\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">().\u003c/span>\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">emailAuth\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">({\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> email:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Email of the authenticating user.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> targetPublicKey:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> apiKeyName:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Optional human-readable name for an API Key. If none provided, default to Email Auth - \u0026#x3C;Timestamp>)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> expirationSeconds:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> emailCustomization:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#6E7781;--shiki-dark:#6A9955\">// emailCustomization field,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> appName:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (The name of the application. This field is required and will be used in email notifications if an email template is not provided.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> logoUrl:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> magicLinkTemplate:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (A template for the URL to be used in a magic link button, e.g. `https://dapp.xyz/%s`. The auth bundle will be interpolated into the `%s`.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> templateVariables:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (JSON object containing key/value pairs to be used with custom templates.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> templateId:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Unique identifier for a given Email Template. If not specified, the default is the most recent Email Template.)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> invalidateExisting:\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> true\u003c/span>\u003cspan style=\"color:#6E7781;--shiki-dark:#6A9955\"> // Invalidate all other previously generated Email Auth API keys,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> sendFromEmailAddress\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string> (Optional custom email address from which to send the email)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> sendFromEmailSenderName:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications')\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\"> replyToEmailAddress:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"\u0026#x3C;string> (Optional custom email address to use as reply-to)\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">});\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"48\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"activity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;activity-id>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ACTIVITY_STATUS_COMPLETED\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"ACTIVITY_TYPE_EMAIL_AUTH_V3\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"organizationId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;organization-id>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"timestampMs\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;timestamp> (e.g. 1746736509954)\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"result\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"activity\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"organizationId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"intent\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"emailAuthIntentV3\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"targetPublicKey\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"apiKeyName\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"expirationSeconds\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"emailCustomization\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"appName\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"logoUrl\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"magicLinkTemplate\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"templateVariables\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"templateId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"invalidateExisting\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;boolean>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sendFromEmailAddress\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"sendFromEmailSenderName\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"replyToEmailAddress\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"result\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"emailAuthResult\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"userId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"apiKeyId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"votes\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;array>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"fingerprint\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"canApprove\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;boolean>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"canReject\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;boolean>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"createdAt\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"updatedAt\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;string>\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":["/_mintlify/custom/turnkey-0e7c1f5b/788886ec77a9d964/ga.js","/_mintlify/custom/turnkey-0e7c1f5b/c849d0b15d4f5866/hero-animation.js"],"dynamicCss":".mint-absolute {\n position: absolute\n}\n.mint-relative {\n position: relative\n}\n.mint--top-1\\.5 {\n top: -0.375rem\n}\n.mint-right-0 {\n right: 0px\n}\n.mint--ml-\\[2\\.1rem\\] {\n margin-left: -2.1rem\n}\n.mint-mr-5 {\n margin-right: 1.25rem\n}\n.mint-mt-4 {\n margin-top: 1rem\n}\n.mint-inline {\n display: inline\n}\n.mint-flex {\n display: flex\n}\n.mint-hidden {\n display: none\n}\n.mint-h-4 {\n height: 1rem\n}\n.mint-h-6 {\n height: 1.5rem\n}\n.mint-w-4 {\n width: 1rem\n}\n.mint-w-6 {\n width: 1.5rem\n}\n.mint-w-full {\n width: 100%\n}\n.mint-min-w-0 {\n min-width: 0px\n}\n.mint-min-w-max {\n min-width: max-content\n}\n.mint-flex-1 {\n flex: 1 1 0%\n}\n.mint-cursor-pointer {\n cursor: pointer\n}\n.mint-flex-col {\n flex-direction: column\n}\n.mint-flex-wrap {\n flex-wrap: wrap\n}\n.mint-content-start {\n align-content: flex-start\n}\n.mint-items-center {\n align-items: center\n}\n.mint-justify-center {\n justify-content: center\n}\n.mint-gap-0\\.5 {\n gap: 0.125rem\n}\n.mint-gap-2 {\n gap: 0.5rem\n}\n.mint-space-x-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.375rem * var(--tw-space-x-reverse));\n margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))\n}\n.mint-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))\n}\n.mint-overflow-x-auto {\n overflow-x: auto\n}\n.mint-whitespace-nowrap {\n white-space: nowrap\n}\n.mint-break-all {\n word-break: break-all\n}\n.mint-rounded-2xl {\n border-radius: 1rem\n}\n.mint-rounded-lg {\n border-radius: 0.5rem\n}\n.mint-rounded-md {\n border-radius: 0.375rem\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}\n.mint-border-0 {\n border-width: 0px\n}\n.mint-border-b {\n border-bottom-width: 1px\n}\n.mint-border-gray-100 {\n --tw-border-opacity: 1;\n border-color: rgb(243 244 246 / var(--tw-border-opacity, 1))\n}\n.mint-bg-blue-400\\/20 {\n background-color: rgb(96 165 250 / 0.2)\n}\n.mint-bg-gray-100\\/50 {\n background-color: rgb(243 244 246 / 0.5)\n}\n.mint-bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1))\n}\n.mint-bg-red-100\\/50 {\n background-color: rgb(254 226 226 / 0.5)\n}\n.mint-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))\n}\n.mint-p-1\\.5 {\n padding: 0.375rem\n}\n.mint-p-2 {\n padding: 0.5rem\n}\n.mint-px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem\n}\n.mint-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem\n}\n.mint-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem\n}\n.mint-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.mint-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem\n}\n.mint-pb-2\\.5 {\n padding-bottom: 0.625rem\n}\n.mint-font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace\n}\n.mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.mint-text-xs {\n font-size: 0.75rem;\n line-height: 1rem\n}\n.mint-font-bold {\n font-weight: 700\n}\n.mint-font-medium {\n font-weight: 500\n}\n.mint-font-semibold {\n font-weight: 600\n}\n.mint-leading-5 {\n line-height: 1.25rem\n}\n.mint-text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity, 1))\n}\n.mint-text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1))\n}\n.mint-opacity-0 {\n opacity: 0\n}\n.mint-ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)\n}\n.mint-ring-gray-400\\/30 {\n --tw-ring-color: rgb(156 163 175 / 0.3)\n}\n.last\\:mint-border-b-0:last-child {\n border-bottom-width: 0px\n}\n.hover\\:mint-ring-gray-400\\/60:hover {\n --tw-ring-color: rgb(156 163 175 / 0.6)\n}\n.mint-group:hover .group-hover\\:mint-block {\n display: block\n}\n.mint-group\\/param-head:hover .group-hover\\/param-head\\:mint-opacity-100 {\n opacity: 1\n}\n.dark\\:mint-border-gray-800:is(.dark *) {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1))\n}\n.dark\\:mint-bg-blue-400\\/20:is(.dark *) {\n background-color: rgb(96 165 250 / 0.2)\n}\n.dark\\:mint-bg-red-400\\/10:is(.dark *) {\n background-color: rgb(248 113 113 / 0.1)\n}\n.dark\\:mint-bg-white\\/30:is(.dark *) {\n background-color: rgb(255 255 255 / 0.3)\n}\n.dark\\:mint-bg-white\\/5:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05)\n}\n.dark\\:mint-text-blue-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-200:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-red-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-white:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-ring-gray-700\\/25:is(.dark *) {\n --tw-ring-color: rgb(55 65 81 / 0.25)\n}\n.dark\\:hover\\:mint-ring-white\\/20:hover:is(.dark *) {\n --tw-ring-color: rgb(255 255 255 / 0.2)\n}\n.\\[\\\u0026_div\\]\\:mint-mr-2 div {\n margin-right: 0.5rem\n}\n.\\[\\\u0026_div\\]\\:mint-inline div {\n display: inline\n}\n.\\[\\\u0026_div\\]\\:mint-leading-5 div {\n line-height: 1.25rem\n}\n.expandable-content .\\[\\.expandable-content_\\\u0026\\]\\:mint--ml-\\[2\\.1rem\\] {\n margin-left: -2.1rem\n}","subdomain":"turnkey-0e7c1f5b","siteName":"Turnkey","title":"Perform email auth - Turnkey","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-30T14:16:31.695Z","originalFileLocation":"api-reference/activities/perform-email-auth.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Authenticate a user via email.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Turnkey\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Perform email auth - Turnkey\">\u003cmeta data-mint-head property=\"og:description\" content=\"Authenticate a user via email.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Turnkey\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.turnkey.com/api-reference/activities/perform-email-auth\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.turnkey.com/images/og-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Perform email auth - Turnkey\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Authenticate a user via email.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.turnkey.com/images/og-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/turnkey-0e7c1f5b/umYhjB0nyuI1BMHQ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Turnkey\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4C48FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.turnkey.com/api-reference/activities/perform-email-auth\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/activities/perform-email-auth.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.turnkey.com/#organization\",\"name\":\"Turnkey\",\"url\":\"https://docs.turnkey.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/turnkey-0e7c1f5b/YQKQ_azrjtJ471Qy/logo/light.svg?fit=max\u0026auto=format\u0026n=YQKQ_azrjtJ471Qy\u0026q=85\u0026s=38556c8732a1d68a5399fce905b480b1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.turnkey.com#website\",\"name\":\"Turnkey\",\"url\":\"https://docs.turnkey.com\",\"publisher\":{\"@id\":\"https://docs.turnkey.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth#webpage\",\"url\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth\",\"name\":\"Perform email auth\",\"description\":\"Authenticate a user via email.\",\"dateModified\":\"2026-09-30T14:16:31.695Z\",\"isPartOf\":{\"@id\":\"https://docs.turnkey.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST API\",\"item\":\"https://docs.turnkey.com/api-reference/overview/intro\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication \u0026 credentials\",\"item\":\"https://docs.turnkey.com/api-reference/activities/create-an-oauth-20-credential\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Activities\",\"item\":\"https://docs.turnkey.com/api-reference/activities/create-an-oauth-20-credential\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Perform email auth\",\"item\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth#article\",\"headline\":\"Perform email auth\",\"name\":\"Perform email auth\",\"description\":\"Authenticate a user via email.\",\"url\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth\",\"mainEntityOfPage\":{\"@id\":\"https://docs.turnkey.com/api-reference/activities/perform-email-auth#webpage\"},\"image\":\"https://docs.turnkey.com/images/og-image.png\",\"dateModified\":\"2026-09-30T14:16:31.695Z\",\"publisher\":{\"@id\":\"https://docs.turnkey.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.turnkey.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Turnkey\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Turnkey","nav":{"global":{},"tabs":[{"tab":"Home","icon":"https://mintlify.s3.us-west-1.amazonaws.com/turnkey-0e7c1f5b/images/icons/home-02.svg","pages":[{"title":"Home","href":"/welcome"}]},{"tab":"Solutions","pages":[{"title":"Solutions","href":"/solutions/overview"}]},{"tab":"Documentation","pages":[{"title":"Documentation","href":"/get-started/about-turnkey"}]},{"tab":"API \u0026 SDK reference","pages":[{"group":"REST API","pages":[{"title":"Turnkey API reference","sidebarTitle":"Introduction","href":"/api-reference/overview/intro"},{"title":"Stamps","href":"/api-reference/overview/stamps"},{"title":"Raw payload signing","href":"/api-reference/overview/raw-payload-signing"},{"title":"Errors","href":"/api-reference/overview/errors"},{"title":"Activities","sidebarTitle":"Activities overview","mode":"wide","href":"/api-reference/activities/overview"},{"title":"Queries","sidebarTitle":"Queries overview","mode":"wide","href":"/api-reference/queries/overview"},{"group":"Organizations \u0026 sub-orgs","pages":[{"group":"Activities","pages":[{"title":"Create sub-organization","href":"/api-reference/activities/create-sub-organization"},{"title":"Create webhook endpoint","href":"/api-reference/activities/create-webhook-endpoint"},{"title":"Delete sub-organization","href":"/api-reference/activities/delete-sub-organization"},{"title":"Delete webhook endpoint","href":"/api-reference/activities/delete-webhook-endpoint"},{"title":"Remove IP Allowlist","href":"/api-reference/activities/remove-ip-allowlist"},{"title":"Remove organization feature","href":"/api-reference/activities/remove-organization-feature"},{"title":"Set IP Allowlist","href":"/api-reference/activities/set-ip-allowlist"},{"title":"Set organization feature","href":"/api-reference/activities/set-organization-feature"},{"title":"Update organization name","href":"/api-reference/activities/update-organization-name"},{"title":"Update root quorum","href":"/api-reference/activities/update-root-quorum"},{"title":"Update webhook endpoint","href":"/api-reference/activities/update-webhook-endpoint"}]},{"group":"Queries","pages":[{"title":"Get configs","href":"/api-reference/queries/get-configs"},{"title":"Get IP Allowlist","href":"/api-reference/queries/get-ip-allowlist"},{"title":"Get sub-organizations","href":"/api-reference/queries/get-sub-organizations"},{"title":"Get verified sub-organizations","href":"/api-reference/queries/get-verified-sub-organizations"},{"title":"Get webhook JWKS","api":"GET https://api.turnkey.com/public/v1/discovery/webhooks/jwks","playground":"interactive","href":"/api-reference/queries/get-webhook-jwks"},{"title":"List webhook endpoints","href":"/api-reference/queries/list-webhook-endpoints"}]}]},{"group":"Users \u0026 access","pages":[{"group":"Activities","pages":[{"title":"Create invitations","href":"/api-reference/activities/create-invitations"},{"title":"Create user tag","href":"/api-reference/activities/create-user-tag"},{"title":"Create users","href":"/api-reference/activities/create-users"},{"title":"Delete invitation","href":"/api-reference/activities/delete-invitation"},{"title":"Delete user tags","href":"/api-reference/activities/delete-user-tags"},{"title":"Delete users","href":"/api-reference/activities/delete-users"},{"title":"Update user","href":"/api-reference/activities/update-user"},{"title":"Update user tag","href":"/api-reference/activities/update-user-tag"},{"title":"Update user's email","href":"/api-reference/activities/update-users-email"},{"title":"Update user's name","href":"/api-reference/activities/update-users-name"},{"title":"Update user's phone number","href":"/api-reference/activities/update-users-phone-number"}]},{"group":"Queries","pages":[{"title":"Get user","href":"/api-reference/queries/get-user"},{"title":"List email events","href":"/api-reference/queries/list-email-events"},{"title":"List user tags","href":"/api-reference/queries/list-user-tags"},{"title":"List users","href":"/api-reference/queries/list-users"}]}]},{"group":"Authentication \u0026 credentials","pages":[{"group":"Activities","pages":[{"title":"Create an OAuth 2.0 credential","href":"/api-reference/activities/create-an-oauth-20-credential"},{"title":"Create API keys","href":"/api-reference/activities/create-api-keys"},{"title":"Create authenticators","href":"/api-reference/activities/create-authenticators"},{"title":"Create OAuth providers","href":"/api-reference/activities/create-oauth-providers"},{"title":"Create read only session","href":"/api-reference/activities/create-read-only-session"},{"title":"Create read write session","href":"/api-reference/activities/create-read-write-session"},{"title":"Create session profile","href":"/api-reference/activities/create-session-profile"},{"title":"Create wallet authenticators","href":"/api-reference/activities/create-wallet-authenticators"},{"title":"Delete an OAuth 2.0 credential","href":"/api-reference/activities/delete-an-oauth-20-credential"},{"title":"Delete API keys","href":"/api-reference/activities/delete-api-keys"},{"title":"Delete authenticators","href":"/api-reference/activities/delete-authenticators"},{"title":"Delete OAuth providers","href":"/api-reference/activities/delete-oauth-providers"},{"title":"Delete wallet authenticators","href":"/api-reference/activities/delete-wallet-authenticators"},{"title":"Init email recovery","href":"/api-reference/activities/init-email-recovery"},{"title":"Init generic OTP","href":"/api-reference/activities/init-generic-otp"},{"title":"Init OTP auth","href":"/api-reference/activities/init-otp-auth"},{"title":"Login with a stamp","href":"/api-reference/activities/login-with-a-stamp"},{"title":"Login with OAuth","href":"/api-reference/activities/login-with-oauth"},{"title":"Login with OTP","href":"/api-reference/activities/login-with-otp"},{"title":"OAuth","href":"/api-reference/activities/oauth"},{"title":"OAuth 2.0 authentication","href":"/api-reference/activities/oauth-20-authentication"},{"title":"OTP auth","description":"Authenticate a user with an OTP code sent via email or SMS.","href":"/api-reference/activities/otp-auth"},{"title":"Perform email auth","href":"/api-reference/activities/perform-email-auth"},{"title":"Recover a user","description":"Complete the process of recovering a user by adding an authenticator.","href":"/api-reference/activities/recover-a-user"},{"title":"Update an OAuth 2.0 credential","href":"/api-reference/activities/update-an-oauth-20-credential"},{"title":"Verify generic OTP","href":"/api-reference/activities/verify-generic-otp"},{"title":"Verify wallet authenticator","href":"/api-reference/activities/verify-wallet-authenticator"}]},{"group":"Queries","pages":[{"title":"Get API key","href":"/api-reference/queries/get-api-key"},{"title":"Get API keys","href":"/api-reference/queries/get-api-keys"},{"title":"Get authenticator","href":"/api-reference/queries/get-authenticator"},{"title":"Get authenticators","href":"/api-reference/queries/get-authenticators"},{"title":"Get OAuth 2.0 credential","href":"/api-reference/queries/get-oauth-20-credential"},{"title":"Get OAuth providers","href":"/api-reference/queries/get-oauth-providers"},{"title":"Get session profile","href":"/api-reference/queries/get-session-profile"},{"title":"Get session profiles","href":"/api-reference/queries/get-session-profiles"},{"title":"Get wallet authenticators","href":"/api-reference/queries/get-wallet-authenticators"},{"title":"List OAuth 2.0 credentials","href":"/api-reference/queries/list-oauth-20-credentials"},{"title":"Who am I?","href":"/api-reference/queries/who-am-i"}]}]},{"group":"Policies \u0026 approvals","pages":[{"group":"Activities","pages":[{"title":"Approve activity","href":"/api-reference/activities/approve-activity"},{"title":"Create MFA policy","href":"/api-reference/activities/create-mfa-policy"},{"title":"Create policies","href":"/api-reference/activities/create-policies"},{"title":"Create policy","href":"/api-reference/activities/create-policy"},{"title":"Create smart contract interface","href":"/api-reference/activities/create-smart-contract-interface"},{"title":"Delete MFA policy","href":"/api-reference/activities/delete-mfa-policy"},{"title":"Delete policies","href":"/api-reference/activities/delete-policies"},{"title":"Delete policy","href":"/api-reference/activities/delete-policy"},{"title":"Delete smart contract interface","href":"/api-reference/activities/delete-smart-contract-interface"},{"title":"Reject activity","href":"/api-reference/activities/reject-activity"},{"title":"Update MFA policy","href":"/api-reference/activities/update-mfa-policy"},{"title":"Update policy","href":"/api-reference/activities/update-policy"}]},{"group":"Queries","pages":[{"title":"Get active policies","href":"/api-reference/queries/get-active-policies"},{"title":"Get activity","href":"/api-reference/queries/get-activity"},{"title":"Get MFA policies","href":"/api-reference/queries/get-mfa-policies"},{"title":"Get MFA policy","href":"/api-reference/queries/get-mfa-policy"},{"title":"Get MFA status","href":"/api-reference/queries/get-mfa-status"},{"title":"Get policy","href":"/api-reference/queries/get-policy"},{"title":"Get policy evaluations","href":"/api-reference/queries/get-policy-evaluations"},{"title":"Get smart contract interface","href":"/api-reference/queries/get-smart-contract-interface"},{"title":"List activities","href":"/api-reference/queries/list-activities"},{"title":"List policies","href":"/api-reference/queries/list-policies"},{"title":"List smart contract interfaces","href":"/api-reference/queries/list-smart-contract-interfaces"}]}]},{"group":"Wallets \u0026 private keys","pages":[{"group":"Activities","pages":[{"title":"Create private key tag","href":"/api-reference/activities/create-private-key-tag"},{"title":"Create private keys","href":"/api-reference/activities/create-private-keys"},{"title":"Create wallet","href":"/api-reference/activities/create-wallet"},{"title":"Create wallet accounts","href":"/api-reference/activities/create-wallet-accounts"},{"title":"Delete private key tags","href":"/api-reference/activities/delete-private-key-tags"},{"title":"Delete private keys","href":"/api-reference/activities/delete-private-keys"},{"title":"Delete secrets","href":"/api-reference/activities/delete-secrets"},{"title":"Delete wallet accounts","href":"/api-reference/activities/delete-wallet-accounts"},{"title":"Delete wallets","href":"/api-reference/activities/delete-wallets"},{"title":"Export private key","href":"/api-reference/activities/export-private-key"},{"title":"Export secrets","href":"/api-reference/activities/export-secrets"},{"title":"Export wallet","href":"/api-reference/activities/export-wallet"},{"title":"Export wallet account","href":"/api-reference/activities/export-wallet-account"},{"title":"Import private key","href":"/api-reference/activities/import-private-key"},{"title":"Import secrets","href":"/api-reference/activities/import-secrets"},{"title":"Import wallet","href":"/api-reference/activities/import-wallet"},{"title":"Init import private key","href":"/api-reference/activities/init-import-private-key"},{"title":"Init import secrets","href":"/api-reference/activities/init-import-secrets"},{"title":"Init import wallet","href":"/api-reference/activities/init-import-wallet"},{"title":"Update private key tag","href":"/api-reference/activities/update-private-key-tag"},{"title":"Update wallet","href":"/api-reference/activities/update-wallet"}]},{"group":"Queries","pages":[{"title":"Get balances","href":"/api-reference/queries/get-balances"},{"title":"Get private key","href":"/api-reference/queries/get-private-key"},{"title":"Get wallet","href":"/api-reference/queries/get-wallet"},{"title":"Get wallet account","href":"/api-reference/queries/get-wallet-account"},{"title":"List Eth transaction history","href":"/api-reference/queries/list-eth-transaction-history"},{"title":"List private key tags","href":"/api-reference/queries/list-private-key-tags"},{"title":"List private keys","href":"/api-reference/queries/list-private-keys"},{"title":"List secrets","href":"/api-reference/queries/list-secrets"},{"title":"List Sol transaction history","href":"/api-reference/queries/list-sol-transaction-history"},{"title":"List supported assets","href":"/api-reference/queries/list-supported-assets"},{"title":"List wallet accounts","href":"/api-reference/queries/list-wallet-accounts"},{"title":"List wallets","href":"/api-reference/queries/list-wallets"}]}]},{"group":"Signing","pages":[{"group":"Activities","pages":[{"title":"Claim Spark transfer","href":"/api-reference/activities/claim-spark-transfer"},{"title":"Prepare Spark transfer","href":"/api-reference/activities/prepare-spark-transfer"},{"title":"Sign Frost Spark","href":"/api-reference/activities/sign-frost-spark"},{"title":"Sign raw payload","href":"/api-reference/activities/sign-raw-payload"},{"title":"Sign raw payloads","href":"/api-reference/activities/sign-raw-payloads"},{"title":"Sign transaction","href":"/api-reference/activities/sign-transaction"},{"title":"Spark prepare Lightning receive","href":"/api-reference/activities/spark-prepare-lightning-receive"}]}]},{"group":"Transaction management","pages":[{"group":"Activities","pages":[{"title":"Broadcast EVM transaction","href":"/api-reference/activities/broadcast-evm-transaction"},{"title":"Broadcast SVM transaction","href":"/api-reference/activities/broadcast-svm-transaction"},{"title":"Claim Earn fees","href":"/api-reference/activities/claim-earn-fees"},{"title":"Claim Earn rewards","href":"/api-reference/activities/claim-earn-rewards"},{"title":"Claim Swap fees","href":"/api-reference/activities/claim-swap-fees"},{"title":"Create a Fiat On Ramp credential","href":"/api-reference/activities/create-a-fiat-on-ramp-credential"},{"title":"Create Swap quote","href":"/api-reference/activities/create-swap-quote"},{"title":"Delete a Fiat On Ramp credential","href":"/api-reference/activities/delete-a-fiat-on-ramp-credential"},{"title":"Deploy Earn wrapper","href":"/api-reference/activities/deploy-earn-wrapper"},{"title":"Deposit into Earn vault","href":"/api-reference/activities/deposit-into-earn-vault"},{"title":"Execute Swap","href":"/api-reference/activities/execute-swap"},{"title":"Init Fiat On Ramp","href":"/api-reference/activities/init-fiat-on-ramp"},{"title":"Set Earn wrapper state","href":"/api-reference/activities/set-earn-wrapper-state"},{"title":"Undelegate an EVM account","href":"/api-reference/activities/undelegate-an-evm-account"},{"title":"Update a Fiat On Ramp credential","href":"/api-reference/activities/update-a-fiat-on-ramp-credential"},{"title":"Upsert Swap config","href":"/api-reference/activities/upsert-swap-config"},{"title":"Upsert swap fee sponsorship limits","href":"/api-reference/activities/upsert-swap-fee-sponsorship-limits"},{"title":"Upsert swap fixed rate limits","href":"/api-reference/activities/upsert-swap-fixed-rate-limits"},{"title":"Withdraw from Earn vault","href":"/api-reference/activities/withdraw-from-earn-vault"}]},{"group":"Queries","pages":[{"title":"Get Earn claim fees status","href":"/api-reference/queries/get-earn-claim-fees-status"},{"title":"Get Earn claim rewards status","href":"/api-reference/queries/get-earn-claim-rewards-status"},{"title":"Get Earn deploy status","href":"/api-reference/queries/get-earn-deploy-status"},{"title":"Get Earn deposit status","href":"/api-reference/queries/get-earn-deposit-status"},{"title":"Get Earn enabled vaults","href":"/api-reference/queries/get-earn-enabled-vaults"},{"title":"Get Earn positions","href":"/api-reference/queries/get-earn-positions"},{"title":"Get Earn vault catalog","href":"/api-reference/queries/get-earn-vault-catalog"},{"title":"Get Earn withdraw status","href":"/api-reference/queries/get-earn-withdraw-status"},{"title":"Get gas usage","href":"/api-reference/queries/get-gas-usage"},{"title":"Get nonces","href":"/api-reference/queries/get-nonces"},{"title":"Get On Ramp transaction status","href":"/api-reference/queries/get-on-ramp-transaction-status"},{"title":"Get send transaction status","href":"/api-reference/queries/get-send-transaction-status"},{"title":"Get swap sponsorship usage","href":"/api-reference/queries/get-swap-sponsorship-usage"},{"title":"Get Swap status","href":"/api-reference/queries/get-swap-status"},{"title":"List Earn rewards","href":"/api-reference/queries/list-earn-rewards"},{"title":"List Fiat On Ramp credentials","href":"/api-reference/queries/list-fiat-on-ramp-credentials"}]}]},{"group":"Turnkey Verifiable Cloud","pages":[{"group":"Activities","pages":[{"title":"Create a TVC app","href":"/api-reference/activities/create-a-tvc-app"},{"title":"Create a TVC deployment","href":"/api-reference/activities/create-a-tvc-deployment"},{"title":"Create TVC manifest approvals","href":"/api-reference/activities/create-tvc-manifest-approvals"},{"title":"Create TVC operator","href":"/api-reference/activities/create-tvc-operator"},{"title":"Create TVC Quorum Key","href":"/api-reference/activities/create-tvc-quorum-key"},{"title":"Delete a TVC app and all of its deployments","href":"/api-reference/activities/delete-a-tvc-app-and-all-of-its-deployments"},{"title":"Delete a TVC deployment","href":"/api-reference/activities/delete-a-tvc-deployment"},{"title":"Post TVC Quorum Key share","href":"/api-reference/activities/post-tvc-quorum-key-share"},{"title":"Re-encrypt TVC Quorum Key share","href":"/api-reference/activities/re-encrypt-tvc-quorum-key-share"},{"title":"Restore a TVC deployment","href":"/api-reference/activities/restore-a-tvc-deployment"}]},{"group":"Queries","pages":[{"title":"Get a specific Boot Proof","href":"/api-reference/queries/get-a-specific-boot-proof"},{"title":"Get the latest Boot Proof for an app","href":"/api-reference/queries/get-the-latest-boot-proof-for-an-app"},{"title":"Get TVC app","href":"/api-reference/queries/get-tvc-app"},{"title":"Get TVC app status","href":"/api-reference/queries/get-tvc-app-status"},{"title":"Get TVC deployment","href":"/api-reference/queries/get-tvc-deployment"},{"title":"Get TVC deployment debug logs","href":"/api-reference/queries/get-tvc-deployment-debug-logs"},{"title":"Get TVC deployment's provisioning details","href":"/api-reference/queries/get-tvc-deployments-provisioning-details"},{"title":"Get TVC manifest generation info","href":"/api-reference/queries/get-tvc-manifest-generation-info"},{"title":"Get TVC QOS versions","href":"/api-reference/queries/get-tvc-qos-versions"},{"title":"List App Proofs for an activity","href":"/api-reference/queries/list-app-proofs-for-an-activity"},{"title":"List TVC apps","href":"/api-reference/queries/list-tvc-apps"},{"title":"List TVC deployments","href":"/api-reference/queries/list-tvc-deployments"},{"title":"List TVC operators","href":"/api-reference/queries/list-tvc-operators"},{"title":"List TVC Quorum Keys","href":"/api-reference/queries/list-tvc-quorum-keys"},{"title":"Validate container image for TVC","href":"/api-reference/queries/validate-container-image-for-tvc"}]}]},{"group":"Auth Proxy","pages":[{"title":"Get Account","href":"/api-reference/auth-proxy/account"},{"title":"OAuth Login","href":"/api-reference/auth-proxy/oauth-login"},{"title":"OAuth 2.0 Authenticate","href":"/api-reference/auth-proxy/oauth2-authenticate"},{"title":"Init OTP","href":"/api-reference/auth-proxy/otp-init"},{"title":"OTP Login","href":"/api-reference/auth-proxy/otp-login"},{"title":"Verify OTP","href":"/api-reference/auth-proxy/otp-verify"},{"title":"Signup","href":"/api-reference/auth-proxy/signup"},{"title":"Verify wallet authenticator","href":"/api-reference/auth-proxy/verify-wallet-authenticator"},{"title":"Get WalletKit Client Params","href":"/api-reference/auth-proxy/wallet-kit-client-params"},{"title":"Get WalletKit Config","href":"/api-reference/auth-proxy/wallet-kit-config"}]}]},{"group":"SDK reference","pages":[{"title":"Turnkey SDK reference","sidebarTitle":"Introduction","href":"/sdks/introduction"},{"group":"React wallet kit","pages":[{"title":"addOauthProvider()","href":"/generated-docs/react-wallet-kit/client-context-type-add-oauth-provider"},{"title":"addPasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-add-passkey"},{"title":"buildWalletLoginRequest()","href":"/generated-docs/react-wallet-kit/client-context-type-build-wallet-login-request"},{"title":"clearAllSessions()","href":"/generated-docs/react-wallet-kit/client-context-type-clear-all-sessions"},{"title":"clearSession()","href":"/generated-docs/react-wallet-kit/client-context-type-clear-session"},{"title":"clearUnusedKeyPairs()","href":"/generated-docs/react-wallet-kit/client-context-type-clear-unused-key-pairs"},{"title":"completeOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-complete-oauth"},{"title":"completeOtp()","href":"/generated-docs/react-wallet-kit/client-context-type-complete-otp"},{"title":"connectWalletAccount()","href":"/generated-docs/react-wallet-kit/client-context-type-connect-wallet-account"},{"title":"createApiKeyPair()","href":"/generated-docs/react-wallet-kit/client-context-type-create-api-key-pair"},{"title":"createHttpClient()","href":"/generated-docs/react-wallet-kit/client-context-type-create-http-client"},{"title":"createPasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-create-passkey"},{"title":"createWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-create-wallet"},{"title":"createWalletAccounts()","href":"/generated-docs/react-wallet-kit/client-context-type-create-wallet-accounts"},{"title":"deleteSubOrganization()","href":"/generated-docs/react-wallet-kit/client-context-type-delete-sub-organization"},{"title":"disconnectWalletAccount()","href":"/generated-docs/react-wallet-kit/client-context-type-disconnect-wallet-account"},{"title":"ethSendErc20Transfer()","href":"/generated-docs/react-wallet-kit/client-context-type-eth-send-erc20-transfer"},{"title":"ethSendTransaction()","href":"/generated-docs/react-wallet-kit/client-context-type-eth-send-transaction"},{"title":"exportPrivateKey()","href":"/generated-docs/react-wallet-kit/client-context-type-export-private-key"},{"title":"exportWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-export-wallet"},{"title":"exportWalletAccount()","href":"/generated-docs/react-wallet-kit/client-context-type-export-wallet-account"},{"title":"fetchBootProofForAppProof()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-boot-proof-for-app-proof"},{"title":"fetchOrCreateP256ApiKeyUser()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-or-create-p256-api-key-user"},{"title":"fetchOrCreatePolicies()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-or-create-policies"},{"title":"fetchPrivateKeys()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-private-keys"},{"title":"fetchUser()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-user"},{"title":"fetchWalletAccounts()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-wallet-accounts"},{"title":"fetchWalletProviders()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-wallet-providers"},{"title":"fetchWallets()","href":"/generated-docs/react-wallet-kit/client-context-type-fetch-wallets"},{"title":"getActiveSessionKey()","href":"/generated-docs/react-wallet-kit/client-context-type-get-active-session-key"},{"title":"getAllSessions()","href":"/generated-docs/react-wallet-kit/client-context-type-get-all-sessions"},{"title":"getProxyAuthConfig()","href":"/generated-docs/react-wallet-kit/client-context-type-get-proxy-auth-config"},{"title":"getSession()","href":"/generated-docs/react-wallet-kit/client-context-type-get-session"},{"title":"handleAddEmail()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-add-email"},{"title":"handleAddOauthProvider()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-add-oauth-provider"},{"title":"handleAddPasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-add-passkey"},{"title":"handleAddPhoneNumber()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-add-phone-number"},{"title":"handleAppleOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-apple-oauth"},{"title":"handleConnectExternalWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-connect-external-wallet"},{"title":"handleDiscordOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-discord-oauth"},{"title":"handleExportPrivateKey()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-export-private-key"},{"title":"handleExportWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-export-wallet"},{"title":"handleExportWalletAccount()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-export-wallet-account"},{"title":"handleFacebookOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-facebook-oauth"},{"title":"handleGoogleOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-google-oauth"},{"title":"handleImportPrivateKey()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-import-private-key"},{"title":"handleImportWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-import-wallet"},{"title":"handleLogin()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-login"},{"title":"handleOnRamp()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-on-ramp"},{"title":"handleRemoveOauthProvider()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-remove-oauth-provider"},{"title":"handleRemovePasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-remove-passkey"},{"title":"handleRemoveUserEmail()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-remove-user-email"},{"title":"handleRemoveUserPhoneNumber()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-remove-user-phone-number"},{"title":"handleSendErc20Transfer()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-send-erc20-transfer"},{"title":"handleSendTransaction()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-send-transaction"},{"title":"handleSignMessage()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-sign-message"},{"title":"handleUpdateUserEmail()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-update-user-email"},{"title":"handleUpdateUserName()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-update-user-name"},{"title":"handleUpdateUserPhoneNumber()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-update-user-phone-number"},{"title":"handleVerifyAppProofs()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-verify-app-proofs"},{"title":"handleXOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-handle-xoauth"},{"title":"importPrivateKey()","href":"/generated-docs/react-wallet-kit/client-context-type-import-private-key"},{"title":"importWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-import-wallet"},{"title":"initOtp()","href":"/generated-docs/react-wallet-kit/client-context-type-init-otp"},{"title":"loginOrSignupWithWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-login-or-signup-with-wallet"},{"title":"loginWithOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-login-with-oauth"},{"title":"loginWithOtp()","href":"/generated-docs/react-wallet-kit/client-context-type-login-with-otp"},{"title":"loginWithPasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-login-with-passkey"},{"title":"loginWithWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-login-with-wallet"},{"title":"logout()","href":"/generated-docs/react-wallet-kit/client-context-type-logout"},{"title":"refreshSession()","href":"/generated-docs/react-wallet-kit/client-context-type-refresh-session"},{"title":"refreshUser()","href":"/generated-docs/react-wallet-kit/client-context-type-refresh-user"},{"title":"refreshWallets()","href":"/generated-docs/react-wallet-kit/client-context-type-refresh-wallets"},{"title":"removeOauthProviders()","href":"/generated-docs/react-wallet-kit/client-context-type-remove-oauth-providers"},{"title":"removePasskeys()","href":"/generated-docs/react-wallet-kit/client-context-type-remove-passkeys"},{"title":"removeUserEmail()","href":"/generated-docs/react-wallet-kit/client-context-type-remove-user-email"},{"title":"removeUserPhoneNumber()","href":"/generated-docs/react-wallet-kit/client-context-type-remove-user-phone-number"},{"title":"setActiveSession()","href":"/generated-docs/react-wallet-kit/client-context-type-set-active-session"},{"title":"signAndSendTransaction()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-and-send-transaction"},{"title":"signMessage()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-message"},{"title":"signTransaction()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-transaction"},{"title":"signUpWithOauth()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-up-with-oauth"},{"title":"signUpWithOtp()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-up-with-otp"},{"title":"signUpWithPasskey()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-up-with-passkey"},{"title":"signUpWithWallet()","href":"/generated-docs/react-wallet-kit/client-context-type-sign-up-with-wallet"},{"title":"solSendTransaction()","href":"/generated-docs/react-wallet-kit/client-context-type-sol-send-transaction"},{"title":"storeSession()","href":"/generated-docs/react-wallet-kit/client-context-type-store-session"},{"title":"switchWalletAccountChain()","href":"/generated-docs/react-wallet-kit/client-context-type-switch-wallet-account-chain"},{"title":"updateUserEmail()","href":"/generated-docs/react-wallet-kit/client-context-type-update-user-email"},{"title":"updateUserName()","href":"/generated-docs/react-wallet-kit/client-context-type-update-user-name"},{"title":"updateUserPhoneNumber()","href":"/generated-docs/react-wallet-kit/client-context-type-update-user-phone-number"},{"title":"verifyAppProofs()","href":"/generated-docs/react-wallet-kit/client-context-type-verify-app-proofs"},{"title":"verifyOtp()","href":"/generated-docs/react-wallet-kit/client-context-type-verify-otp"},{"title":"TurnkeyProviderConfig","href":"/generated-docs/react-wallet-kit/turnkey-provider-config"}]},{"group":"React Native wallet kit","pages":[{"title":"addOauthProvider()","href":"/generated-docs/react-native-wallet-kit/client-context-type-add-oauth-provider"},{"title":"addPasskey()","href":"/generated-docs/react-native-wallet-kit/client-context-type-add-passkey"},{"title":"clearAllSessions()","href":"/generated-docs/react-native-wallet-kit/client-context-type-clear-all-sessions"},{"title":"clearSession()","href":"/generated-docs/react-native-wallet-kit/client-context-type-clear-session"},{"title":"clearUnusedKeyPairs()","href":"/generated-docs/react-native-wallet-kit/client-context-type-clear-unused-key-pairs"},{"title":"completeOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-complete-oauth"},{"title":"completeOtp()","href":"/generated-docs/react-native-wallet-kit/client-context-type-complete-otp"},{"title":"createApiKeyPair()","href":"/generated-docs/react-native-wallet-kit/client-context-type-create-api-key-pair"},{"title":"createHttpClient()","href":"/generated-docs/react-native-wallet-kit/client-context-type-create-http-client"},{"title":"createPasskey()","href":"/generated-docs/react-native-wallet-kit/client-context-type-create-passkey"},{"title":"createWallet()","href":"/generated-docs/react-native-wallet-kit/client-context-type-create-wallet"},{"title":"createWalletAccounts()","href":"/generated-docs/react-native-wallet-kit/client-context-type-create-wallet-accounts"},{"title":"deleteSubOrganization()","href":"/generated-docs/react-native-wallet-kit/client-context-type-delete-sub-organization"},{"title":"ethSendErc20Transfer()","href":"/generated-docs/react-native-wallet-kit/client-context-type-eth-send-erc20-transfer"},{"title":"ethSendTransaction()","href":"/generated-docs/react-native-wallet-kit/client-context-type-eth-send-transaction"},{"title":"fetchBootProofForAppProof()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-boot-proof-for-app-proof"},{"title":"fetchOrCreateP256ApiKeyUser()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-or-create-p256-api-key-user"},{"title":"fetchOrCreatePolicies()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-or-create-policies"},{"title":"fetchPrivateKeys()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-private-keys"},{"title":"fetchUser()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-user"},{"title":"fetchWalletAccounts()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-wallet-accounts"},{"title":"fetchWallets()","href":"/generated-docs/react-native-wallet-kit/client-context-type-fetch-wallets"},{"title":"getActiveSessionKey()","href":"/generated-docs/react-native-wallet-kit/client-context-type-get-active-session-key"},{"title":"getAllSessions()","href":"/generated-docs/react-native-wallet-kit/client-context-type-get-all-sessions"},{"title":"getProxyAuthConfig()","href":"/generated-docs/react-native-wallet-kit/client-context-type-get-proxy-auth-config"},{"title":"getSession()","href":"/generated-docs/react-native-wallet-kit/client-context-type-get-session"},{"title":"handleAppleOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-handle-apple-oauth"},{"title":"handleDiscordOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-handle-discord-oauth"},{"title":"handleFacebookOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-handle-facebook-oauth"},{"title":"handleGoogleOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-handle-google-oauth"},{"title":"handleXOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-handle-xoauth"},{"title":"initOtp()","href":"/generated-docs/react-native-wallet-kit/client-context-type-init-otp"},{"title":"loginWithOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-login-with-oauth"},{"title":"loginWithOtp()","href":"/generated-docs/react-native-wallet-kit/client-context-type-login-with-otp"},{"title":"loginWithPasskey()","href":"/generated-docs/react-native-wallet-kit/client-context-type-login-with-passkey"},{"title":"logout()","href":"/generated-docs/react-native-wallet-kit/client-context-type-logout"},{"title":"refreshSession()","href":"/generated-docs/react-native-wallet-kit/client-context-type-refresh-session"},{"title":"refreshUser()","href":"/generated-docs/react-native-wallet-kit/client-context-type-refresh-user"},{"title":"refreshWallets()","href":"/generated-docs/react-native-wallet-kit/client-context-type-refresh-wallets"},{"title":"removeOauthProviders()","href":"/generated-docs/react-native-wallet-kit/client-context-type-remove-oauth-providers"},{"title":"removePasskeys()","href":"/generated-docs/react-native-wallet-kit/client-context-type-remove-passkeys"},{"title":"removeUserEmail()","href":"/generated-docs/react-native-wallet-kit/client-context-type-remove-user-email"},{"title":"removeUserPhoneNumber()","href":"/generated-docs/react-native-wallet-kit/client-context-type-remove-user-phone-number"},{"title":"setActiveSession()","href":"/generated-docs/react-native-wallet-kit/client-context-type-set-active-session"},{"title":"signAndSendTransaction()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-and-send-transaction"},{"title":"signMessage()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-message"},{"title":"signTransaction()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-transaction"},{"title":"signUpWithOauth()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-up-with-oauth"},{"title":"signUpWithOtp()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-up-with-otp"},{"title":"signUpWithPasskey()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sign-up-with-passkey"},{"title":"solSendTransaction()","href":"/generated-docs/react-native-wallet-kit/client-context-type-sol-send-transaction"},{"title":"storeSession()","href":"/generated-docs/react-native-wallet-kit/client-context-type-store-session"},{"title":"updateUserEmail()","href":"/generated-docs/react-native-wallet-kit/client-context-type-update-user-email"},{"title":"updateUserName()","href":"/generated-docs/react-native-wallet-kit/client-context-type-update-user-name"},{"title":"updateUserPhoneNumber()","href":"/generated-docs/react-native-wallet-kit/client-context-type-update-user-phone-number"},{"title":"verifyAppProofs()","href":"/generated-docs/react-native-wallet-kit/client-context-type-verify-app-proofs"},{"title":"verifyOtp()","href":"/generated-docs/react-native-wallet-kit/client-context-type-verify-otp"},{"title":"TurnkeyProviderConfig","href":"/generated-docs/react-native-wallet-kit/turnkey-provider-config"}]},{"group":"TypeScript core","pages":[{"title":"addOauthProvider()","href":"/generated-docs/core/turnkey-client-add-oauth-provider"},{"title":"addPasskey()","href":"/generated-docs/core/turnkey-client-add-passkey"},{"title":"buildWalletLoginRequest()","href":"/generated-docs/core/turnkey-client-build-wallet-login-request"},{"title":"clearAllSessions()","href":"/generated-docs/core/turnkey-client-clear-all-sessions"},{"title":"clearSession()","href":"/generated-docs/core/turnkey-client-clear-session"},{"title":"clearUnusedKeyPairs()","href":"/generated-docs/core/turnkey-client-clear-unused-key-pairs"},{"title":"completeOauth()","href":"/generated-docs/core/turnkey-client-complete-oauth"},{"title":"completeOtp()","href":"/generated-docs/core/turnkey-client-complete-otp"},{"title":"connectWalletAccount()","href":"/generated-docs/core/turnkey-client-connect-wallet-account"},{"title":"constructor()","href":"/generated-docs/core/turnkey-client-constructor"},{"title":"createApiKeyPair()","href":"/generated-docs/core/turnkey-client-create-api-key-pair"},{"title":"createHttpClient()","href":"/generated-docs/core/turnkey-client-create-http-client"},{"title":"createPasskey()","href":"/generated-docs/core/turnkey-client-create-passkey"},{"title":"createWallet()","href":"/generated-docs/core/turnkey-client-create-wallet"},{"title":"createWalletAccounts()","href":"/generated-docs/core/turnkey-client-create-wallet-accounts"},{"title":"deleteSubOrganization()","href":"/generated-docs/core/turnkey-client-delete-sub-organization"},{"title":"disconnectWalletAccount()","href":"/generated-docs/core/turnkey-client-disconnect-wallet-account"},{"title":"ethSendErc20Transfer()","href":"/generated-docs/core/turnkey-client-eth-send-erc20-transfer"},{"title":"ethSendTransaction()","href":"/generated-docs/core/turnkey-client-eth-send-transaction"},{"title":"exportPrivateKey()","href":"/generated-docs/core/turnkey-client-export-private-key"},{"title":"exportWallet()","href":"/generated-docs/core/turnkey-client-export-wallet"},{"title":"exportWalletAccount()","href":"/generated-docs/core/turnkey-client-export-wallet-account"},{"title":"fetchBootProofForAppProof()","href":"/generated-docs/core/turnkey-client-fetch-boot-proof-for-app-proof"},{"title":"fetchOrCreateP256ApiKeyUser()","href":"/generated-docs/core/turnkey-client-fetch-or-create-p256-api-key-user"},{"title":"fetchOrCreatePolicies()","href":"/generated-docs/core/turnkey-client-fetch-or-create-policies"},{"title":"fetchPrivateKeys()","href":"/generated-docs/core/turnkey-client-fetch-private-keys"},{"title":"fetchUser()","href":"/generated-docs/core/turnkey-client-fetch-user"},{"title":"fetchWalletAccounts()","href":"/generated-docs/core/turnkey-client-fetch-wallet-accounts"},{"title":"fetchWalletProviders()","href":"/generated-docs/core/turnkey-client-fetch-wallet-providers"},{"title":"fetchWallets()","href":"/generated-docs/core/turnkey-client-fetch-wallets"},{"title":"getActiveSessionKey()","href":"/generated-docs/core/turnkey-client-get-active-session-key"},{"title":"getAllSessions()","href":"/generated-docs/core/turnkey-client-get-all-sessions"},{"title":"getProxyAuthConfig()","href":"/generated-docs/core/turnkey-client-get-proxy-auth-config"},{"title":"getSession()","href":"/generated-docs/core/turnkey-client-get-session"},{"title":"importPrivateKey()","href":"/generated-docs/core/turnkey-client-import-private-key"},{"title":"importWallet()","href":"/generated-docs/core/turnkey-client-import-wallet"},{"title":"init()","href":"/generated-docs/core/turnkey-client-init"},{"title":"initOtp()","href":"/generated-docs/core/turnkey-client-init-otp"},{"title":"loginOrSignupWithWallet()","href":"/generated-docs/core/turnkey-client-login-or-signup-with-wallet"},{"title":"loginWithOauth()","href":"/generated-docs/core/turnkey-client-login-with-oauth"},{"title":"loginWithOtp()","href":"/generated-docs/core/turnkey-client-login-with-otp"},{"title":"loginWithPasskey()","href":"/generated-docs/core/turnkey-client-login-with-passkey"},{"title":"loginWithWallet()","href":"/generated-docs/core/turnkey-client-login-with-wallet"},{"title":"logout()","href":"/generated-docs/core/turnkey-client-logout"},{"title":"pollTransactionStatus()","href":"/generated-docs/core/turnkey-client-poll-transaction-status"},{"title":"refreshSession()","href":"/generated-docs/core/turnkey-client-refresh-session"},{"title":"removeOauthProviders()","href":"/generated-docs/core/turnkey-client-remove-oauth-providers"},{"title":"removePasskeys()","href":"/generated-docs/core/turnkey-client-remove-passkeys"},{"title":"removeUserEmail()","href":"/generated-docs/core/turnkey-client-remove-user-email"},{"title":"removeUserPhoneNumber()","href":"/generated-docs/core/turnkey-client-remove-user-phone-number"},{"title":"setActiveSession()","href":"/generated-docs/core/turnkey-client-set-active-session"},{"title":"signAndSendTransaction()","href":"/generated-docs/core/turnkey-client-sign-and-send-transaction"},{"title":"signMessage()","href":"/generated-docs/core/turnkey-client-sign-message"},{"title":"signTransaction()","href":"/generated-docs/core/turnkey-client-sign-transaction"},{"title":"signUpWithOauth()","href":"/generated-docs/core/turnkey-client-sign-up-with-oauth"},{"title":"signUpWithOtp()","href":"/generated-docs/core/turnkey-client-sign-up-with-otp"},{"title":"signUpWithPasskey()","href":"/generated-docs/core/turnkey-client-sign-up-with-passkey"},{"title":"signUpWithWallet()","href":"/generated-docs/core/turnkey-client-sign-up-with-wallet"},{"title":"solSendTransaction()","href":"/generated-docs/core/turnkey-client-sol-send-transaction"},{"title":"storeSession()","href":"/generated-docs/core/turnkey-client-store-session"},{"title":"switchWalletAccountChain()","href":"/generated-docs/core/turnkey-client-switch-wallet-account-chain"},{"title":"updateUserEmail()","href":"/generated-docs/core/turnkey-client-update-user-email"},{"title":"updateUserName()","href":"/generated-docs/core/turnkey-client-update-user-name"},{"title":"updateUserPhoneNumber()","href":"/generated-docs/core/turnkey-client-update-user-phone-number"},{"title":"verifyAppProofs()","href":"/generated-docs/core/turnkey-client-verify-app-proofs"},{"title":"verifyOtp()","href":"/generated-docs/core/turnkey-client-verify-otp"}]},{"title":"Flutter","href":"/solutions/embedded-wallets/integration-guide/flutter"},{"title":"Swift","href":"/solutions/embedded-wallets/integration-guide/swift"},{"title":"Kotlin","href":"/solutions/embedded-wallets/integration-guide/kotlin"},{"title":"TypeScript server","sidebarTitle":"TypeScript server","href":"/solutions/company-wallets/integration-guide/javascript-server"},{"title":"Go","sidebarTitle":"Go","href":"/solutions/company-wallets/integration-guide/golang"},{"title":"Ruby","mode":"wide","href":"/solutions/company-wallets/integration-guide/ruby"},{"title":"Rust","mode":"wide","href":"/solutions/company-wallets/integration-guide/rust"},{"title":"Python","mode":"wide","href":"/solutions/company-wallets/integration-guide/python"},{"group":"Web3 libraries","pages":[{"title":"Web3 libraries","mode":"wide","sidebarTitle":"Overview","href":"/sdks/web3/overview"},{"title":"Ethers","mode":"wide","href":"/sdks/web3/ethers"},{"title":"Viem","mode":"wide","href":"/sdks/web3/viem"},{"title":"Integrating an embedded wallet with Wagmi","href":"/sdks/web3/wagmi"},{"title":"CosmJS","mode":"wide","href":"/sdks/web3/cosmjs"},{"title":"EIP 1193","mode":"wide","href":"/sdks/web3/eip-1193"},{"title":"Solana","mode":"wide","href":"/sdks/web3/solana"},{"title":"Gas station SDK","mode":"wide","href":"/sdks/web3/gas-station"},{"title":"Foundry","mode":"wide","href":"/sdks/foundry"}]},{"group":"Advanced","pages":[{"title":"Advanced","sidebarTitle":"Overview","href":"/sdks/advanced/overview"},{"title":"TurnkeyClient","href":"/sdks/advanced/turnkey-client"},{"title":"ApiKeyStamper","href":"/sdks/advanced/api-key-stamper"},{"title":"WalletStamper","href":"/sdks/advanced/wallet-stamper"},{"title":"WebauthnStamper","href":"/sdks/advanced/webauthn-stamper"},{"title":"IframeStamper","href":"/sdks/advanced/iframe-stamper"},{"title":"Client-side signing","href":"/sdks/advanced/client-side-signing"},{"title":"IndexedDbStamper","href":"/sdks/advanced/indexed-db-stamper"}]}]}]},{"tab":"Security","pages":[{"title":"Security","href":"/security/overview"}]},{"tab":"Support","pages":[{"title":"Support","href":"/support/overview"}]}]},"basePath":"","title":"Perform email auth - Turnkey","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["2b790eda92"],"chunks":["ApiExamples-Ct_Lv36y.js","utils-ChLwp8m0.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","cloneDeep-izs3Hzxb.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js"]}