Skip to main content
POST
/
v1
/
keys
Assign a new key
curl --request POST \
  --url https://service.uat-keys.coincover.com/v1/keys \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "user_identifier": "<string>",
  "key_environment": "HOT",
  "organisation": {
    "customer_id": "<string>",
    "customer_name": "<string>"
  },
  "package": {
    "package_id": "<string>",
    "package_name": "<string>"
  }
}
'
{
  "key_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "public_key": "<string>",
  "signature": "<string>",
  "customer_id": "<string>",
  "package_id": "<string>",
  "metadata": {
    "customer_name": "<string>",
    "package_name": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer token authentication. Can be either a JWT token or API key.

Headers

Authorization
string
required

Bearer token for authentication. Can be either a JWT token or API key.

Body

application/json

Key assignment details

user_identifier
string
required

Unique identifier of the user

key_type
enum<string>
required

Type of cryptographic key to generate. rsa4096 for encrypting recovery material; secp256k1 or ed25519 for a blockchain backup signer.

Available options:
rsa4096,
secp256k1,
ed25519
key_environment
enum<string>
default:HOT

Key environment specification - HOT (online generation) or COLD (offline generation)

Available options:
HOT,
COLD
organisation
object

Optional organisation metadata

package
object

Optional package metadata

Response

Key successfully assigned

key_id
string<uuid>

Unique identifier for the key

public_key
string

Public key in hex format. For rsa4096 this is the encryption public key; for secp256k1 or ed25519 this is the compressed public key.

signature
string

Signature of the key in base64 format, produced by the generating enclave. Verify against your CoinCover verification key before relying on the key.

customer_id
string | null

External customer identifier (e.g. organisation customer ID)

package_id
string | null

External package identifier (e.g. workspace/package ID)

metadata
object

Optional metadata describing the associated organisation and package