Updated on 2025-09-15 GMT+08:00

Accessing the page for importing private keys

Function

Import the private key to the specified key pair.

Calling Method

For details, see Calling APIs.

URI

POST /v3/{project_id}/keypairs/private-key/import

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

Can be obtained by calling the IAM API for obtaining the user token (the value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

keypair

Yes

ImportPrivateKeyKeypairBean object

Information about the key pair to be imported

Table 4 ImportPrivateKeyKeypairBean

Parameter

Mandatory

Type

Description

name

Yes

String

SSH key pair name. - The name of a key pair must be unique. - The key pair name can contain letters, digits, underscores (_), and hyphens (-) and cannot exceed 64 bytes.

user_id

No

String

User that an SSH key pair belongs to

key_protection

Yes

ImportPrivateKeyProtection object

Private key hosting and protection for the SSH key pair.

Table 5 ImportPrivateKeyProtection

Parameter

Mandatory

Type

Description

private_key

Yes

String

Private key of the imported SSH key pair.

encryption

Yes

Encryption object

How a private key is encrypted and stored.

Table 6 Encryption

Parameter

Mandatory

Type

Description

type

Yes

String

Value options:

- default: The default encryption mode. Applicable to sites where KMS is not deployed.

- kms: KMS encryption mode.

If the KMS service is not available at the site, set this parameter to default.

kms_key_name

No

String

KMS key name.

  • If type is set to kms, you must enter the KMS key name or ID.

kms_key_id

No

String

KMS key ID.

  • If type is set to kms, you must enter the KMS key name or ID.

Response Parameters

Status code: 200

Table 7 Response body parameters

Parameter

Type

Description

keypair

ImportPrivateKeyKeypairBean object

One

Table 8 ImportPrivateKeyKeypairBean

Parameter

Type

Description

name

String

SSH key pair name. - The name of a key pair must be unique. - The key pair name can contain letters, digits, underscores (_), and hyphens (-) and cannot exceed 64 bytes.

user_id

String

User that an SSH key pair belongs to

key_protection

ImportPrivateKeyProtection object

Private key hosting and protection for the SSH key pair.

Table 9 ImportPrivateKeyProtection

Parameter

Type

Description

private_key

String

Private key of the imported SSH key pair.

encryption

Encryption object

How a private key is encrypted and stored.

Table 10 Encryption

Parameter

Type

Description

type

String

Value options:

- default: The default encryption mode. Applicable to sites where KMS is not deployed.

- kms: KMS encryption mode.

If the KMS service is not available at the site, set this parameter to default.

kms_key_name

String

KMS key name.

  • If type is set to kms, you must enter the KMS key name or ID.

kms_key_id

String

KMS key ID.

  • If type is set to kms, you must enter the KMS key name or ID.

Status code: 400

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error Codes

error_msg

String

Description

Example Requests

{
  "keypair" : {
    "name" : "demo2",
    "key_protection" : {
      "private_key" : "-----BEGIN RSA PRIVATE KEY-----...",
      "encryption" : {
        "type" : "kms",
        "kms_key_name" : "kps/default"
      }
    }
  }
}

Example Responses

Status code: 200

Request succeeded.

{
  "keypair" : {
    "name" : "demo2"
  }
}

Status code: 400

Error response

{
  "error_code" : "KPS.XXX",
  "error_msg" : "XXX"
}

Status Codes

Status Code

Description

200

Request succeeded.

400

Error response

Error Codes

See Error Codes.