Quickstart
The base URL is https://api.zygentrust.com. All endpoints
live under /v1.
curl https://api.zygentrust.com/v1/analyze?domain=example.com \
-H "Authorization: Bearer zt_live_..." Get a deterministic trust score for any business domain. Predictable JSON. One endpoint to ship with.
The base URL is https://api.zygentrust.com. All endpoints
live under /v1.
curl https://api.zygentrust.com/v1/analyze?domain=example.com \
-H "Authorization: Bearer zt_live_..."
Pass your API key with the Authorization header or the
x-api-key header. Keys start with zt_live_
for production and zt_test_ for testing.
ALLOW_PUBLIC_ANALYZE=false; an API key is required.Returns trust score, risk level, recommended action, confidence, structured signals, and explainable insights for a domain.
| Param | Required | Description |
|---|---|---|
| domain | yes | Any business domain. URLs and www. are normalized server-side. |
{
"domain": "example.com",
"normalized_domain": "example.com",
"trust_score": 82,
"risk_level": "low",
"recommended_action": "approve",
"confidence": 0.78,
"summary": "Strong technical and business trust signals.",
"signals": { "technical": { "...": "..." } },
"insights": [
{
"severity": "positive",
"category": "technical_trust",
"title": "Strong technical trust signals",
"evidence": ["dns_resolves", "uses_https", "has_mx_records"],
"impact": "Improves trust score and supports automatic approval."
}
],
"next_steps": ["Approve automatically for low-risk workflows."],
"metadata": {
"checked_at": "2026-05-18T10:00:00.000Z",
"cache": { "hit": false, "ttl_seconds": 86400 },
"version": "0.1.0"
}
} {
"error": {
"code": "INVALID_DOMAIN",
"message": "The domain parameter is invalid.",
"details": {}
}
}
Common codes: INVALID_DOMAIN, INVALID_REQUEST,
UNAUTHORIZED, INVALID_API_KEY,
QUOTA_EXCEEDED, RATE_LIMITED,
TURNSTILE_FAILED, ANALYSIS_FAILED,
INTERNAL_ERROR.
The live OpenAPI document is served at
/v1/docs/openapi.json. Pipe it into any compatible client
generator.