Legal opinion on your documents

The full document-based legal opinion, the one the LandLens workspace produces: upload the buyer's documents (sale deeds, patta, EC, approvals, tax receipts), name the parcel, and every document is read, classified and cross-checked against the land, registration, planning and court registers before the AI opinion (verdict, risk score, title chain, red flags, recommendations) generates. Actions: "upload" stores one file (file_name plus file_base64; pdf/jpg/png/doc/docx, up to 25 MB; kept 24 hours). One call carries at most 700 KB of file, so send a bigger file in parts: part 1 of N with file_name, then parts 2..N with the upload_id the first part returned, each part the base64 of the next slice of the file; "uploads" lists what is waiting; "remove" drops one; "create" returns a PROPOSAL with the itemised quote (survey_numbers, lat, lng and the revenue codes the free parcel lookup returns, plus an optional questionnaire); once the user approves it, the project is created, billed and started; "status" polls a project (progress, and anything the pipeline is waiting on); "answer" records replies to its questions and attaches documents (upload first, then document_actions for a requested one or attach_upload_ids for any other), submit_all true to continue. The finished report is read with the legal opinion report reader. Every action here is free; the approved run costs 10 credits for up to 100 pages, 4 per further 50 pages and 2 per survey number beyond 3, billed when approved.

post/api/v1/tools/legal_opinion_project

Request

  • Base URL: https://verified.realestate
  • URL: https://verified.realestate/api/v1/tools/legal_opinion_project
  • Auth: HTTP bearer

Request body

action'upload' | 'uploads' | 'remove' | 'create' | 'status' | 'answer' required
file_namestring

upload: the file name with its extension, e.g. sale-deed-2019.pdf

file_base64string

upload: the file contents, base64 encoded (at most 950,000 characters per call; bigger files in parts)

partinteger

upload: this part number, 1-based, when a file is sent in parts

partsinteger

upload: how many parts the file is sent in (omit for a single-call upload)

is_merged_uploadboolean

upload: true when one file holds several documents scanned together

upload_idstring

remove: the upload_id to drop; upload parts 2..N: the upload_id part 1 returned

namestring

create: a name for the project (optional)

survey_numbersstring[]

create: survey numbers with sub-division, e.g. ["163/2A", "164"]; the first is the primary

latnumber
lngnumber
district_codestring

create: revenue codes from the free parcel lookup; they let the register checks run without guessing

district_namestring
taluk_codestring
taluk_namestring
village_codestring
village_namestring
rural_urban'rural' | 'urban'
firka_ward_numberstring
urban_block_numberstring
sro_codestring

create: the sub-registrar office code from the free SRO lookup or the EC in hand; used when the revenue codes do not map to an office, common in Chennai

sro_namestring
upload_idsstring[]

create: which pending uploads to include; all of them when omitted

survey_numbers_uncertainboolean
taluk_details_uncertainboolean
project_idinteger

status/answer: the project

document_actionsobject

answer: keyed by the missing document id from status; each {action: uploaded|not_available|explained|identifier_provided, upload_id?, value?}

question_answersobject

answer: keyed by the question id from status; the answer text

attach_upload_idsstring[]

answer: pending uploads to add to the project as further documents when they answer no particular request

submit_allboolean

answer: true to hand the answers to the pipeline and continue

Response

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

Changes

No recorded changes to this operation across all 1 revision of this API.