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

# Core concepts

> How orders, searches, and webhooks relate in the Verification service.

# Core concepts

This page explains the Verification workflow from the customer's perspective: how you start work, how SNH AI processes it, and how you receive outcomes.

## What Verification does

The Verification service automates employment and education verification. You send applicant and history data. SNH AI researches contacts, performs outbound outreach, processes inbound responses, and returns structured results.

## Order → Search → Result

```mermaid theme={null}
flowchart LR
    A[Create order] --> B[Searches created]
    B --> C[Research and outbound]
    C --> D{Outcome}
    D -->|Verified or terminal| E[verification.completed]
    D -->|Needs intervention| F[verification.action_required]
    C --> G[verification.notification]
```

| Concept           | Meaning                                                                                                                                                          |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Order**         | One API create call. Contains applicant, business context, search types, and optional history / webhook config. Identified by `verificationOrderId`.             |
| **Search**        | One verification unit under the order (`EMPLOYMENT` or `EDUCATION`). Identified by `searchId`. Optionally correlated with your `externalSearchId`.               |
| **Activity**      | Operational progress on a search (attempts, inbound, status). Visible when you get a specific search.                                                            |
| **Webhook event** | Push notification to your system: progress (`verification.notification`), completion (`verification.completed`), or escalation (`verification.action_required`). |

One order can contain multiple searches (for example employment and education together). Each search progresses independently.

## How you get responses

1. **Create response (sync):** `201` with `verificationOrderId` and `searchIds` — the order was *accepted*, not finished.
2. **Webhooks (async, preferred):** Configure `webhookConfig` on the order or rely on organization defaults. Verify `X-Webhook-Signature`.
3. **Polling (async fallback):** `GET /orders/{id}/searches` or `GET /orders/{id}/searches/{searchId}`.

See [Webhook overview](/webhooks/overview) and [Quickstart](/quickstart).

## Batch vs single order

* **Single order:** `POST /background-check/v1/orders` — primary integration path.
* **Batch:** `POST /background-check/v1/batches` submits many orders in one HTTP call. Each order is independent — record every `verificationOrderId` and track work with order endpoints. See [API overview](/api-reference/background-check/overview#batch-and-event-endpoints).

## Supported schemas

Request and response field schemas are listed under **Schemas** in the navigation. Start with [VerificationRequest](/api-reference/schemas/verification-request) and [Search types](/guides/search-types).

## Next steps

* [Quickstart](/quickstart)
* [Examples](/examples)
* [Search-level configuration](/guides/search-config-reference)
