enum<string>
required
Enum options:
ACTIVITY_TYPE_UPDATE_MFA_POLICYstring
required
Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
string
required
Unique identifier for a given Organization.
object
required
The parameters object containing the specific intent data for this activity.
Show details
Show details
array
An ordered list of authentication requirements. Each requirement must be satisfied sequentially to complete MFA.
Show item details
Show item details
array
required
A list of authentication methods for this MFA step. If only one method is provided, it is required. If multiple are provided, the user must satisfy ANY one of them.
Show item details
Show item details
object
required
The activity object containing type, intent, and result
Show activity details
Show activity details
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/update_mfa_policy \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_UPDATE_MFA_POLICY",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"userId": "<string>",
"mfaPolicyId": "<string>",
"mfaPolicyName": "<string>",
"condition": "<string>",
"requiredAuthenticationMethods": [
{
"any": [
{
"type": "<AUTHENTICATION_TYPE_EMAIL_OTP>",
"id": "<string>"
}
]
}
],
"order": "<number>",
"notes": "<string>"
}
}'
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().updateMfaPolicy({
userId: "<string> (The ID of the User to update the MFA Policy for.)",
mfaPolicyId: "<string> (Unique identifier for a given MFA Policy.)",
mfaPolicyName: "<string> (Human-readable name for a Policy.)",
condition: "<string> (A condition expression that evaluates to true or false, determining when this MFA policy applies.)",
requiredAuthenticationMethods: ["<string>"] // An ordered list of authentication requirements. Each requirement must be satisfied sequentially to complete MFA.,
order: 0 // The order in which this MFA policy is evaluated, starting from 0, relative to other MFA policies. Lower order values are evaluated first.,
notes: "<string> (Notes for an MFA Policy.)"
});
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_UPDATE_MFA_POLICY",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"updateMfaPolicyIntent": {
"userId": "<string>",
"mfaPolicyId": "<string>",
"mfaPolicyName": "<string>",
"condition": "<string>",
"requiredAuthenticationMethods": [
{
"any": [
{
"type": "<AUTHENTICATION_TYPE_EMAIL_OTP>",
"id": "<string>"
}
]
}
],
"order": "<number>",
"notes": "<string>"
}
},
"result": {
"updateMfaPolicyResult": {
"mfaPolicyId": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}