Updated on 2025-11-06 GMT+08:00

Creating a Virtual MFA Device

Function

This API is used to create a virtual MFA device.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

iam:mfa:createVirtualMFADeviceV5

Write

mfa *

-

-

-

URI

POST /v5/virtual-mfa-devices

Request Parameters

Table 1 Request body parameters

Parameter

Mandatory

Type

Description

virtual_mfa_device_name

Yes

String

Virtual MFA device name. The value contains 1 to 64 characters, including only letters, digits, underscores (_), and hyphens (-).

Minimum: 1

Maximum: 64

user_id

Yes

String

IAM user ID.

Response Parameters

Status code: 201

Table 2 Response body parameters

Parameter

Type

Description

virtual_mfa_device

VirtualMfaDevice object

Virtual MFA device.

Table 3 VirtualMfaDevice

Parameter

Type

Description

serial_number

String

Serial number of a virtual MFA device.

base32_string_seed

String

Key information, which a third-party system can use to generate an image verification code.

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 403

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

request_id

String

Request ID.

encoded_authorization_message

String

Encrypted authentication failure information, which can be decrypted using the STS5 decryption API.

Status code: 404

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

request_id

String

Request ID.

Status code: 409

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

request_id

String

Request ID.

Example Requests

Creating a virtual MFA device name for IAM user xxx

POST https://{endpoint}/v5/virtual-mfa-devices

{
  "virtual_mfa_device_name" : "name",
  "user_id" : "xxx"
}

Example Responses

Status code: 201

Successful

{
  "virtual_mfa_device" : {
    "serial_number" : "iam::accountid:mfa:name",
    "base32_string_seed" : "seed"
  }
}

Status Codes

Status Code

Description

201

Successful

400

Bad request

403

Forbidden

404

Not found

409

Conflict

Error Codes

See Error Codes.