Airwallex logo

Upload a selfie video for liveness verification

Upload a selfie video as part of the native API onboarding flow to satisfy a liveness check requirement.

Copy for LLMView as Markdown

Upload a selfie video to satisfy liveness verification when your connected account program is configured to use passive video liveness. This approach captures the account holder's face on video and submits it during account creation so that Airwallex can confirm liveness without requiring the account holder to perform an active challenge.

This guide covers the native API integration path. Passive video liveness is currently supported for business accounts only.

Passive video liveness is only available in selected regions and must be enabled for your platform program. Contact your Airwallex Account Manager before integrating this flow.

Before you begin

Before you start, make sure you have the following in place:

Upload the selfie video file

Upload the video file using the File Upload API API before creating the account. For native API integrations, upload the file server-side in a single POST request. You will use the returned file_id in the next step.

Call Upload a file API using a multipart/form-data request to the files.airwallex.com subdomain. Include the selfie video as the file body field. The optional notes query parameter accepts a string up to 50 characters.

Shell
1POST /api/v1/files/upload
2Content-Type: multipart/form-data
3
4file=@selfie.mp4

A successful response returns a file_id. Save this value — you will need it when creating the account.

Create the account with the video selfie attachment

Call Create an account API and include the file_id from the upload step as an attachment tagged VIDEO_SELFIE.

  1. In the business_person_details array, add an attachments.business_person_documents entry with tag set to VIDEO_SELFIE and file_id set to the ID returned from the file upload:

    JSON
    1{
    2 "primary_contact": {
    3 "email": "[email protected]",
    4 "mobile": "+61400000000"
    5 },
    6 "business_person_details": [
    7 {
    8 "first_name": "Jane",
    9 "last_name": "Smith",
    10 "identifications": {
    11 "primary": {
    12 "identification_type": "DRIVERS_LICENSE",
    13 "issuing_country_code": "AU",
    14 "drivers_license": {
    15 "number": "123456789",
    16 "expire_at": "2029-12-31"
    17 }
    18 }
    19 },
    20 "attachments": {
    21 "business_person_documents": [
    22 {
    23 "tag": "VIDEO_SELFIE",
    24 "file_id": "{{file_id}}"
    25 }
    26 ]
    27 }
    28 }
    29 ]
    30}
  2. A successful response returns an account object with status: "CREATED". Save the account id — you will use it to submit the account in the next step.

Submit the account

Once the account has been created with the video selfie attached, submit it for review.

  1. Call Submit an account API using the account id from the previous step:

    Shell
    1POST /api/v1/accounts/{account_id}/submit

    A successful submission transitions the account status from CREATED to SUBMITTED. Airwallex will then process the liveness verification as part of the onboarding review.

  2. Listen for the connected_account.updated webhook to track the account as it transitions through onboarding statuses. When liveness verification is complete and onboarding is approved, the account status transitions to ACTIVE.

    If Airwallex cannot confirm liveness from the submitted video, the account may move to ACTION_REQUIRED with an RFI requesting additional identity evidence. See Handle onboarding verification RFIs.

Next steps

Airwallex will process the account in the background. While you wait for the outcome, you can deepen your understanding of the liveness flow, prepare for edge cases, and review onboarding requirements for your markets:

Was this page helpful?