Client API
Review texts programmatically — same three-layer engine, all scan depths, every enabled language. Reviews consume your organization's credits exactly like scans in the app and appear in your scan history.
Authentication
Organization admins create API keys under Organization → API Keys. The secret (vc_…) is shown once. Send it on every request:
X-API-Key: vc_your_key_here
# or
Authorization: Bearer vc_your_key_hereSubmit a review
POST /api/public/v1/reviews — up to 100 texts per call. With wait_seconds you get results in one request (recommended for fast and standard); otherwise poll the returned URL.
curl -X POST https://vericlaim.eu/api/public/v1/reviews \
-H "X-API-Key: vc_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"texts": [
{"id": "sku-123", "content": "Unser Detox-Tee stärkt das Immunsystem."},
{"id": "sku-124", "content": "Ein wohltuender Kräutertee für kalte Abende."}
],
"language": "de",
"depth": "standard",
"include_rewrites": false,
"wait_seconds": 30
}'Response (abridged):
{
"review_id": "3f6f…",
"status": "completed",
"credits_charged": 20,
"poll_url": "/api/public/v1/reviews/3f6f…",
"items": [
{
"id": "sku-123",
"status": "violation",
"risk_score": 0.9,
"findings": [
{
"classification": "violation",
"flagged_text": "Detox",
"violated_regulation": "OLG Hamm 4 U 22/17",
"suggested_replacement": null,
"reasoning": "…"
}
]
},
{ "id": "sku-124", "status": "clean", "findings": [] }
]
}Depths & credits
depth | Layers | Credits / text |
|---|---|---|
| fast | Keywords & regex | 5 |
| standard | + AI classification | 10 |
| advanced | + evidence when issues found | 15 |
| deep | + evidence for every finding | 20 |
include_rewrites: true adds 5 credits per text — automatically refunded for texts that come back clean. Insufficient balance returns HTTP 402 with {"error": "insufficient_credits", "balance": …, "required": …}.
Other endpoints
GET /api/public/v1/reviews/{id}— status + findings (poll untilstatusiscompleted).GET /api/public/v1/languages— languages your admin has enabled, with per-language coverage (see Languages).GET /api/public/v1/balance— current credit balance + price matrix.
Errors & limits
401— missing / invalid / revoked key.400— unsupported or admin-disabled language.402— insufficient credits (structured payload).422— validation error (empty texts, bad depth…).429— rate limited (30 review submissions/min, 120 polls/min).- Max 100 texts per review, 50,000 characters per text.
Results are an automated pre-check — they support, but do not replace, review by a qualified legal professional.