cvm — Cloud Virtual Machine
cvm · 2017-03-12
ImportKeyPair
POST
Import key pairs.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /cvm/ImportKeyPair path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl
curl -sS https://cvm.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cvm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: cvm.api3.convergecloud.com' \
-H 'X-TC-Action: ImportKeyPair' \
-H 'X-TC-Version: 2017-03-12' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"KeyName":"<KeyName>","PublicKey":"<PublicKey>"}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| KeyName | string | Yes | Key pair name, which can contain numbers, letters, and underscores, with a maximum length of 25 characters. |
| ProjectId | integer | Yes | The project ID to which the key pair belongs after it is created. You can obtain the project ID in the following ways: Check the project list in the Project management page. Call the `DescribeProject` API and view the `projectId` in the response. |
| PublicKey | string | Yes | Content of the public key in the key pair in the `OpenSSH RSA` format. |
| TagSpecification | TagSpecification[] | No | Tag description list. This parameter is used to bind a tag to a key pair. |
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
| Field | Type | Description |
|---|---|---|
| KeyId | string | Key pair ID |
| RequestId | string | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
Success
{
"Response": {
"KeyId": …,
"RequestId": "…"
}
}Error
{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/cvm.
Request bodyvalid JSONPOST cvm.api3.convergecloud.com · ImportKeyPair
Recorded example response — captured 2026-09-16
{
"Response": {
"KeyId": "skey-mcwiow7k",
"RequestId": "5b3b46be-93eb-07e3-4262-3fad0bcebc2b"
}
}What failure looks like
Example error responses for this action. Match on Code.
Recorded error 1
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "The specified key pair name `example-instance` is include illegal character `-`."
},
"RequestId": "4843a470-5a5c-e5a6-1b2e-66ab3ba83bab"
}
}Behaviour
The public key comment is replaced with the assigned key id.
