Skip to main content
POST
/
v1
/
backup
/
store
Store encrypted backup data
curl --request POST \
  --url https://orchestrator.control.coincover.com/v1/backup/store \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data @- <<EOF
{
  "user_identifier": "john.doe@example.com",
  "verification_id": "a7b8c9d0-e1f2-4345-a678-901234567890",
  "public_key": "30820122300d06092a86486f70d...",
  "backup": [
    {
      "item_key": "seed_phrase",
      "item_value": "SGVsbG8gV29ybGQhIFRoaXMgaXMgbXk...",
      "item_checksum": "e3b0c44298fc1c149afbf4c8996f..."
    }
  ],
  "metadata": {
    "description": "User's private seed phrase",
    "content_type": "text/plain",
    "original_filename": "seed.txt"
  }
}
EOF
{
  "backup_type": "data",
  "metadata": {
    "description": "Test backup with 3 items",
    "content_type": "application/json",
    "original_filename": "backup.json",
    "api_key_entity_type": "PARTNER",
    "stored_at": "2025-11-30T20:15:20.123Z",
    "backup_items_count": 3
  },
  "backup": [
    {
      "item_key": "seed_phrase",
      "backup_id": "550e8400-e29b-41d4-a716-446655440000",
      "checksum": "c557eec878dfd852ba3f88087c4f350f09c55537ab5e549c3cd14320ec3cef38",
      "data_size": 1024
    }
  ]
}

Authorizations

X-API-Key
string
header
required

API key for authentication and authorization

Body

application/json
user_identifier
string
required

User identifier (REQUIRED)

Example:

"john.doe@example.com"

verification_id
string
required

Verification ID from a previous verification. (REQUIRED) Must exist in identity_verifications table and belong to the user associated with the organisation.

Example:

"a7b8c9d0-e1f2-4345-a678-901234567890"

public_key
string
required

Public key in hexadecimal format. (REQUIRED) 32-4096 characters long.

Required string length: 32 - 4096
Pattern: ^[0-9a-fA-F]+$
Example:

"30820122300d06092a86486f70d..."

backup
object[]
required

Array of backup items to store. (REQUIRED) Allows multiple pieces of data to be backed up in a single request. Limited to a maximum of 3 items.

Required array length: 1 - 3 elements
metadata
object

Optional metadata associated with the backup. Allows custom key-value pairs.

Response

200 - application/json

Backup stored successfully

backup_type
enum<string>
required

Type of backup. Always present. Value is always "data".

Available options:
data
Example:

"data"

metadata
object
required

Metadata associated with the backup (echoed from request + enhanced with system metadata such as API key info, stored_at timestamp, and backup_items_count). Always present.

backup
object[]
required

Array of stored backup items. Each item contains the item_key, backup_id, checksum, and data_size.

Minimum array length: 1