---
title: "Verify a patta or TSLR certificate"
method: POST
path: "/api/v1/tools/certificate_verify"
---

# Verify a patta or TSLR certificate

`POST /api/v1/tools/certificate_verify`

## Request

- Base URL: `https://verified.realestate`
- URL: `https://verified.realestate/api/v1/tools/certificate_verify`
- Auth: HTTP bearer

VERIFY A LAND CERTIFICATE against the register that issued it: paste the code printed under the QR on a patta, chitta, A-register or town survey (TSLR) extract, the reference number printed on it, or the whole link a QR scanner opened, and get back what the register says. Use for "is this patta genuine", "verify this TSLR extract", "check this certificate", "scan result of my patta QR", "பட்டா சரிபார்ப்பு". Read `check` and say which kind of check ran: "barcode" decrypted the payload under the QR, which only the register can produce, so it is an authenticity check on the paper; "reference" only looked up the parcel the printed reference names, which confirms the register entry but NOT that this paper came from the register. Read `status`: verified = the register returned a record; not_found = the register returned nothing for it, which is NOT proof of forgery (a re-keyed or newer barcode reads the same way), so say it must be confirmed at the issuing taluk office; rural_reference = a rural certificate reference carries no parcel, so nothing can be looked up from it; unreadable = that is not a code, a reference or a certificate link; unreachable = the portal could not be reached, so nothing is concluded. Never call a certificate fake or genuine on this alone: for an authenticity comparison against the official record, order a certified copy. Costs 1 credit per call, waived when nothing is found.

## Request body

- object
  - `code` string, required: What is printed on the certificate: the long code value under the QR, the reference number (it looks like URB/02/01/004/001/0018/1017/114), or the full link the QR scanner opened.

## Response `200`

The envelope: ok, status, data, credits_charged, balance_after, request_id

## Other responses

- `401`: No valid credential
- `402`: Not enough credits
- `429`: Rate limit

---

[API](https://skmtc.dev/verified/apis/landlens-tool-api.md) · [All operations](https://skmtc.dev/verified/apis/landlens-tool-api/llms.txt) · [OpenAPI document](https://skmtc.dev/verified/apis/landlens-tool-api/revisions/54f851c86cc1?raw)
