> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-Certification

> Retrieve user self-certification results for employments and accounts in an order

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.

```mermaid theme={null}
sequenceDiagram
    participant Bridge as Truv Bridge
    participant User
    participant Server as Your Server
    participant API as Truv API

    Bridge->>User: Verification data retrieved
    User->>Bridge: Reviews and certifies data
    API-->>Server: Webhook (order-status-updated)
    Server->>API: GET /v1/orders/{id}/certifications/
    API-->>Server: Certification results (representative / not_representative)
```

***

## When to use

| Scenario                | Example                                                          |
| ----------------------- | ---------------------------------------------------------------- |
| Income verification     | Borrower confirms retrieved income matches their actual earnings |
| Employment confirmation | Borrower validates employer name, start date, and pay rate       |
| Asset verification      | Borrower reviews account balances and ownership details          |
| Dispute handling        | Borrower 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.

```bash theme={null}
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.

```json theme={null}
{
  "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

| Decision             | Meaning                                 |
| -------------------- | --------------------------------------- |
| `representative`     | Borrower confirmed the data is accurate |
| `not_representative` | Borrower flagged the data as inaccurate |

### Rejection reasons

When the decision is `not_representative`, the result includes a `rejection_reason`:

| Reason                        | Description                                                   |
| ----------------------------- | ------------------------------------------------------------- |
| `employment_no_longer_active` | Borrower is no longer employed at this company                |
| `incorrect_amount`            | Income or balance amount is wrong                             |
| `duplicate_entry`             | Employer or account appears more than once                    |
| `outdated_information`        | Data is stale or no longer current                            |
| `other`                       | Borrower provided a custom explanation in `rejection_comment` |

***

## Next steps

<CardGroup cols={2}>
  <Card title="Follow-up" icon="bell" href="/developers/integration/embedded-orders/follow-up">
    Re-engage users who didn't finish verification
  </Card>

  <Card title="Embedded Orders" icon="window-maximize" href="/developers/integration/embedded-orders/overview">
    Full embedded orders implementation guide
  </Card>
</CardGroup>
