# API reference

Every secuveri API endpoint and webhook event, with parameters, request bodies, responses and code samples, generated from the OpenAPI 3.1 spec.

Requests go to `https://api-verify.secuveri.com` and answer JSON. OpenAPI 3.1: https://app.secuveri.com/openapi.json

## Sessions

- [POST /v1/sessions](https://app.secuveri.com/docs/api/create-session.md): Create a verification session

## Results and keys

- [GET /v1/verifications/{id}/result](https://app.secuveri.com/docs/api/get-result.md): Read the signed result of a finished verification
- [GET /v1/verifications/{id}/finma-record](https://app.secuveri.com/docs/api/get-finma-record.md): Read the FINMA identification record of a finished verification
- [GET /.well-known/jwks.json](https://app.secuveri.com/docs/api/get-jwks.md): Public keys for signed results, AML screenings and webhook JWS

## AML screening

- [POST /v1/aml/screen](https://app.secuveri.com/docs/api/screen-person.md): Screen one person against sanctions and PEP lists

## Business verification (KYB)

- [POST /v1/kyb/cases](https://app.secuveri.com/docs/api/open-kyb-case.md): Open a business verification (KYB) case
- [GET /v1/kyb/cases/{id}](https://app.secuveri.com/docs/api/get-kyb-case.md): Read a business case
- [GET /v1/kyb/search](https://app.secuveri.com/docs/api/search-companies.md): Search the commercial register by name
- [POST /v1/kyb/cases/{id}/persons/{personId}/verification](https://app.secuveri.com/docs/api/request-kyb-person-verification.md): Start a person's verification
- [POST /v1/kyb/cases/{id}/declaration](https://app.secuveri.com/docs/api/submit-kyb-declaration.md): Declare the beneficial owners
- [POST /v1/kyb/cases/{id}/documents](https://app.secuveri.com/docs/api/upload-kyb-document.md): Upload a commercial register extract

## Standalone checks

- [POST /v1/face/match](https://app.secuveri.com/docs/api/match-faces.md): Compare a selfie with a reference portrait
- [POST /v1/liveness/check](https://app.secuveri.com/docs/api/check-liveness.md): Passive liveness on one to three selfies
- [POST /v1/age/estimate](https://app.secuveri.com/docs/api/estimate-age.md): Estimate a person's age from their face
- [POST /v1/content-credentials/check](https://app.secuveri.com/docs/api/check-content-credentials.md): Read an image's Content Credentials (C2PA)
- [POST /v1/documents/verify](https://app.secuveri.com/docs/api/start-document-verification.md): Verify an identity document
- [GET /v1/documents/verify/{id}](https://app.secuveri.com/docs/api/get-document-verification.md): Read a verify an identity document check
- [POST /v1/proof-of-address/read](https://app.secuveri.com/docs/api/start-proof-of-address-read.md): Read a proof of address
- [GET /v1/proof-of-address/read/{id}](https://app.secuveri.com/docs/api/get-proof-of-address-read.md): Read a read a proof of address check

## Block and allow lists

- [GET /v1/lists](https://app.secuveri.com/docs/api/list-entries.md): Read your block and allow list entries
- [POST /v1/lists](https://app.secuveri.com/docs/api/add-list-entry.md): Block or allow one value
- [POST /v1/lists/bulk](https://app.secuveri.com/docs/api/add-list-entries.md): Block or allow up to 1000 values at once
- [DELETE /v1/lists/{id}](https://app.secuveri.com/docs/api/remove-list-entry.md): Remove one entry

## Webhook events

- [verification.completed](https://app.secuveri.com/docs/api/webhook-verification-completed.md): A verification reached a final status without needing a person.
- [verification.review_required](https://app.secuveri.com/docs/api/webhook-verification-review-required.md): A verification is waiting for a reviewer.
- [verification.reviewed](https://app.secuveri.com/docs/api/webhook-verification-reviewed.md): A reviewer approved or rejected a verification.
- [verification.expired](https://app.secuveri.com/docs/api/webhook-verification-expired.md): A session expired before the person finished.
- [kyb_case.completed](https://app.secuveri.com/docs/api/webhook-kyb-case-completed.md): A business case was approved or declined without a reviewer.
- [kyb_case.review_required](https://app.secuveri.com/docs/api/webhook-kyb-case-review-required.md): A business case is waiting for a reviewer.
- [kyb_case.reviewed](https://app.secuveri.com/docs/api/webhook-kyb-case-reviewed.md): A reviewer approved or declined a business case.
- [documents.verify.completed](https://app.secuveri.com/docs/api/webhook-documents-verify-completed.md): A standalone document check ended. data.check_id is the id for GET /v1/documents/verify/{id}; data.status is COMPLETED or FAILED.
- [proof_of_address.read.completed](https://app.secuveri.com/docs/api/webhook-proof-of-address-read-completed.md): A standalone proof-of-address read ended. data.check_id is the id for GET /v1/proof-of-address/read/{id}.
