Ocrolus API

Ocrolus API Documentation

Welcome to Ocrolus' API Documentation. You'll find comprehensive guides and documentation here to help you get started with the Ocrolus API. Let's jump right in!

Detect

Retrieve Suspicious Activity Data for Uploaded Documents

Ocrolus Detect combines algorithmic checks and reviews from specialists to stop fraud in its tracks.
By design, suspicious activity flags detect:

  • File Tampering
  • Inconsistencies in Data Within a Single Document
  • Inconsistencies in Data Across Multiple Documents

File Tampering

Ocrolus's File Tamper Detection (FTD) technology identifies data in readable PDFs that was not part of the original PDF. For example, text added to an original PDF. The File Tampering checks use machinge learning algorithms to unveil fraudulent activity such as balance padding, account takeovers, and loan stacking. The checks occur when you upload a bank statement, paystub, or W2.

You can view the results of File Tamper checks in the suspicious activity results flags (response.suspicious_activity_results.flags) array. The response of the Suspicious Activity Flags endpoint includes the array.

Example - Flags Object

{
  "suspicious_activity_detected": true,
  "reason": "FILE_TAMPERING",
  "suspicious_activity_location": {
    "upload_origin": "PRE_IDENTIFIED",
    "doc_uuid": "cdbc74e9-e567-46e4-84ff-ef09d41fa450",
    "suspicious_activity_page_indexes": [
      0
    ]
  }
}

Inconsistencies in Data Within a Single Document

Detect inconsistencies within a single document that may suggest suspicious activity.
Every time you upload a bank statement to Ocrolus, Ocrolus scans the document for inconsistencies, including:

  • Incomplete transaction data
  • Invalid amounts
  • Balance missing pages
  • Photoshopped data

Any results of the scan return in the form of suspicious activity flags in the periods object.
The periods object is part of the response of either of the following endpoints:

Example - Period Object

  {
    "pk": 1050,
    "begin_date": "03/28/2014",
    "end_date": "04/11/2014",
    "begin_balance": "5000.00",
    "end_balance": "1000.00",
    "primary_recon_error_reason": "Potential Fraud",
    "secondary_recon_error_reason": "Photoshopped Data",
    "period_month_days": {...},
    "period_month_txns": {...}
  }

Inconsistencies in Data Across Multiple Documents

Cross-source Validation (XSV) compares data from two or more documents or data sources. XSV verifies that the information from the borrower is logical and correct. Any inconsistencies suggest potential suspicious activity and warrant review by a specialist.

Cross Source Validation (XSV) allows you to automatically validate information from a borrower. XSV uses the data it extracts from multiple documents or data sources to check that the information from the borrower is logical and correct.

XSV can use classification rules to match names, dates, numeric values, and calculations. Classification rules can be exact matches or a selectable confidence level.
Prior to XSV, loan originators validate this information using manual calculations and a “stare and compare” review.

Example - Period Object

{
    "book_uuid": "8db27887-6321-4916-b2fd-fc4124930e9a",
    "ruleset": {
        "mortgage_application_basic_v1": {
            "applicant_gross_pay_match_check_paystub_w2": [
                {
                    "confidence": "MEDIUM",
                    "form_1": {
                        "fields": {
                            "calculated_amount": "114450.00"
                        },
                        "form_type": "PAYSTUB",
                        "form_uuid": "063554b4-9dec-4a8a-9b82-10647209bda9"
                    },
                    "form_2": {
                        "fields": {
                            "amount": "110000.00"
                        },
                        "form_type": "W2",
                        "form_uuid": "a75182b7-7f34-4216-9df1-52502154a8a7"
                    }
                }
            ],
            "applicant_name_match_all_forms": [
                {
                    "confidence": "MEDIUM",
                    "form_1": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "PAYSTUB",
                        "form_uuid": "063554b4-9dec-4a8a-9b82-10647209bda9"
                    },
                    "form_2": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "FORM",
                        "form_uuid": "bb098e58-8954-48d3-877c-240ac1d0ad10"
                    },
                    "form_3": {
                        "fields": {
                            "name": ""
                        },
                        "form_type": "FORM",
                        "form_uuid": "b0051adc-e589-426a-98b2-a4287483f64e"
                    },
                    "form_4": {
                        "fields": {
                            "name": "BOBLEY SAM"
                        },
                        "form_type": "FORM",
                        "form_uuid": "b0051adc-e589-426a-98b2-a4287483f64e"
                    },
                    "form_5": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "BANK_STATEMENT",
                        "form_uuid": "d869e1a7-81fb-4f59-bb9e-45edd603a879"
                    },
                    "form_6": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "W2",
                        "form_uuid": "a75182b7-7f34-4216-9df1-52502154a8a7"
                    }
                }
            ],
            "applicant_name_match_paystub_bank_statement": [
                {
                    "confidence": "EXACT_MATCH",
                    "form_1": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "PAYSTUB",
                        "form_uuid": "063554b4-9dec-4a8a-9b82-10647209bda9"
                    },
                    "form_2": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "BANK_STATEMENT",
                        "form_uuid": "d869e1a7-81fb-4f59-bb9e-45edd603a879"
                    }
                }
            ],
            "applicant_name_match_paystub_w2": [
                {
                    "confidence": "EXACT_MATCH",
                    "form_1": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "PAYSTUB",
                        "form_uuid": "063554b4-9dec-4a8a-9b82-10647209bda9"
                    },
                    "form_2": {
                        "fields": {
                            "name": "SAM BOBLEY"
                        },
                        "form_type": "W2",
                        "form_uuid": "a75182b7-7f34-4216-9df1-52502154a8a7"
                    }
                }
            ],
            "applicant_net_pay_match_paystub_bank_statement": []
        }
    }
}

Next Steps

To learn how to upload, capture, and analyze an example document, see our Getting Started with Bank Statements guide. Once you complete the steps in the tutorial, use the Suspicious Activity Flags endpoint to download example suspicious activity results. You also have access to our Cross Source Validation.

Updated 2 months ago


See also

Analyze

Detect


Retrieve Suspicious Activity Data for Uploaded Documents

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.