POST
/
public
/
v1
/
submit
/
email_auth
Authorizations
Body
Enum options:
ACTIVITY_TYPE_EMAIL_AUTH_V2
Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
Unique identifier for a given Organization.
The parameters object containing the specific intent data for this activity.
Show details
Show details
Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.
Optional human-readable name for an API Key. If none provided, default to Email Auth - <Timestamp>
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 field
Show details
Show details
A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.
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
.JSON object containing key/value pairs to be used with custom templates.
Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’
Response
A successful response returns the following fields:The activity object containing type, intent, and result
Show activity details
Show activity details
The intent of the activity
Show intent details
Show intent details
The emailAuthIntentV2 object
Show emailAuthIntentV2 details
Show emailAuthIntentV2 details
Client-side public key generated by the user, to which the email auth bundle (credentials) will be encrypted.
Optional human-readable name for an API Key. If none provided, default to Email Auth - <Timestamp>
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 field
Show emailCustomization details
Show emailCustomization details
A URL pointing to a logo in PNG format. Note this logo will be resized to fit into 340px x 124px.
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
.JSON object containing key/value pairs to be used with custom templates.
Invalidate all other previously generated Email Auth API keys
Optional custom email address from which to send the email
Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to ‘Notifications’
The result of the activity
Show result details
Show result details
A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
Copy
Ask AI
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/email_auth \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_EMAIL_AUTH_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"email": "<string>",
"targetPublicKey": "<string>",
"apiKeyName": "<string>",
"expirationSeconds": "<string>",
"emailCustomization": {
"appName": "<string>",
"logoUrl": "<string>",
"magicLinkTemplate": "<string>",
"templateVariables": "<string>",
"templateId": "<string>"
},
"invalidateExisting": "<boolean>",
"sendFromEmailAddress": "<string>",
"sendFromEmailSenderName": "<string>",
"replyToEmailAddress": "<string>"
}
}'
Copy
Ask AI
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_EMAIL_AUTH_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"emailAuthIntentV2": {
"email": "<string>",
"targetPublicKey": "<string>",
"apiKeyName": "<string>",
"expirationSeconds": "<string>",
"emailCustomization": {
"appName": "<string>",
"logoUrl": "<string>",
"magicLinkTemplate": "<string>",
"templateVariables": "<string>",
"templateId": "<string>"
},
"invalidateExisting": "<boolean>",
"sendFromEmailAddress": "<string>",
"sendFromEmailSenderName": "<string>",
"replyToEmailAddress": "<string>"
}
},
"result": {
"emailAuthResult": {
"userId": "<string>",
"apiKeyId": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}