Skip to main content
Self-certification lets users review the income and employment data Truv retrieves and either confirm each record as representative or flag a discrepancy. Retrieve the results on the order to see which records the user certified and which they disputed.

When to use


Enable self-certification

Turn on self-certification per Customization Template in the dashboard, under Self-certification. The Enable self-employment income toggle chooses what the user certifies:

Retrieve certification results [Server-side]

Certification data is returned by the standard order-read endpoint, gated behind the certification query parameter. Call it after the user completes their review — the certification-completed webhook signals when results are ready.
GET /v1/orders/{id}/certifications/ is deprecated and does not return bank income. Use the certification query parameter on the order-read endpoint instead.

Certification modes

Records the user flags as not their own income are excluded in both modes.

Response structure

Each retrieved record carries a certification object inline. What’s certified depends on the template configuration — an order is one configuration or the other, never both. Bank income configuration. Payroll employments carry a certification under employers[].employments[]. Bank-detected income carries one under financial_accounts[].bank_income_sources[], and user-added income under financial_accounts[].additional_income_sources[]. Bank accounts[] are not certified in this configuration — they carry no certification object.
Bank accounts configuration. Payroll employments are certified as above, and bank accounts[] carry a certification. Account certifications hold decision, rejection_reason, and rejection_comment only — they never include certified_data, and bank_income_sources / additional_income_sources are not certified.
certified_data is the user-attested snapshot. Its numeric fields can be null — a payroll employment may report hours_per_month while leaving monthly_income empty.

Decision values

Rejection reasons

When the decision is not_representative, the certification object includes a rejection_reason:

Certified data

Where present, certified_data is the user-attested snapshot recorded at certification time.

Next steps

New User

Create a hosted order from scratch

Data Refresh

Refresh data when certifications flag outdated info