Get Proof Page Metadata
curl --request GET \
--url https://api.truthlocks.com/v1/public/proof/{attestation_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.truthlocks.com/v1/public/proof/{attestation_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.truthlocks.com/v1/public/proof/{attestation_id}', 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.truthlocks.com/v1/public/proof/{attestation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.truthlocks.com/v1/public/proof/{attestation_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.truthlocks.com/v1/public/proof/{attestation_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/public/proof/{attestation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"content_type": "<string>",
"file_name": "<string>",
"file_size": 123,
"content_hash": "<string>",
"category": "<string>",
"protected_at": "2023-11-07T05:31:56Z"
}Consumer (B2C)
Get Proof Page Metadata
Returns metadata for a consumer content protection, used to render public proof pages. No authentication required.
GET
/
v1
/
public
/
proof
/
{attestation_id}
Get Proof Page Metadata
curl --request GET \
--url https://api.truthlocks.com/v1/public/proof/{attestation_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.truthlocks.com/v1/public/proof/{attestation_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.truthlocks.com/v1/public/proof/{attestation_id}', 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.truthlocks.com/v1/public/proof/{attestation_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.truthlocks.com/v1/public/proof/{attestation_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.truthlocks.com/v1/public/proof/{attestation_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/public/proof/{attestation_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"content_type": "<string>",
"file_name": "<string>",
"file_size": 123,
"content_hash": "<string>",
"category": "<string>",
"protected_at": "2023-11-07T05:31:56Z"
}Returns metadata for a consumer content protection record. Use this endpoint to render proof pages that show what was protected, when, and by whom — without requiring authentication.
This is a public endpoint. No API key or bearer token is needed. It is designed for proof page rendering and link previews (e.g. Open Graph metadata for shared proof URLs).
Parameters
uuid
required
The attestation ID linked to the consumer protection. This is the same ID returned in the
attestation_id field of the Protect Content response.Responses
Authorizations
API key for machine-to-machine authentication
Path Parameters
The attestation ID linked to the consumer protection.
Response
Proof page metadata
MIME type of the protected content.
File size in bytes.
SHA-256 hash of the protected content.
Timestamp when the content was protected (RFC 3339).

