Get the keys ZebraTruth signs endpoint requests with
curl --request GET \
--url https://api.zebratruth.ai/v1/media/provenance/signing-keysimport requests
url = "https://api.zebratruth.ai/v1/media/provenance/signing-keys"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.zebratruth.ai/v1/media/provenance/signing-keys', 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://api.zebratruth.ai/v1/media/provenance/signing-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zebratruth.ai/v1/media/provenance/signing-keys"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zebratruth.ai/v1/media/provenance/signing-keys")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zebratruth.ai/v1/media/provenance/signing-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"keys": [
{
"keyId": "<string>",
"algorithm": "ed25519",
"publicKeyPem": "<string>"
}
],
"verification": {
"signatureVersion": "v1",
"payloadTemplate": "{timestamp}.{signerId}.{body}",
"headers": {
"signature": "x-zebratruth-signature",
"timestamp": "x-zebratruth-timestamp",
"signerId": "x-zebratruth-signer-id",
"keyId": "x-zebratruth-key-id"
},
"steps": [
"<string>"
]
}
}{
"statusCode": 123,
"message": "<string>",
"error": true,
"url": "<string>",
"statusMessage": "<string>",
"data": {
"code": "review_scope_not_enabled"
}
}Provenance
Get the keys ZebraTruth signs endpoint requests with
Public, unauthenticated. Returns the Ed25519 public keys and the verification recipe your signing endpoint must apply to every request from ZebraTruth before signing. Fetch this before registering a signer.
GET
/
media
/
provenance
/
signing-keys
Get the keys ZebraTruth signs endpoint requests with
curl --request GET \
--url https://api.zebratruth.ai/v1/media/provenance/signing-keysimport requests
url = "https://api.zebratruth.ai/v1/media/provenance/signing-keys"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.zebratruth.ai/v1/media/provenance/signing-keys', 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://api.zebratruth.ai/v1/media/provenance/signing-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zebratruth.ai/v1/media/provenance/signing-keys"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zebratruth.ai/v1/media/provenance/signing-keys")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zebratruth.ai/v1/media/provenance/signing-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"keys": [
{
"keyId": "<string>",
"algorithm": "ed25519",
"publicKeyPem": "<string>"
}
],
"verification": {
"signatureVersion": "v1",
"payloadTemplate": "{timestamp}.{signerId}.{body}",
"headers": {
"signature": "x-zebratruth-signature",
"timestamp": "x-zebratruth-timestamp",
"signerId": "x-zebratruth-signer-id",
"keyId": "x-zebratruth-key-id"
},
"steps": [
"<string>"
]
}
}{
"statusCode": 123,
"message": "<string>",
"error": true,
"url": "<string>",
"statusMessage": "<string>",
"data": {
"code": "review_scope_not_enabled"
}
}