Add Second Factor (2FA)​
Add a new second factor (2FA) to the login settings of the organization. Users will have the possibility to authenticate with the configured factor afterward. Authentication factors are used as an additional factor to add more security to your users (e.g. Authentication App, FingerPrint, Windows Hello, etc). Per definition, it is called a second factor as it is used as an additional authentication after a password. In the UI we generalize this as multi-factor.
Header Parameters
The default is always the organization of the requesting user. If you like to get/set a result of another organization include the header. Make sure the user has permission to access the requested data.
Request Body required
Possible values: [SECOND_FACTOR_TYPE_UNSPECIFIED
, SECOND_FACTOR_TYPE_OTP
, SECOND_FACTOR_TYPE_U2F
, SECOND_FACTOR_TYPE_OTP_EMAIL
, SECOND_FACTOR_TYPE_OTP_SMS
]
Default value: SECOND_FACTOR_TYPE_UNSPECIFIED
Request Body required
Possible values: [SECOND_FACTOR_TYPE_UNSPECIFIED
, SECOND_FACTOR_TYPE_OTP
, SECOND_FACTOR_TYPE_U2F
, SECOND_FACTOR_TYPE_OTP_EMAIL
, SECOND_FACTOR_TYPE_OTP_SMS
]
Default value: SECOND_FACTOR_TYPE_UNSPECIFIED
Request Body required
Possible values: [SECOND_FACTOR_TYPE_UNSPECIFIED
, SECOND_FACTOR_TYPE_OTP
, SECOND_FACTOR_TYPE_U2F
, SECOND_FACTOR_TYPE_OTP_EMAIL
, SECOND_FACTOR_TYPE_OTP_SMS
]
Default value: SECOND_FACTOR_TYPE_UNSPECIFIED
- 200
- default
A successful response.
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.224Z",
"changeDate": "2024-03-27T10:05:51.224Z",
"resourceOwner": "69629023906488334"
}
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.224Z",
"changeDate": "2024-03-27T10:05:51.224Z",
"resourceOwner": "69629023906488334"
}
}
Schema
details object
{
"details": {
"sequence": "2",
"creationDate": "2024-03-27T10:05:51.224Z",
"changeDate": "2024-03-27T10:05:51.224Z",
"resourceOwner": "69629023906488334"
}
}
An unexpected error response.
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
Schema
details object[]
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string"
}
]
}
POST /policies/login/second_factors
Authorization
name: OAuth2type: oauth2scopes:openid,urn:zitadel:iam:org:project:id:zitadel:aud
flows: { "authorizationCode": { "authorizationUrl": "$CUSTOM-DOMAIN/oauth/v2/authorize", "tokenUrl": "$CUSTOM-DOMAIN/oauth/v2/token", "scopes": { "openid": "openid", "urn:zitadel:iam:org:project:id:zitadel:aud": "urn:zitadel:iam:org:project:id:zitadel:aud" } } }
Request
Request
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'
curl -L -X POST 'https://$CUSTOM-DOMAIN/management/v1/policies/login/second_factors' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"type": "SECOND_FACTOR_TYPE_OTP"
}'