> For the complete documentation index, see [llms.txt](https://api-docs.visadoc.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.visadoc.co/use-cases/document-verification-service.md).

# Document Verification Service

**One line:** Use VisaDoc's AI to verify and cross-check documents — validity, compliance, and consistency with the application.

**Best for:** Partners who want VisaDoc's document intelligence without adopting the rest of the journey wholesale.

> **Note:** there is no `POST /documents/new` in v3. Document slots are created when the application is created, so this pattern **layers on top of a fulfilment pattern** — you can't collect documents against a case that doesn't exist yet.

## Flow

```mermaid
sequenceDiagram
  participant You
  participant VisaDoc
  You->>VisaDoc: POST /applications/new
  Note over VisaDoc: Slots created automatically
  You->>VisaDoc: POST /documents/search (by application_id)
  VisaDoc-->>You: slots
  You->>VisaDoc: POST /documents/{id}/upload (starts verification)
  loop until resolved
    You->>VisaDoc: GET /documents/{id}
    VisaDoc-->>You: cross_check_passed / issues_count / data
  end
```

1. Create the case (`POST /applications/new`) → document slots appear automatically.
2. `POST /documents/search` (`{ filters: { application_id } }`) to see the slots.
3. `POST /documents/{document_id}/upload` to submit a file — this starts verification.
4. Poll `GET /documents/{document_id}` for `cross_check_passed`, `issues_count`, `data`; use `POST /documents/search` (`{ status: "Error" }`) to monitor failures across cases.

**Consider:** Verification is asynchronous — treat the immediate upload response as provisional and poll. Documents pass through your product, so the data-handling note from the [full flow](/use-cases/white-label-flow.md) applies.

**Endpoints:** `POST /applications/new`, `POST /documents/search`, `POST /documents/{document_id}/upload`, `GET /documents/{document_id}`.
