Documents and due diligence
8 tools. Generated from the MCP server: names, inputs and prices match the code.
Get Dataroom
Get one dataroom with the objects detected inside it, including each object’s status and how many files and pages it holds. shared_files on an object lists documents that live with another object and count for this one too.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | yes |
RESTGET /api/v1/datarooms/{id}
List Datarooms
List the caller's datarooms, newest first; archived ones only with archived=true. A dataroom is an uploaded archive of property documents being checked for completeness. Each row names its archives' file names, its objects (label, address, linked property), how many clarification questions are still open, and the analysis progress while the analysis runs.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | |
| offset | integer | no | |
| archived | boolean | no |
RESTGET /api/v1/datarooms
Delete Document
Delete a document and everything derived from it. Cannot be undone.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | yes |
RESTDELETE /api/v1/documents/{id}
Extract Document
Extract a document's structured fields for its current type, for example after correcting the type with documents_patch. A document still typed `other` that was never extracted is classified first. Refused while the document has no OCR text yet. Costs 0.02 credits per page only for the first extraction of a document (API credits over a connector, API key or OAuth grant). Returns job_id; poll jobs_get, then read documents_get with include ["extraction"].
Price
- 0.02 API creditsper page, once per document (its first extraction)
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | yes |
RESTPOST /api/v1/documents/{id}/extract
Get Document
Read a document by document_id: filename, type, page_count and is_processing (true until OCR is done; poll the upload job with jobs_get). include adds what you need. "extraction" adds the structured extraction: every document type has a dedicated extraction kind with type-specific structured fields (e.g. rent_roll units/rents, owners_association_meeting_minutes with per-TOP resolutions and votes across all bundled protocols, rental_contract terms, purchase_contract facts, bank_statement transactions + recurring rent credits); only type `other` falls back to generic_summary. Every payload additionally carries a human-readable German `summary` and `source_notes`. `extraction` is the primary result (the completed row of the current type), `extractions` every row, newest first. "text" adds the OCR text as content_text. Prefer the extraction over the text when acting on document data.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | yes | |
| include | array<string> | no | What to add to the document: its OCR text, its structured extraction, or both.Values:textextraction |
RESTGET /api/v1/documents/{id}
Update Document
Patch document name, type, or path. Changing the type automatically re-runs structured extraction for the new type (result includes reextract_job_id to poll with jobs_get).
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| document_id | string | yes | |
| name | string | null | no | |
| type | string | no | Values:tenant_operating_costs_statementexposeowners_association_meeting_minutesowners_association_operating_costs_statementcondominium_declarationenergy_certificateland_registerrental_contractpurchase_contracteconomic_planrent_rollbank_statementcadastral_mapfloor_planbuilding_permitloan_agreementinsurance_policyproperty_tax_noticeproperty_management_contractinspection_reportrenovation_invoicevaluation_reportliving_area_calculationother |
| path | string | null | no |
RESTPATCH /api/v1/documents/{id}
Upload Document
Upload a document (base64) to the data room: Leverage reads its text (OCR), detects the document type and extracts its structured fields. path (required) is its data-room path including the filename. Costs 0.02 credits per page (API credits over a connector, API key or OAuth grant). Max 50 MB. Allowed MIME types: PDF, Excel (xls, xlsx), PowerPoint (pptx), Word (docx) and images (PNG, JPEG, WebP, TIFF), e.g. a scanned floor plan. Omit document_type to auto-classify; pass it to skip classification. document_type_hint marks the expected type during OCR (completeness shows it as pending) without skipping classification. Pass property_id to link the document to a property at upload. Returns job_id + document_id; poll jobs_get, then read documents_get with include ["extraction"].
Price
- 0.02 API creditsper page, once per document (its first extraction)
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| filename | string | yes | |
| content_base64 | string | yes | |
| mime | string | yes | |
| document_type | string | no | Values:tenant_operating_costs_statementexposeowners_association_meeting_minutesowners_association_operating_costs_statementcondominium_declarationenergy_certificateland_registerrental_contractpurchase_contracteconomic_planrent_rollbank_statementcadastral_mapfloor_planbuilding_permitloan_agreementinsurance_policyproperty_tax_noticeproperty_management_contractinspection_reportrenovation_invoicevaluation_reportliving_area_calculationother |
| document_type_hint | string | no | Values:tenant_operating_costs_statementexposeowners_association_meeting_minutesowners_association_operating_costs_statementcondominium_declarationenergy_certificateland_registerrental_contractpurchase_contracteconomic_planrent_rollbank_statementcadastral_mapfloor_planbuilding_permitloan_agreementinsurance_policyproperty_tax_noticeproperty_management_contractinspection_reportrenovation_invoicevaluation_reportliving_area_calculationother |
| property_id | string | no | |
| path | string | yes |
RESTPOST /api/v1/documentsREST takes the file as multipart/form-data, not content_base64.
Get Due Diligence Report
Fetch a completed due diligence report with issues and per-document analysis. The report is an automated aid, not legal or tax advice. When you relay findings, include the `notice` text and do not state conclusions about the user's legal position (whether a clause is valid, a claim exists or a termination is possible); say what the document says and who should check it. Over a connector, API key or OAuth grant: Max 5x plan and up.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| property_id | string | yes | |
| report_id | integer | yes |
RESTGET /api/v1/properties/{id}/dd-reports/{reportId}