# Verify or reject a document

`POST /lokta-lms/api/v1/sourcing-partners/{partnerId}/documents/{documentId}/verification`

Verifies or rejects a partner document.

`{"status": "verified"}` or `{"status": "rejected", "reason": "…"}`.

A rejection needs a reason and a verification does not; the same asymmetry as deactivating a partner. Accepting a document is the expected outcome and explains itself; refusing one stops an onboarding, and the partner has to be told what to send instead.

A document cannot be returned to `pending`. That would erase the fact that somebody looked at it, which is the one thing the verification record exists to preserve.

The checklist's `expired` still outranks a stored `verified`, so verifying a document whose `valid_to` has passed does not make it current.

## Parameters
- `partnerId` (path, string, required)
- `documentId` (path, string, required)

## Request body (application/json)
- `status` (string, required): The decision. A document cannot be returned to pending.
- `reason` (string): Required when the status is rejected, so the partner knows what to send instead.

## Responses
- `default`: default response

## Example request (cURL)
```bash
curl -X POST \
  'https://default.lokta.tech/lokta-lms/api/v1/sourcing-partners/{partnerId}/documents/{documentId}/verification' \
  -u '{username}:{password}' \
  -H 'Tenant-Identifier: default' \
  -H 'Content-Type: application/json' \
  -d '{
  "status": "verified",
  "reason": "string"
}'
```

Interactive: https://developer.lokta.ai/reference#operation/verify
