---
title: "Verify My Land order"
method: POST
path: "/api/v1/tools/vml"
---

# Verify My Land order

`POST /api/v1/tools/vml`

## Request

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

Verify My Land (VML), the 33+ check land verification report: action "list" shows the user's past verifications (free); action "create" runs a NEW full verification - ownership, EC, FMB, terrain, taxes and 24 regulatory/environmental zone checks - saved to their account with the full report page (4 credits for one survey; returns an approval card the user must confirm; resolve the parcel first); action "read" returns the verdicts of an existing verification for analysis (free). MULTI-SURVEY: to verify several parcels at once (the user uploaded several pattas and said "verify all", or drew a region and asked to verify every parcel in it), pass "surveys" - an array of the resolved parcels. It produces ONE combined report and bills 4 + 2 per extra survey (5 surveys = 12 credits). The FIRST survey in the list must carry a lat/lng (resolve it with the survey-to-map lookup or the parcel lookup); each entry should carry its own district_code/taluk_code/village_code so surveys in different villages resolve correctly. Use for "verify this land", "full verification report", "run VML", "verify all these", "verify every parcel in this region", and follow-ups on past verifications. Listing and reading are free; a new Verify My Land report is quoted as a proposal, run only once the user approves it.

## Request body

- object
  - `action` 'list' | 'create' | 'read', required
  - `lat` number: create (single parcel): latitude (resolve the parcel first)
  - `lng` number: create (single parcel): longitude
  - `surveys` object[]: create (MULTI-survey): the parcels to verify in one combined report. First entry is the primary and MUST have lat/lng. Give each its own revenue codes so cross-village surveys resolve.
    - `survey_number` string, required
    - `sub_division` string
    - `lat` number: required on the FIRST (primary) entry
    - `lng` number: required on the FIRST (primary) entry
    - `district_code` string
    - `taluk_code` string
    - `village_code` string
    - `district_name` string
    - `taluk_name` string
    - `village_name` string
  - `verification_id` integer: read: which verification (from list). Omit for the most recent.

## 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/7923c1c24431?raw)
