# 1. Analyze text
curl -X POST https://panel.trustoriginality.ai/api/text/analyze \
  -H "X-Api-Key: to_live_..." \
  -H "Content-Type: application/json" \
  -d '{"text": "The content you want to analyze..."}'

# 2. Analyze an image (jpg, png, webp... max 30 MB)
curl -X POST https://panel.trustoriginality.ai/api/image/analyze \
  -H "X-Api-Key: to_live_..." \
  -F "file=@photo.jpg"

# 2b. ... or analyze directly from a public URL (also works for audio/video)
curl -X POST https://panel.trustoriginality.ai/api/image/analyze \
  -H "X-Api-Key: to_live_..." \
  -F "url=https://example.com/photo.jpg"

# 3. KYC composite check (document + selfie + voice, any subset)
curl -X POST https://panel.trustoriginality.ai/api/kyc/verify \
  -H "X-Api-Key: to_live_..." \
  -F "document=@id-card.jpg" -F "selfie=@selfie.jpg" -F "voice=@sample.wav"

# 4. Register content in the provenance registry (free, no analysis credit)
curl -X POST https://panel.trustoriginality.ai/api/provenance/register \
  -H "X-Api-Key: to_live_..." \
  -F "file=@press-release.pdf" -F "declaration=human-created"

# Response (every analysis also produces a signed, QR-verifiable PDF report)
{
  "isAIGeneratedLikely": false,
  "score": 0.396,
  "evidences": [ ... ],
  "pdf": "/reports/text_....pdf",
  "credits": { "used": 1, "limit": 50, "packCreditsRemaining": 10, "plan": "Starter" }
}

# Issue analysis VC (authenticated — resource owner only)
curl -sk "https://panel.trustoriginality.ai/api/credentials/analysis/{runId}.jwt" \
  -H "Authorization: Bearer <panel-session-or-api-token>"

# Issue content authenticity VC (registered SHA-256 hash)
curl -sk "https://panel.trustoriginality.ai/api/credentials/content/{sha256}.jwt" \
  -H "Authorization: Bearer <panel-session-or-api-token>"

# Verify any VC (public — no API key)
curl -sk -X POST https://panel.trustoriginality.ai/api/credentials/verify \
  -H "Content-Type: application/json" \
  -d '{"jwt":"eyJhbGciOiJFUzI1NiIs..."}'

# Revoke by jti (authenticated owner)
curl -sk -X POST https://panel.trustoriginality.ai/api/credentials/revoke \
  -H "Authorization: Bearer <panel-session-or-api-token>" \
  -H "Content-Type: application/json" \
  -d '{"jti":"...","reason":"key rotation"}'

· Issuer metadata

# Python
from trustoriginality import TrustOriginality
client = TrustOriginality(api_key="to_live_...")
res = client.analyze_image(url="https://example.com/photo.jpg")

# JavaScript (Node 18+)
import { TrustOriginality } from "@trustoriginality/sdk";
const client = new TrustOriginality({ apiKey: "to_live_..." });
const res = await client.analyzeImage({ url: "https://example.com/photo.jpg" });