Document-Only Checks
Use Helios v2 to verify an ID document without collecting a liveness video.
- Send a v2 JSON request with only front and back images
- Get a document-only decision with authenticity scores and extracted fields
- Decide when to escalate to full liveness verification
Time to complete: ~8 minutes
Prerequisites
SAGEA_API_KEYset in your environment asBearerauth.- Read Send your first API request to create a key.
- Read How Helios works to understand decisions and scores.
- Two test images:
front.jpg(required) andback.jpg(optional, recommended for two-sided IDs).
Step 1: Prepare your images
Helios v2 accepts base64-encoded images in JSON. Encode your test files and check sizes before sending.
Keep each image under 10MB. Use JPG or PNG with the ID fully visible and at least 1200px wide.
Step 2: Send a document-only v2 request
POST https://api.sagea.space/helios/kyc/v2 normally takes front_image_b64, back_image_b64, and liveness_video_b64. Omit liveness_video_b64 to get a document-only decision.
Without liveness_video_b64, Helios skips face match and liveness and returns a document-only decision based on authenticity and extraction.
Step 3: Handle the document-only decision
A document-only response uses the same schema, but face_match and liveness scores are absent or zero. Gate on document_authenticity and extracted fields.
Example response keeps the standard schema with verification_id, decision, scores, reasons, extracted, and model_used.
Verify
A successful run returns HTTP 200 with decision set to approved, review, or declined and an extracted block. If it fails, check below.
| Error | Cause | Fix |
|---|---|---|
401 Unauthorized | API key missing or invalid | Confirm echo $SAGEA_API_KEY is set and retry |
400 missing_artifact | front_image_b64 missing | Include at least front_image_b64 in v2 JSON |
413 Payload Too Large | Images exceed size limits | Recompress images below 10MB each |
422 spoof_detected | Document shows screen glare or copy artifacts | Recapture flat ID photo with no glare |
