TerraLink API Documentation
Trust infrastructure for AI. Issue certificates for 6 types of RNA (Registered & Notarized & Attestable) Objects.
Fast Integration
3-line cURL command to issue your first certificate
Production Ready
Enterprise-grade trust infrastructure
6 Object Types
HUMAN, AI, CONTENT, SERVICE, INFRASTRUCTURE, HARDWARE
https://terralink-api.agent-genome.comOpenAPI Specification
Full OpenAPI 3.0 specification for all endpoints. Import into Postman, Swagger UI, or code generators.
TerraLink API v1.0.0
OpenAPI 3.0 Specification
https://terralink-api.agent-genome.com/api/openapi.jsonopenapi: 3.0.0
info:
title: TerraLink API
version: 1.0.0
description: Trust infrastructure for AI - Issue certificates for RNA Objects
servers:
- url: https://terralink-api.agent-genome.com
paths:
/v1/rna/enroll: # Unified enrollment (NEW)
/v1/voice/enroll: # Voice biometrics
/v1/voice/verify: # Voice verification
/v1/agents: # Agent CRUD
/v1/agents/{id}/drift: # Drift analytics
/v1/certificates/*: # Certificate operations
/v1/liveness/*: # Liveness system
/v1/unified/verify: # Unified verification
/v1/witness: # Physics anchoring
/v1/organizations/*: # Org stats & badges📥 Import to Postman
Copy the openapi.json URL and import as "OpenAPI 3.0" collection
🔧 Generate SDK
Use openapi-generator to create TypeScript, Python, or Go clients
Security Model: Physical Zero-Trust
TerraLink introduces physically-bound certificates—digital identities that only work when the physical hardware device is present and active. This eliminates the entire attack surface of traditional certificate theft.
The Breakthrough
Traditional certificates = File on disk (anyone with the file = can use it)
TerraLink certificates = File + Physical Device Present (file alone = USELESS)
Traditional Certificate Theft (Broken Model)
Server Breach
Attackers copy certificate files from compromised servers
Leaked Backup
Certificates extracted from backup dumps
Insider Threat
Employees copy certificates to USB drives
Memory Extraction
Certificates dumped from running process memory
Phishing Attack
Admin tricked into uploading certificate files
Supply Chain
Compromised dependency steals certificates
Hardware-Bound Protection
Uncopyable
Certificate only works with that specific PUF fingerprint
Unfakeable
Hardware fingerprint cannot be synthesized
Continuous Liveness
Device must be plugged in (continuous heartbeat)
Instant Revocation
Unplug device → cert dies immediately (no CRL needed)
Compromise Detection
Trajectory proof validates hardware integrity <5s
Physical Security
Attacker needs physical possession to use identity
Attack Surface Comparison
| Threat | Traditional Cert | Hardware-Bound Cert |
|---|---|---|
| Certificate file stolen | ❌ Compromised | ✅ Useless without device |
| Server hacked | ❌ Attacker uses cert | ✅ Device unplugged = invalid |
| Insider threat | ❌ Employee copies cert | ✅ Can't use without physical key |
| Supply chain attack | ❌ Malware steals cert | ✅ Hardware tamper-evident |
| CA compromise | ❌ Fake certs issued | ✅ PUF can't be forged |
| Memory dump | ❌ Cert extracted | ✅ Needs real-time device presence |
Real-World Impact
🏦 Banking & Finance
"Even if hackers breach our servers, they can't sign transactions without physically stealing the TerraLink Key from our vault."
Perfect for: Wire transfer approval, trading desk operations, vault access
🏥 Healthcare
"Patient records are hardware-bound. If a laptop with certificates is stolen, the certs are useless."
Perfect for: Medical record access, prescription signing, HIPAA compliance
🏛️ Government
"Classified document signing requires physical possession of the hardware key. No remote compromise possible."
Perfect for: Document classification, diplomatic communications, defense operations
🏢 Enterprise
"Our CI/CD pipeline won't deploy unless the hardware attestation device is present in the secure room."
Perfect for: Code signing, deployment approvals, infrastructure access
How It Works
Every hardware key contains a Hardware PUF (Physically Unclonable Function)—a unique fingerprint derived from manufacturing variations at the silicon level.
// Traditional model
const canUseIdentity = hasCertificateFile();
// TerraLink model
const canUseIdentity = hasCertificateFile() &&
physicalDevicePluggedIn() &&
heartbeatActive() &&
pufAttestationValid() &&
trajectoryProofClean();Quick Start
Issue your first certificate in under 60 seconds.
Step 1: Register an Object
curl -X POST https://terralink-api.agent-genome.com/v1/certificates/register-agent \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"agentId": "my-ai-agent",
"name": "My AI Agent",
"type": "AI",
"organizationId": "demo-org"
}'Step 2: Issue an Identity Certificate
curl -X POST https://terralink-api.agent-genome.com/v1/certificates/my-ai-agent/issue \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"certificateType": "IDENTITY",
"validityYears": 1
}'Step 3: Get Your Trust Badge
<!-- Embed in your website -->
<img src="https://terralink-api.agent-genome.com/v1/certificates/my-ai-agent/badge.svg" alt="TerraLink Trust Badge" />Authentication
All API requests require an API key passed via the X-API-Key header.
tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447caRequest Format
curl https://terralink-api.agent-genome.com/v1/certificates?organizationId=demo-org \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca"Error Responses
// Missing API Key
{
"statusCode": 401,
"message": "API key is required",
"error": "Unauthorized"
}
// Invalid API Key
{
"statusCode": 403,
"message": "Invalid API key",
"error": "Forbidden"
}Unified RNA EnrollmentRECOMMENDED
Single atomic API call to enroll any RNA object. Replaces 5-7 separate API calls with one transaction.
/v1/rna/enrollAtomic enrollment for any RNA object type
Request Body
{
"objectId": "my-ai-agent",
"objectType": "AI", // HUMAN | AI | CONTENT | SERVICE | INFRASTRUCTURE | HARDWARE
"name": "My AI Agent",
"organizationId": "demo-org",
"description": "Customer support chatbot",
"capabilities": {
"identity": true,
"behavioral": {
"enabled": true,
"driftTolerance": 15, // ±15% drift allowed
"observationPeriod": 30 // Days
},
"liveness": true, // Heartbeat attestation
"timestampAttestation": true, // Physics-anchored proofs
"trustBadge": true
}
}Response (201 Created)
{
"rnaObject": {
"id": "clz1234567890",
"objectId": "my-ai-agent",
"objectType": "AI",
"name": "My AI Agent",
"status": "ENROLLED",
"enrolledAt": "2025-12-29T10:00:00Z"
},
"certificates": [
{
"type": "IDENTITY",
"serialNumber": "TL-ID-2025-ABC123",
"status": "ACTIVE",
"validUntil": "2026-12-29"
},
{
"type": "BEHAVIORAL",
"serialNumber": "TL-BH-2025-DEF456",
"status": "ACTIVE",
"validUntil": "2026-01-28",
"driftTolerance": 15
}
],
"attestation": {
"attestationId": "att_xyz789",
"status": "ALIVE",
"heartbeatUrl": "https://terralink-api.agent-genome.com/v1/liveness/heartbeat",
"heartbeatInterval": "60 seconds"
},
"attestationProof": {
"entropyValue": standard,
"attestationFingerprint": "0xabcdef...",
"anchoredAt": "2025-12-29T10:00:00Z"
},
"trustBadge": {
"badgeSvgUrl": "https://terralink-api.agent-genome.com/v1/certificates/my-ai-agent/badge.svg",
"publicUrl": "https://terralink.agent-genome.com/verify/my-ai-agent",
"embedCode": "<a href=...><img src=... /></a>"
}
}RNA Objects
TerraLink certifies 6 types of objects. 3 are available now, 3 require hardware integration (Q1 2026).
HUMAN
Voice biometric identity
- •KYC verification
- •Call center auth
- •Voice enrollment
AI
AI agents with behavioral drift detection
- •Agent accountability
- •Behavioral monitoring
- •Drift detection
CONTENT
Content provenance & integrity
- •Document verification
- •Media tracking
- •Tamper detection
SERVICE
API keys, OAuth tokens
- •API key management
- •Token rotation
- •Credential tracking
INFRASTRUCTURE
Servers, containers, databases
- •Server attestation
- •Container tracking
- •Database integrity
HARDWARE
PUF-based physical chips
- •Chip authentication
- •Clone prevention
- •Physical security
Voice Biometrics
Enroll and verify human identities using voice biometrics with anti-deepfake detection (RawNet3).
/v1/voice/enrollEnroll a user's voice for future verification
Request (multipart/form-data)
curl -X POST https://terralink-api.agent-genome.com/v1/voice/enroll \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-F "name=John Doe" \
-F "externalId=user_12345" \
-F "audio=@voice_sample.wav"Response
{
"success": true,
"enrollmentId": "enr_abc123",
"quality": {
"snr_db": 28.5,
"duration_sec": 5.2,
"sample_rate": 16000
},
"embedding": {
"dimension": 512,
"version": "wav2vec2-base"
}
}/v1/challengesGet a challenge phrase for voice verification
{
"challenge_nonce": "ch_xyz789",
"phrase": "The quick brown fox jumps over the lazy dog",
"ttl_seconds": 300,
"entropy_commitment": "0x1a2b3c4d..."
}/v1/voice/verifyVerify a user's voice against their enrollment
Response
{
"match": true,
"confidence": 0.94,
"processing_time_ms": 87,
"anti_spoof": {
"is_live": true,
"spoof_score": 0.08,
"technique": "RawNet3"
},
"voice_quality": {
"snr_db": 26.3,
"duration_sec": 4.8
},
"drift_analysis": {
"kl_divergence": 0.12,
"within_threshold": true,
"threshold": 0.30
}
}Agent Management
Full CRUD operations for AI agents with behavioral signature tracking.
/v1/agentsCreate a new AI agent with behavioral signature
Request Body
{
"name": "CustomerSupportBot",
"agentId": "agent_cs_001",
"description": "AI assistant for customer support",
"traits": {
"logic": 0.85,
"empathy": 0.72,
"creativity": 0.45,
"assertiveness": 0.60
}
}/v1/agentsList all agents in your organization
{
"agents": [
{
"id": "agt_xyz123",
"agentId": "agent_cs_001",
"name": "CustomerSupportBot",
"version": 2,
"driftScore": 0.18,
"isDrifting": false,
"lastVerified": "2025-12-29T12:30:00Z"
}
],
"total": 1
}/v1/agents/{'{agentId}'}Get agent details
/v1/agents/{'{agentId}'}Update agent configuration
/v1/agents/{'{agentId}'}Delete an agent
/v1/agents/verifyVerify agent behavior matches registered signature
Request Body
{
"agentId": "agent_cs_001",
"conversationTokens": [
{"role": "user", "content": "Hello, I need help"},
{"role": "assistant", "content": "I'd be happy to help!"}
]
}Response
{
"authentic": true,
"driftScore": 0.18,
"klDivergence": 0.15,
"threshold": 0.30,
"dissonanceDetected": false,
"processingTime": 45
}Register Objects
Before issuing certificates, you must register your object. This creates an agent signature entry.
/v1/certificates/register-agentRegister a new object (agent, human, content, etc.)
Request Body
{
"agentId": "string", // Unique ID (e.g., "gpt-4-agent", "[email protected]")
"name": "string", // Display name
"type": "AI", // HUMAN | AI | CONTENT | SERVICE | INFRASTRUCTURE | HARDWARE
"organizationId": "string" // Your org ID (e.g., "demo-org")
}Response (201 Created)
{
"id": "clz1234567890",
"agentId": "gpt-4-agent",
"name": "GPT-4 Agent",
"type": "AI",
"organizationId": "demo-org",
"createdAt": "2025-12-28T12:00:00Z"
}curl -X POST https://terralink-api.agent-genome.com/v1/certificates/register-agent \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"agentId": "gpt-4-agent",
"name": "GPT-4 Agent",
"type": "AI",
"organizationId": "demo-org"
}'api.acme.com), email addresses for humans (e.g., [email protected]), and descriptive names for AI agents (e.g., gpt-4-agent).Issue Certificates
Once an object is registered, you can issue 5 types of certificates.
IDENTITY
Proves this is who/what it claims to be
Agent "gpt-4-agent" is certified as an OpenAI agent
LIVENESS
Proves this is happening now, not replayed
Voice sample captured within standards threshold
PROVENANCE
Tracks what this object creates
AI-generated content traced back to model
INTEGRITY
Verifies content is unmodified
Document hash matches original attestation
BEHAVIORAL
BETAProves behavior within drift tolerance
Agent behavior has <15% drift from baseline
/v1/certificates/{agentId}/issueIssue IDENTITY, LIVENESS, PROVENANCE, or INTEGRITY certificate
Request Body
{
"certificateType": "IDENTITY", // IDENTITY | LIVENESS | PROVENANCE | INTEGRITY
"validityYears": 1 // 1-5 years
}Response (201 Created)
{
"serialNumber": "F8E2C9D1A3B4C5D6...",
"type": "IDENTITY",
"status": "ACTIVE",
"subject": {
"agentId": "gpt-4-agent",
"organizationId": "demo-org"
},
"issuer": {
"commonName": "TerraLink Certificate Authority",
"organizationId": "demo-org"
},
"validity": {
"notBefore": "2025-12-28T12:00:00Z",
"notAfter": "2026-12-28T12:00:00Z"
},
"agentType": "AI"
}curl -X POST https://terralink-api.agent-genome.com/v1/certificates/gpt-4-agent/issue \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"certificateType": "IDENTITY",
"validityYears": 1
}'/v1/certificates/{agentId}/issue-behavioralBETAIssue BEHAVIORAL certificate (for AI agents with drift monitoring)
Request Body
{
"driftTolerance": 15, // Max allowed drift % (5-30)
"observationPeriod": 30 // Days to observe behavior (7-90)
}Response (201 Created)
{
"serialNumber": "A3B4C5D6E7F8G9H0...",
"type": "BEHAVIORAL",
"status": "ACTIVE",
"subject": {
"agentId": "gpt-4-agent"
},
"behavioralMetrics": {
"driftTolerance": 15,
"observationPeriod": 30,
"currentDrift": 8.2,
"status": "WITHIN_TOLERANCE"
}
}curl -X POST https://terralink-api.agent-genome.com/v1/certificates/gpt-4-agent/issue-behavioral \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"driftTolerance": 15,
"observationPeriod": 30
}'List & Manage Certificates
Retrieve all certificates for your organization, including their status and metadata.
/v1/certificates?organizationId={orgId}List all certificates for your organization
Query Parameters
- •
organizationId(required): Your org ID - •
status(optional): Filter by ACTIVE | REVOKED | EXPIRED | DEAD - •
type(optional): Filter by certificate type
Response (200 OK)
{
"certificates": [
{
"serialNumber": "F8E2C9D1...",
"type": "IDENTITY",
"status": "ACTIVE",
"subject": {
"agentId": "gpt-4-agent"
},
"agentName": "GPT-4 Agent",
"agentType": "AI",
"validity": {
"notBefore": "2025-12-28T12:00:00Z",
"notAfter": "2026-12-28T12:00:00Z"
}
},
{
"serialNumber": "A3B4C5D6...",
"type": "BEHAVIORAL",
"status": "ACTIVE",
"subject": {
"agentId": "gpt-4-agent"
},
"behavioralMetrics": {
"currentDrift": 8.2,
"driftTolerance": 15,
"status": "WITHIN_TOLERANCE"
}
}
],
"total": 5,
"summary": {
"active": 4,
"revoked": 0,
"expired": 1,
"total": 5
}
}curl "https://terralink-api.agent-genome.com/v1/certificates?organizationId=demo-org" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca"/v1/certificates/{serialNumber}/revokeRevoke a certificate
Response (200 OK)
{
"serialNumber": "F8E2C9D1...",
"status": "REVOKED",
"revokedAt": "2025-12-28T15:30:00Z",
"reason": "Manual revocation"
}curl -X DELETE "https://terralink-api.agent-genome.com/v1/certificates/F8E2C9D1.../revoke" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca"Hardware Tampering Detection
Monitor hardware counter integrity over time. Detect clone attempts, replay attacks, and device tampering.
/v1/agents/{'{agentId}'}/drift?period=7dGet drift analytics for an agent over time
Query Parameters
period: 24h | 7d | 30d | 90dResponse
{
"agentId": "agent_cs_001",
"period": "7d",
"summary": {
"avgDrift": 0.18,
"maxDrift": 0.32,
"minDrift": 0.08,
"alertCount": 3,
"verificationCount": 1247
},
"timeSeries": [
{
"timestamp": "2025-12-20T00:00:00Z",
"driftScore": 0.15,
"klDivergence": 0.12,
"verificationCount": 178
}
],
"alerts": [
{
"id": "alt_123",
"timestamp": "2025-12-25T14:30:00Z",
"severity": "WARNING",
"message": "Drift score exceeded 0.2 threshold",
"driftScore": 0.23
}
]
}/v1/agents/{'{agentId}'}/thresholdsGet alert thresholds for an agent
{
"agentId": "agent_cs_001",
"thresholds": {
"info": 0.15,
"warning": 0.20,
"critical": 0.35
},
"autoReject": true,
"notificationEnabled": true
}/v1/agents/{'{agentId}'}/thresholdsUpdate alert thresholds
Organization Stats
Get a breakdown of registered objects by type. Optimized endpoint that reduces data transfer by 99.5%.
/v1/organizations/{orgId}/object-statsGet object count breakdown by type
Response (200 OK)
{
"breakdown": {
"HUMAN": 0,
"AI": 5,
"INFRASTRUCTURE": 0,
"SERVICE": 0,
"CONTENT": 2,
"HARDWARE": 0
},
"totalObjects": 7,
"hardwareReadyCount": 0,
"organizationId": "demo-org",
"timestamp": "2025-12-28T23:34:21.187Z"
}curl "https://terralink-api.agent-genome.com/v1/organizations/demo-org/object-stats" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca"agentType (HUMAN, AI, etc.) instead of certificateType (IDENTITY, BEHAVIORAL, etc.). All existing data has been migrated.Frontend Integration
// lib/api.ts
export interface ObjectStatsBreakdown {
HUMAN: number;
AI: number;
INFRASTRUCTURE: number;
SERVICE: number;
CONTENT: number;
HARDWARE: number;
}
export interface ObjectStatsResponse {
breakdown: ObjectStatsBreakdown;
totalObjects: number;
hardwareReadyCount: number;
organizationId: string;
timestamp: string;
}
export async function getOrganizationObjectStats(
orgId: string
): Promise<ObjectStatsResponse> {
const response = await fetch(
`/api/proxy/v1/organizations/${orgId}/object-stats`,
{
method: 'GET',
headers: { 'X-API-Key': apiKey }
}
);
if (!response.ok) {
throw new Error('Failed to fetch object stats');
}
return response.json();
}
// Usage in Dashboard
const [objectStats, setObjectStats] = useState<ObjectStatsResponse | null>(null);
useEffect(() => {
async function fetchData() {
try {
const stats = await getOrganizationObjectStats('demo-org');
setObjectStats(stats);
} catch (error) {
console.error('Failed to fetch object stats:', error);
// Fallback to manual calculation
}
}
fetchData();
}, []);Trust Badges
Embeddable SVG badges that update in real-time based on certificate and liveness status.
/v1/certificates/{agentId}/badge.svgGet trust badge for a specific object
Badge Colors
Embed in HTML
<img
src="https://terralink-api.agent-genome.com/v1/certificates/gpt-4-agent/badge.svg"
alt="TerraLink Trust Badge"
width="120"
height="40"
/>/v1/organizations/{orgId}/badge.svgGet trust badge for entire organization
<img
src="https://terralink-api.agent-genome.com/v1/organizations/demo-org/badge.svg"
alt="Organization Trust Badge"
width="120"
height="40"
/>Liveness & Death Handler
TerraLink tracks liveness via heartbeats (heartbeat timeout). On failure, certificates are auto-revoked.
/v1/liveness/heartbeatSend heartbeat to prove object is alive
Request Body
{
"agentId": "gpt-4-agent",
"timestamp": "2025-12-28T12:00:00Z"
}Response (200 OK)
{
"agentId": "gpt-4-agent",
"alive": true,
"lastHeartbeat": "2025-12-28T12:00:00Z",
"nextExpected": "2025-12-28T12:00:0standardZ"
}curl -X POST https://terralink-api.agent-genome.com/v1/liveness/heartbeat \
-H "Content-Type: application/json" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-d '{
"agentId": "gpt-4-agent",
"timestamp": "2025-12-28T12:00:00Z"
}'- • Status updated to
DEAD - • All certificates auto-revoked
- • CRITICAL security event logged
- • Trust badge turns red
Liveness Verification
/v1/liveness/verify?agentId={agentId}Check if object is alive
Response (200 OK)
{
"agentId": "gpt-4-agent",
"alive": true,
"lastHeartbeat": "2025-12-28T12:00:00Z",
"attestationStatus": "VERIFIED",
"timeSinceLastHeartbeat": "2.5s"
}curl "https://terralink-api.agent-genome.com/v1/liveness/verify?agentId=gpt-4-agent" \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca"KYC Liveness with Hardware Attestation
Voice-based liveness verification with anti-deepfake detection. Proofs are now hardware-attested using Earth's electromagnetic conditions.
Liveness proofs include real-time measurements of environmental entropy (standard frequency), entropy level (entropy index), and external entropy conditions (Bz field). These values change continuously, making timestamp forgery impossible.
/v1/identities/{'{id}'}/liveness/challengeGet random phrase challenge for voice verification
Response (200 OK)
{
"phrase": "sunset river dolphin",
"challengeId": "ch_abc123",
"expiresAt": "2025-12-29T16:37:45.604Z"
}/v1/identities/{'{id}'}/liveness?challengeId={challengeId}Verify voice liveness with anti-deepfake detection
Request Body
{
"audio": "base64_encoded_audio_data",
"antiDeepfake": true
}Response (200 OK)
{
"alive": true,
"confidence": 0.94,
"voiceMatch": 0.92,
"antiDeepfake": {
"isHuman": true,
"spoofScore": 0.03,
"method": "RawNet3"
},
"phraseMatch": {
"matched": true,
"confidence": 0.89
},
"proof": {
"hash": "a1b2c3...",
"timestamp": "2025-12-29T15:37:15.604Z",
"expiresAt": "2025-12-29T15:42:15.604Z",
"physics": {
"entropy_value": 7.467,
"entropy_index": 1.06,
"bz": -2.19,
"sferics": 43
},
"fingerprint": "74f954..."
}
}- • entropy_value: Earth's natural EM resonance (typically ~standard frequency)
- • kp: Geomagnetic activity index (0-9, lower = quieter)
- • bz: Solar wind magnetic field strength (nT)
- • sferics: Atmospheric electrical discharge count
- • fingerprint: Cryptographic hash of combined EM conditions
Unified Verification
Verify both human voice and AI agent in a single API call. Perfect for human-AI interactions.
/v1/unified/verifyCombined human + AI verification in one request
Request (multipart/form-data)
curl -X POST https://terralink-api.agent-genome.com/v1/unified/verify \
-H "X-API-Key: tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca" \
-F "externalId=user_12345" \
-F "agentId=agent_cs_001" \
-F "audio=@voice_sample.wav" \
-F 'conversationTokens=[{"role":"user","content":"Hello"}]' \
-F "challengeNonce=ch_xyz789"Response
{
"unifiedAuthentic": true,
"voiceResult": {
"match": true,
"confidence": 0.94,
"anti_spoof": {
"is_live": true,
"spoof_score": 0.08
},
"drift_analysis": {
"kl_divergence": 0.12,
"within_threshold": true
}
},
"agentResult": {
"authentic": true,
"driftScore": 0.18,
"klDivergence": 0.15
},
"entropyChain": "0xabcdef1234567890...",
"unifiedProof": "0x9876543210fedcba...",
"timestamp": "2025-12-29T12:00:00Z"
}Timestamp Attestation
Anchor any hash to real-world electromagnetic conditions. Creates unforgeable timestamps.
/v1/witnessGet current physics state for manual anchoring
{
"timestamp": "2025-12-29T10:00:00Z",
"entropy": {
"frequency": standard,
"amplitude": 0.42
},
"entropyLevel": {
"entropy_index": 2,
"status": "quiet"
},
"externalEntropy": {
"bz": -1.2,
"speed": 380
},
"sferics": 1247,
"fingerprint": "0xabcdef..."
}/v1/witnessAnchor a hash to current physics state
Request Body
{
"hash": "0x1234567890abcdef...",
"metadata": {
"type": "document",
"description": "Contract v1.2"
}
}Response
{
"proofId": "prf_xyz789",
"anchoredAt": "2025-12-29T10:00:00Z",
"physics": {
"entropy_value": standard,
"entropy_index": 2,
"bz": -1.2,
"sferics": 1247
},
"fingerprint": "0xabcdef...",
"verificationUrl": "https://terralink-api.agent-genome.com/v1/witness/verify/prf_xyz789"
}/v1/witness/verifyVerify a hardware-attested proof
{
"proofId": "prf_xyz789",
"valid": true,
"anchoredAt": "2025-12-29T10:00:00Z",
"attestationMatch": true,
"hashMatch": true
}Hardware Integration [Q1 2026]
FPGA PUF board integration for SERVICE, INFRASTRUCTURE, and HARDWARE object types.
Hardware Requirements
- • FPGA PUF Board: Physical unclonable function chip
- • <5s Compromise Detection: Real-time trajectory analysis
- • 60s Liveness Proofs: Physics-based attestation
- • 100% Clone Prevention: Hardware-bound secrets
[email protected]Error Reference
Standard HTTP status codes with structured error responses.
Bad Request
{
"statusCode": 400,
"message": "Invalid agent type. Must be one of: HUMAN, AI, CONTENT, SERVICE, INFRASTRUCTURE, HARDWARE",
"error": "Bad Request"
}Unauthorized
{
"statusCode": 401,
"message": "API key is required",
"error": "Unauthorized"
}Forbidden
{
"statusCode": 403,
"message": "Invalid API key",
"error": "Forbidden"
}Not Found
{
"statusCode": 404,
"message": "Agent not found: gpt-4-agent",
"error": "Not Found"
}Internal Server Error
{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error",
"requestId": "req_1234567890"
}Code Examples
Complete workflows in multiple programming languages.
Create AI Agent with Traits
Send personality traits (0.0-1.0 scale) and the server computes harmonic signatures automatically. No IP exposure in client code.
// Create AI Agent with Traits (Recommended)
const response = await fetch('https://terralink-api.agent-genome.com/v1/agents', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca'
},
body: JSON.stringify({
agentId: 'emily-001',
name: 'Emily',
description: 'Customer support agent',
traits: {
logic: 0.8, // 0.0 - 1.0 scale
empathy: 0.7,
creativity: 0.6,
assertiveness: 0.5,
curiosity: 0.6, // optional
precision: 0.7 // optional
}
})
});
const agent = await response.json();
// Server returns computed harmonics:
// {
// harmonicTable: [{ frequency: standard, attribute: "Grounding", ... }],
// baseValue: standard,
// rejectionBandStart: 38,
// _meta: { computedFromTraits: true }
// }Complete Example: Register + Issue + Verify
const API_BASE = 'https://terralink-api.agent-genome.com';
const API_KEY = 'tlk_pro_c788e3b7866574f583a765eb41e74dfc86e13fec0c4447ca';
// Step 1: Register Agent
async function registerAgent() {
const response = await fetch(
`${API_BASE}/v1/certificates/register-agent`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': API_KEY
},
body: JSON.stringify({
agentId: 'my-ai-agent',
name: 'My AI Agent',
type: 'AI',
organizationId: 'demo-org'
})
}
);
return response.json();
}
// Step 2: Issue Identity Certificate
async function issueCertificate(agentId) {
const response = await fetch(
`${API_BASE}/v1/certificates/${agentId}/issue`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': API_KEY
},
body: JSON.stringify({
certificateType: 'IDENTITY',
validityYears: 1
})
}
);
return response.json();
}
// Step 3: Get Trust Badge URL
function getBadgeUrl(agentId) {
return `${API_BASE}/v1/certificates/${agentId}/badge.svg`;
}
// Run workflow
async function main() {
try {
const agent = await registerAgent();
console.log('Agent registered:', agent);
const cert = await issueCertificate(agent.agentId);
console.log('Certificate issued:', cert);
const badgeUrl = getBadgeUrl(agent.agentId);
console.log('Badge URL:', badgeUrl);
} catch (error) {
console.error('Error:', error);
}
}
main();