curl --request POST \
--url https://service.uat-keys.coincover.com/v1/partner/secure/data \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"public_key": "<string>",
"checksum": "<string>",
"data": "aSDinaTvuI8gbWludGxpZnk=",
"padding_type": "OAEP",
"metadata": {
"description": "<string>",
"content_type": "<string>",
"original_filename": "<string>"
}
}
'import requests
url = "https://service.uat-keys.coincover.com/v1/partner/secure/data"
payload = {
"public_key": "<string>",
"checksum": "<string>",
"data": "aSDinaTvuI8gbWludGxpZnk=",
"padding_type": "OAEP",
"metadata": {
"description": "<string>",
"content_type": "<string>",
"original_filename": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
public_key: '<string>',
checksum: '<string>',
data: 'aSDinaTvuI8gbWludGxpZnk=',
padding_type: 'OAEP',
metadata: {
description: '<string>',
content_type: '<string>',
original_filename: '<string>'
}
})
};
fetch('https://service.uat-keys.coincover.com/v1/partner/secure/data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://service.uat-keys.coincover.com/v1/partner/secure/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'public_key' => '<string>',
'checksum' => '<string>',
'data' => 'aSDinaTvuI8gbWludGxpZnk=',
'padding_type' => 'OAEP',
'metadata' => [
'description' => '<string>',
'content_type' => '<string>',
'original_filename' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://service.uat-keys.coincover.com/v1/partner/secure/data"
payload := strings.NewReader("{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://service.uat-keys.coincover.com/v1/partner/secure/data")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.uat-keys.coincover.com/v1/partner/secure/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"backup_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"checksum": "<string>",
"data_size": 123,
"backup_type": "data",
"metadata": {}
}{
"message": "<string>",
"error": "<string>"
}{
"message": "<string>",
"error": "<string>"
}{
"message": "<string>",
"error": "<string>"
}Partner - Store secure encrypted data
Stores base64-encoded encrypted data with checksum validation and padding type specification. The data is verified using the enclave before storage. Partner-only endpoint. The checksum is required and must be the SHA-256 of the plaintext.
curl --request POST \
--url https://service.uat-keys.coincover.com/v1/partner/secure/data \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"public_key": "<string>",
"checksum": "<string>",
"data": "aSDinaTvuI8gbWludGxpZnk=",
"padding_type": "OAEP",
"metadata": {
"description": "<string>",
"content_type": "<string>",
"original_filename": "<string>"
}
}
'import requests
url = "https://service.uat-keys.coincover.com/v1/partner/secure/data"
payload = {
"public_key": "<string>",
"checksum": "<string>",
"data": "aSDinaTvuI8gbWludGxpZnk=",
"padding_type": "OAEP",
"metadata": {
"description": "<string>",
"content_type": "<string>",
"original_filename": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
public_key: '<string>',
checksum: '<string>',
data: 'aSDinaTvuI8gbWludGxpZnk=',
padding_type: 'OAEP',
metadata: {
description: '<string>',
content_type: '<string>',
original_filename: '<string>'
}
})
};
fetch('https://service.uat-keys.coincover.com/v1/partner/secure/data', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://service.uat-keys.coincover.com/v1/partner/secure/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'public_key' => '<string>',
'checksum' => '<string>',
'data' => 'aSDinaTvuI8gbWludGxpZnk=',
'padding_type' => 'OAEP',
'metadata' => [
'description' => '<string>',
'content_type' => '<string>',
'original_filename' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://service.uat-keys.coincover.com/v1/partner/secure/data"
payload := strings.NewReader("{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://service.uat-keys.coincover.com/v1/partner/secure/data")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://service.uat-keys.coincover.com/v1/partner/secure/data")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"public_key\": \"<string>\",\n \"checksum\": \"<string>\",\n \"data\": \"aSDinaTvuI8gbWludGxpZnk=\",\n \"padding_type\": \"OAEP\",\n \"metadata\": {\n \"description\": \"<string>\",\n \"content_type\": \"<string>\",\n \"original_filename\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"backup_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"checksum": "<string>",
"data_size": 123,
"backup_type": "data",
"metadata": {}
}{
"message": "<string>",
"error": "<string>"
}{
"message": "<string>",
"error": "<string>"
}{
"message": "<string>",
"error": "<string>"
}Authorizations
Bearer token authentication. Can be either a JWT token or API key.
Headers
Bearer token for authentication. Can be either a JWT token or API key.
Body
Secure data and metadata
Public key in hex format used to encrypt the data
32 - 4096^[0-9a-fA-F]+$SHA-256 checksum of the original plaintext for verification (required for partner endpoint)
^[a-fA-F0-9]{64}$Base64-encoded encrypted data
Padding type used for encryption
OAEP Optional metadata about the data
Show child attributes
Show child attributes
Response
Secure data successfully stored
Unique identifier for the stored backup
SHA-256 checksum that was verified
Size of the encrypted data in bytes
Type of backup (always 'data' for secure-data endpoint)
data Combined metadata including original metadata