Skip to content

Introduction

ProofAge is an identity verification and age estimation API. It lets you verify your users' identities through document checks and estimate their age from a selfie — all through a single REST API.

Flow Types

Each workspace is configured with a flow type that determines how verifications are processed. The flow type is set when you create a workspace and cannot be changed afterwards.

ProofAge supports two flow types — Age and KYC:

Age Verification

Confirms that a person meets a required age threshold. Two check methods are available, configured via the age_mode workspace setting:

Check Methodage_mode valueDescriptionRequired Media
ID Age Verificationdocument_verificationAge is confirmed using an identity document combined with a liveness selfie. Supports configurable age thresholds (18–25).Selfie + identity document
Face Age EstimateestimationAI-based age estimation from a selfie only. No identity documents required. Age threshold is fixed at 18.Selfie only

KYC Verification

Full Know Your Customer identity verification. Compares a liveness selfie against an identity document (passport, driver's license, etc.), extracts and validates personal data from the document.

Required Media
Selfie + identity document (front + back; passport only needs front)

Choose Age when you only need to confirm a user meets a minimum age threshold. Choose KYC when you need to verify the user's full identity.

Modes

Every workspace operates in one of two modes:

  • Live — Production mode. Verifications are processed by real reviewers and ML models. Usage is billed.
  • Test — Sandbox mode. Verifications are auto-reviewed and not billed. Use this during development and integration testing.

Your API key prefix indicates the mode: sk_live_* keys target live mode, and sk_test_* keys target test mode.

API Base URL

All API requests are made to:

https://api.proofage.com/v1

Verification Lifecycle

A typical verification follows these steps:

  1. Create a session — POST to /v1/verifications to start a new verification. You receive a verification ID.
  2. Collect consent — Fetch the consent text and record the user's acceptance.
  3. Upload media — Upload a selfie (and documents for KYC flows). You can upload multiple files across multiple requests.
  4. Submit — Submit the verification for processing.
  5. Receive a decision — ProofAge processes the verification and delivers the result via webhook: approved, declined, or resubmission_requested.

For a complete walkthrough with code examples, see the Quick Start guide. For details on the media upload and submission steps, see the Verification Flow guide.

Prerequisites

Before you begin, you need:

  1. A ProofAge account — Sign up at proofage.com.
  2. A workspace — Create a workspace from the dashboard. Each workspace has its own API keys and configuration.
  3. API credentials — From your workspace settings, retrieve:
    • API Key — Sent in the X-API-Key header to identify your workspace.
    • Secret Key — Used to compute HMAC-SHA256 signatures for request authentication. Never expose this in client-side code.

Next Steps

ProofAge Developer Documentation