Creating a contact verification (API)

Modified on Sat, 3 Oct at 2:55 PM

ℹ️ The new version of Signi verification (including this API) will be released to production during September 2026. Until then, the calls are not available and this description may change slightly.

You can create a verification directly on a contact from the workspace address book — independently of any document. This is useful for verifications "in reserve": as long as it's valid, it will be automatically applied to documents you later create with this contact.

Creating

You specify the contact using either contactUuid or contactEmail — exactly one of them:

curl -X POST -H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
  https://api.signi.com/api/v2/verifications \
  -d '{
    "contactEmail": "jan.novak@email.cz",
    "offeredGroups": ["11111111-2222-3333-4444-555555555555"]
  }'
{
    "uuid": "aaaa1111-bbbb-2222-cccc-333344445555",
    "verificationUrl": "https://app.signi.com/…",
    "tokenExpiresAt": "2027-02-01T12:00:00+01:00"
}
  • offeredGroups — 1–2 UUIDs of verification groups from which the verified person chooses.
  • verificationUrl — the welcome link through which the verified person completes the verification.
  • notify — whether Signi should send the verified person an email with the link (default true); you can also pass the link to them yourself.
  • redirectUrl — where to redirect the verified person after completion.
  • webhooks — reporting status changes of this verification, see Verification webhooks.

Each call creates a new verification run — an existing one is not recycled here (that is only done by linking to a document).

Verification detail

curl -H "x-api-key: YOUR_API_KEY" https://api.signi.com/api/v2/verifications/VERIFICATION_UUID

Returns the status, the offered and chosen group, the times of individual steps, and results by component:

{
    "uuid": "aaaa1111-bbbb-2222-cccc-333344445555",
    "status": "approved",
    "group": "11111111-2222-3333-4444-555555555555",
    "expiresAt": "2028-02-01T12:00:00+01:00",
    "results": [
        {
            "component": "document",
            "result": "success",
            "extractedData": { "…": "extracted personal data, if extraction is enabled" },
            "statusData": { "…": "technical metadata from the provider" },
            "files": { "…": "signed, time-limited links to stored files" }
        }
    ]
}

Contact verification history

All verifications of a contact, newest first — by contact UUID, or by email:

curl -H "x-api-key: YOUR_API_KEY" https://api.signi.com/api/v2/verifications/contact/CONTACT_UUID
curl -H "x-api-key: YOUR_API_KEY" "https://api.signi.com/api/v2/verifications/contact?email=jan.novak@email.cz"

Each item carries the status, times, the reason for any rejection or refusal, and the group name.

Where to go next

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article