Skip to main content
POST
Start a biometric verification

Authorizations

x-api-key
string
header
required

Company API key for authentication

Path Parameters

merchantId
string
required

The merchant ID

Body

application/json
provider
enum<string>
required

The provider that runs the capture; it must offer biometric verifications

Available options:
CELCOIN
Example:

"CELCOIN"

subject_document_number
string
required

The document number (CPF) of the company's contact; punctuation is ignored

Example:

"811.464.310-23"

redirect_url
string<uri>

Where the provider sends the person after the capture

Example:

"https://app.example.com/onboarding/done"

Response

The verification, PENDING, with the provider's capture URL

A biometric verification of a company contact at a provider

id
string<uuid>
required
Example:

"2b6f0a5e-7c1d-4f1a-9a3e-2d0c1b7e8f90"

company_id
string
required

The company the verification was created for (the organization itself or one of its merchants)

Example:

"c0a8012e-4d3b-4a6e-8f1b-1a2b3c4d5e6f"

provider
enum<string>
required
Available options:
CELCOIN
Example:

"CELCOIN"

subject_document_number
string
required

The verified person's document number (CPF), digits only

Example:

"81146431023"

status
enum<string>
required

PENDING until the provider reports the capture; APPROVED or REPROVED from its result; EXPIRED when the capture URL expired with no result.

Available options:
PENDING,
APPROVED,
REPROVED,
EXPIRED
Example:

"PENDING"

verification_url
string<uri>
required

The provider's capture URL, to be handed to the person as is

Example:

"https://biometric.provider.example/session/abc"

verification_url_expires_at
string<date-time>
required

When the capture URL stops working

Example:

"2026-10-09T12:00:00.000Z"

redirect_url
string<uri> | null
required

Where the provider sends the person after the capture, when given at creation

Example:

"https://app.example.com/onboarding/done"

selfie_onboarding_document_id
string<uuid> | null
required

The SELFIE onboarding document an APPROVED result produced; null otherwise

Example:

null

approved_at
string<date-time> | null
required

When the verification became APPROVED; null on any other status

Example:

null

rejection_reason
object | null
required

The provider's reason for a REPROVED result; null otherwise

created_at
string<date-time>
required
Example:

"2026-10-08T12:00:00.000Z"

updated_at
string<date-time>
required
Example:

"2026-10-08T12:00:00.000Z"