Zentaras API

v1.4.2 · REST · JSON · TLS 1.3

v1 · stable

Zentaras AI API

The Zentaras API is organized around REST. Predictable resource-oriented URLs, JSON-encoded responses, conventional HTTP response codes, and standard authentication. Verify identities in 195+ countries with a single, unified interface.

8s avg latency
195+ countries
SOC 2 · ISO 27001

Base URL

https://api.zentaras.online/v1

Quickstart

Create your first verification in under 60 seconds. Generate an API key from the dashboard, then issue your first request.

curl
curl -X POST https://api.zentaras.online/v1/verifications \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "kyc",
    "applicant": {
      "first_name": "Aarav",
      "last_name": "Sharma",
      "dob": "1995-04-12",
      "country": "IN"
    },
    "checks": ["document", "face_match", "liveness", "aml"]
  }'

Response

A successful request returns a verification object with check results and a risk score (0–100, lower is safer).

response.json
{
  "id": "ver_8f3a1c9b2e7d4f6a",
  "object": "verification",
  "type": "kyc",
  "status": "approved",
  "created_at": "2025-04-17T09:42:11Z",
  "completed_at": "2025-04-17T09:42:19Z",
  "duration_ms": 8104,
  "applicant": {
    "first_name": "Aarav",
    "last_name": "Sharma",
    "dob": "1995-04-12",
    "country": "IN"
  },
  "checks": {
    "document": {
      "status": "passed",
      "document_type": "aadhaar",
      "extracted": { "name": "Aarav Sharma", "id_number": "XXXX-XXXX-1234" }
    },
    "face_match": { "status": "passed", "score": 0.987 },
    "liveness": { "status": "passed", "score": 0.992 },
    "aml": { "status": "clear", "matches": 0 }
  },
  "risk_score": 4
}

Authentication

Authenticate using your secret API key in the Authorization header. Keep keys secret — never expose them in client-side code or public repositories.

sk_live_… (production)

Real verifications, billed usage.

sk_test_… (sandbox)

Free, mock data, no billing.

http
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

Environments

EnvironmentBase URLRegion
Production (Global)api.zentaras.online/v1Anycast
Production (India)in.api.zentaras.online/v1ap-south-1
Sandboxsandbox.zentaras.online/v1Global

Endpoints

All resources you can interact with through the REST API.

POST/v1/verifications
GET/v1/verifications/:id
GET/v1/verifications
POST/v1/documents/ocr
POST/v1/biometrics/face-match
POST/v1/biometrics/liveness
POST/v1/aml/screen
POST/v1/kyb/companies
POST/v1/webhooks

Document OCR

Extract structured data from 11,000+ document types — passports, national IDs, driver licenses, Aadhaar, PAN, utility bills.

curl
curl -X POST https://api.zentaras.online/v1/documents/ocr \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxx" \
  -F "front=@passport_front.jpg" \
  -F "back=@passport_back.jpg" \
  -F "document_type=passport"

Biometrics & Liveness

ISO 30107-3 PAD Level 2 certified passive liveness with 99.7% accuracy. No user prompts required.

Face match score

Cosine similarity in [0, 1]. Recommend ≥ 0.85 for retail, ≥ 0.92 for banking.

Liveness signal

Detects deepfakes, masks, screens, printed photos. Single selfie, no head turns.

AML Screening

Screen against 1,400+ global watchlists — OFAC, UN, EU, HMT, RBI, MHA — plus PEP and adverse media. Updated every 15 minutes.

aml-response.json
{
  "id": "aml_5c7d9e1a3b4f",
  "status": "clear",
  "matches": 0,
  "lists_checked": 1432,
  "fuzzy_score_threshold": 0.85,
  "checked_at": "2025-04-17T09:42:14Z"
}

KYB / Business Verification

Verify companies and beneficial owners across 240M+ registries worldwide. UBO graph traversal up to 5 levels deep.

Webhooks

We POST events to your endpoint as they happen. Signed with HMAC-SHA256 in the Zentaras-Signature header.

verification.created
verification.completed
verification.approved
verification.rejected
verification.review_required
aml.match_found
kyb.completed
document.expired

Errors & Rate Limits

Conventional HTTP codes. 2xx success, 4xx client errors, 5xx server errors. Rate limit: 100 req/s per key, burstable to 500.

CodeTypeDescription
400bad_requestMalformed request or invalid parameters
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks permission for this resource
404not_foundResource does not exist
409conflictDuplicate verification for this applicant
422validation_errorDocument unreadable or face not detected
429rate_limitedToo many requests — back off and retry
500server_errorSomething went wrong on our side

Official SDKs

Node.js

npm i @zentaras/node

Python

pip install zentaras

Go

go get github.com/zentaras/zentaras-go

Java

implementation 'ai.zentaras:sdk:1.4.2'

Compliance & Security

SOC 2 Type II, ISO 27001, ISO 27701, PCI DSS, GDPR, DPDP Act 2023, RBI Master Direction on KYC. All data encrypted at rest (AES-256) and in transit (TLS 1.3).

SOC 2
ISO 27001
ISO 27701
PCI DSS
GDPR
DPDP
RBI
HIPAA

Ready to integrate?

Get your sandbox API key and ship your first verification in under an hour.