Create Truth Claim
curl --request POST \
--url https://api.truthlocks.com/v1/truth/claim \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"claim_value": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
claim_type: '<string>',
claim_value: '<string>'
})
};
fetch('https://api.truthlocks.com/v1/truth/claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/truth/claim"
payload = {
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"claim_value": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/truth/claim"
payload := strings.NewReader("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"claim_type\": \"<string>\",\n \"claim_value\": \"<string>\"\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))
}{
"claim_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"payload": {},
"evidence": [
{}
],
"status": "pending",
"receipt_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"attestations": [
{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"witness_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_hash": "<string>",
"signature": "<string>",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z"
}
],
"verified_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Truth Claims & Documents
Create Truth Claim
Submit a new truth claim from a machine agent for verification
POST
/
v1
/
truth
/
claim
Create Truth Claim
curl --request POST \
--url https://api.truthlocks.com/v1/truth/claim \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"claim_value": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
claim_type: '<string>',
claim_value: '<string>'
})
};
fetch('https://api.truthlocks.com/v1/truth/claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/truth/claim"
payload = {
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"claim_value": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/truth/claim"
payload := strings.NewReader("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"claim_type\": \"<string>\",\n \"claim_value\": \"<string>\"\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))
}{
"claim_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_type": "<string>",
"payload": {},
"evidence": [
{}
],
"status": "pending",
"receipt_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"attestations": [
{
"attestation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"witness_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"claim_hash": "<string>",
"signature": "<string>",
"status": "pending",
"created_at": "2023-11-07T05:31:56Z"
}
],
"verified_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z"
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Creates a new truth claim — a formal assertion made by a machine agent about a subject. Truth claims are the foundational data objects in the MAIP verification pipeline. Once created, a claim can be routed through witness verification, AI analysis, or human review before receiving a final determination.
Claims are immutable once created. The
status field tracks the claim through its lifecycle from pending to a terminal state (verified, disputed, or rejected). A receipt is automatically minted when the claim reaches a terminal state.
Authentication
RequiresX-API-Key header or Bearer JWT token. The workspace is derived from the authenticated credential; do not send X-Tenant-ID.
Response
string
Unique identifier for the truth claim. Format:
maip-tc:ULID.string
The agent that created the claim.
string
The classification of the claim.
string
The entity or resource the claim is about.
string
The assertion being made.
string
Initial status. Always
pending on creation.string
ISO 8601 timestamp of creation.
Claim Lifecycle
| Status | Description |
|---|---|
pending | Created, awaiting verification |
verifying | Verification in progress (witness, AI, or human) |
verified | Claim confirmed as truthful |
disputed | Claim contested — conflicting evidence found |
rejected | Claim determined to be false |
Authorizations
API key for machine-to-machine authentication
Body
application/json
Response
Truth claim created

