Transaction Workflows

Applies to: Direct

These use cases provide transaction workflow examples for Direct. Each use case involves several endpoints. Use cases are numbered and summarized in the following table.

Use CaseDescription
1For a North American driver license, I want to perform a barcode analysis.
2For a North American driver license, I want to perform OCR capture and barcode analysis.
3For a North American driver license, I want to perform a barcode analysis with watchlists and sanctions screening.
4For a North American driver license, I want to perform a barcode analysis with a criminal background check.
5For a North American driver license, I want to perform a barcode analysis with OCR capture and OCR matching.
6For a North American driver license, I want to perform facial authentication on an existing selfie image.
7For a North American driver license, I want to perform facial authentication by capturing a selfie image.
8For a North American driver license, I want to perform barcode analysis with email validation.
9For a passport, I want to perform OCR capture.
10For a passport, I want to perform OCR capture with a watchlists and sanctions screening check.
11For a passport, I want to perform OCR capture with a criminal background check.
12For a passport, I want to perform an OCR capture with OCR matching.
13For a passport, I want to perform an OCR capture with email validation.

Use Case 1

North American Driver License with Barcode Analysis

Start a transaction. Submit an existing Base64-encoded back image from an ID. End the transaction. Get transaction results.

  • /start ... /submit-back ... /end ... /get-results

The /start request body must have na_dl for the document_type with idcheck in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "idcheck"  
    ]  
  }  
}

Use Case 2

North American Driver License with OCR Capture and Barcode Analysis

Start a transaction. Submit an existing Base64-encoded front image from an ID. Submit an existing Base64-encoded back image from an ID. End the transaction. Get transaction results.

  • /start ... /submit-front ... /submit-back ... /end ... /get-results

The /start request body must have na_dl for the document_type with idcheck and ocr_scan in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "idcheck",
      "ocr_scan"
    ]  
  }  
}

Use Case 3

North American Driver License with Barcode Analysis, Watchlists and Sanctions Screening

Start a transaction. Submit an existing Base64-encoded back image from an ID. End the transaction. Get results for the transaction.

  • /start ... /submit-back ... /end ... /get-results

The /start request body must have na_dl for the document_type with idcheck and kyc in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "idcheck",
      "kyc"
    ]  
  }  
}

Use Case 4

North American Driver License with Barcode Analysis and Criminal Background Check

  • Start a transaction. Submit an existing Base64-encoded back image from an ID. End the transaction. Get results for the transaction.
    • /start ... /submit-back ... /end ... /get-results
      The /start request body must have na_dl for the document_type with idcheck and criminal_backgroundin the signals array.
{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "idcheck",
      "criminal_background"
    ]  
  }  
}

Use Case 5

North American Driver License with Barcode Analysis, ORC Capture, and OCR Matching

Start a transaction. Submit an existing Base64-encoded front image from an ID. Submit an existing Base64-encoded back image from an ID. End the transaction. Get transaction results.

  • /start ... /submit-front ... /submit-back ... /end ... /get-results

The /start request body must have na_dl for the document_type with idcheck, ocr_match, and ocr_scan in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "idcheck",
      "ocr_match",
      "ocr_scan"
    ]  
  }  
}

Use Case 6

North American Driver License with Existing Selfie

Start a transaction. Submit an existing selfie image. Submit an existing Base64-encoded front image from an ID. End the transaction. Get results for the transaction.

  • /start ... /submit-selfie ... /submit-front ... /end ... /get-results

The /start request body must have na_dl for the document_type with selfie in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "selfie",
      "ocr_scan"
    ]  
  }  
}

Use Case 7

North American Driver License with Captured Selfie

Start a transaction. Submit an existing Base64-encoded front image from an ID. Start the selfie capture process. End the selfie capture process. End the transaction. Get results for the transaction.

  • /start .../submit-front.../start-selfie.../end-selfie.../end... /get-results

The /start request body must have na_dl for the document_type with selfie in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [  
      "selfie",
      "ocr_scan"
    ]  
  }  
}

Use Case 8

Barcode Analysis with Email Validation

Start a transaction. Submit an existing Base64-encoded back image from an ID. Submit an email address. End the transaction. Get results for the transaction.

  • /start ... /submit-back ... /submit-email-address.../end... /get-results

The /start request body must have na_dl for the document_type with email_validation in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "na_dl",  
    "signals": [
      "idcheck",
      "email_validation"
    ]  
  }  
}

Use Case 9

Passport with OCR Capture

Start a transaction. Submit an existing Base64-encoded front image from an ID. End the transaction. Get transaction results.

  • /start ... /submit-front ... /end ... /get-results

The /start request body must have passport for the document_type with ocr_scan in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "passport",  
    "signals": [  
      "ocr_scan"  
    ]  
  }  
}

Use Case 10

Passport with OCR Capture, Watchlists and Sanctions Screening

Start a transaction. Submit an existing Base64-encoded front image from an ID. End the transaction. Get results for the transaction.

  • /start ... /submit-front ... /end ... /get-results

The /start request body must have passport for the document_type with kyc and ocr_scan in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "passport",  
    "signals": [  
      "kyc",
      "ocr_scan"
    ]  
  }  
}

Use Case 11

Passport with OCR Capture and Criminal Background Check

Start a transaction. Submit an existing Base64-encoded front image from an ID. End the transaction. Get results for the transaction.

  • /start ... /submit-front ... /end ... /get-results

The /start request body must have passport for the document_type with ocr_scan and criminal_background in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "passport",  
    "signals": [  
      "ocr_scan",
      "criminal_background"
    ]  
  }  
}

Use Case 12

Passport with OCR Capture, and OCR Matching

Start a transaction. Submit an existing Base64-encoded front image from an ID. End the transaction. Get transaction results.

  • /start ... /submit-front ... /end ... /get-results

The /start request body must have passport for the document_type with ocr_scan and ocr_match in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "passport",  
    "signals": [
      "ocr_match",
      "ocr_scan"
    ]  
  }  
}

Use Case 13

Passport with OCR Capture and Email Validation

Start a transaction. Submit an existing Base64-encoded front image from an ID. Submit an email address. End the transaction. Get transaction results.

  • /start ... /submit-front ... /submit-email-address ... /end ... /get-results

The /start request body must have passport for the document_type with ocr_scan and email_validation in the signals array.

{
  "public_data": {},
  "private_data": {  
    "document_type": "passport",  
    "signals": [      
      "ocr_scan",
      "email_validation"
    ]  
  }  
}