Skip to main content
Self-certification allows users to review and confirm (or reject) the employment and account data retrieved during verification. Retrieve the certification results to see whether the user confirmed the data as representative or flagged discrepancies.

When to use

ScenarioExample
Income verificationUser confirms retrieved income matches their actual earnings
Employment confirmationUser validates employer name, start date, and pay rate
Asset verificationUser reviews account balances and ownership details
Dispute handlingUser flags incorrect or outdated data with a reason

Retrieve certification results [Server-side]

Send a GET request to the order’s /certifications/ endpoint after the user completes their review.
curl --request GET \
     --url https://prod.truv.com/v1/orders/39aa1486ccca4bc19cda071ffc1ba392/certifications/ \
     --header 'X-Access-Client-Id: YOUR_TRUV_CLIENT_ID' \
     --header 'X-Access-Secret: YOUR_TRUV_CLIENT_SECRET' \
     --header 'Accept: application/json'

Response structure

Each result contains a decision and either an employment or account object.
{
  "results": [
    {
      "decision": "representative",
      "employment": {
        "id": "24d7e80942ce4ad58a93f70ce4115f5c",
        "start_date": "2018-01-01",
        "pay_rate": "25.50",
        "pay_date": "2023-12-15",
        "company": {
          "name": "Facebook"
        }
      }
    },
    {
      "decision": "not_representative",
      "rejection_reason": "incorrect_amount",
      "rejection_comment": "Balance is outdated",
      "account": {
        "id": "bc917458a3da4b2c8cc8282aa1707aaa",
        "type": "CHECKING",
        "mask": "1234",
        "routing_number": "021000021",
        "balance": "1500.25",
        "owners": [
          { "full_name": "John Doe" }
        ]
      }
    }
  ]
}

Decision values

DecisionMeaning
representativeUser confirmed the data is accurate
not_representativeUser flagged the data as inaccurate

Rejection reasons

When the decision is not_representative, the result includes a rejection_reason:
ReasonDescription
employment_no_longer_activeUser is no longer employed at this company
incorrect_amountIncome or balance amount is wrong
duplicate_entryEmployer or account appears more than once
outdated_informationData is stale or no longer current
otherUser provided a custom explanation in rejection_comment

Next steps

New User

Create a hosted order from scratch

Data Refresh

Refresh data when certifications flag outdated info