> For the complete documentation index, see [llms.txt](https://docs.emudhradigital.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.emudhradigital.com/documentation/digital-signature-validation-tool/validation-api.md).

# Validation API

The Validation API lets systems verify signed documents automatically — for example when a customer uploads a signed form.

## Example (illustrative)

```http
POST /dsv/v1/validate
Content-Type: multipart/form-data
Authorization: Bearer <token>

file=@signed-application.pdf
validationTime=SIGNING_TIME
trustProfile=INDIA_RCAI
reportFormat=JSON
```

```json
{
  "overallStatus": "VALID",
  "documentHash": "SHA256:a3f5…9c",
  "signatures": [
    {
      "index": 1,
      "status": "VALID",
      "signerName": "RAVI KUMAR",
      "signingTime": "2026-10-12T10:16:42+05:30",
      "certificateIssuer": "<eMudhra issuing CA name>",
      "certificateClass": "eKYC",
      "timestamp": { "status": "VALID", "time": "2026-10-12T10:16:43+05:30" },
      "revocation": { "status": "GOOD", "source": "EMBEDDED_OCSP" },
      "integrity": "INTACT",
      "modificationsAfterSigning": "NONE"
    }
  ]
}
```

{% hint style="warning" %}
**Review before publishing:** endpoint path, parameters and response schema are illustrative. Replace with the actual DSV API contract.
{% endhint %}

## Integration tips

* Validate at **signing time** for archival documents; at **current time** to confirm present trust status.
* Reject uploads with `INVALID`; route `INDETERMINATE` to manual review.
* Store the returned report alongside the document as evidence.
