Deliver Credential to Consumer
curl --request POST \
--url https://api.truthlocks.com/v1/consumer/inbox/deliver \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_email": "jsmith@example.com"
}
'import requests
url = "https://api.truthlocks.com/v1/consumer/inbox/deliver"
payload = {
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_email": "jsmith@example.com"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
attestation_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
recipient_email: 'jsmith@example.com'
})
};
fetch('https://api.truthlocks.com/v1/consumer/inbox/deliver', 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/consumer/inbox/deliver",
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([
'attestation_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'recipient_email' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/consumer/inbox/deliver"
payload := strings.NewReader("{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.truthlocks.com/v1/consumer/inbox/deliver")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/consumer/inbox/deliver")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"delivery_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>"
}Consumer (B2C)
Deliver to Consumer Inbox
Delivers an attestation to a consumer’s inbox via email address. Requires API key (issuer-facing).
POST
/
v1
/
consumer
/
inbox
/
deliver
Deliver Credential to Consumer
curl --request POST \
--url https://api.truthlocks.com/v1/consumer/inbox/deliver \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_email": "jsmith@example.com"
}
'import requests
url = "https://api.truthlocks.com/v1/consumer/inbox/deliver"
payload = {
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recipient_email": "jsmith@example.com"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
attestation_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
recipient_email: 'jsmith@example.com'
})
};
fetch('https://api.truthlocks.com/v1/consumer/inbox/deliver', 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/consumer/inbox/deliver",
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([
'attestation_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'recipient_email' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/consumer/inbox/deliver"
payload := strings.NewReader("{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.truthlocks.com/v1/consumer/inbox/deliver")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/consumer/inbox/deliver")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"attestation_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"recipient_email\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"delivery_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>"
}Deliver an attestation to a consumer’s inbox by email. If the consumer exists, the credential is delivered immediately. If the consumer hasn’t signed up yet, the delivery is stored as pending and automatically claimed when they register. Requires issuer (tenant console) authentication.
Parameters
string
required
UUID of the attestation to deliver
string
required
Consumer’s email address
object
Non-sensitive metadata to display in the inbox (e.g. schema name, issuer name)
Responses
⌘I

