Enum options: ACTIVITY_TYPE_OTP_LOGIN_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.
parameters.clientSignature
Enable to have your activity generate and return App Proofs, enabling verifiability.
A successful response returns the following fields:
The activity object containing type, intent, and result
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/otp_login \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_OTP_LOGIN_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"verificationToken": "<string>",
"publicKey": "<string>",
"clientSignature": {
"publicKey": "<string>",
"scheme": "<CLIENT_SIGNATURE_SCHEME_API_P256>",
"message": "<string>",
"signature": "<string>"
},
"expirationSeconds": "<string>",
"invalidateExisting": "<boolean>"
}
}'
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_OTP_LOGIN_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"otpLoginIntentV2": {
"verificationToken": "<string>",
"publicKey": "<string>",
"clientSignature": {
"publicKey": "<string>",
"scheme": "<CLIENT_SIGNATURE_SCHEME_API_P256>",
"message": "<string>",
"signature": "<string>"
},
"expirationSeconds": "<string>",
"invalidateExisting": "<boolean>"
}
},
"result": {
"otpLoginResult": {
"session": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}