# annotate_document **Describe a document** Record what a document is and who it involves, so it can be found later by counterparty and ordered by its own date. This is the only way to classify a file that was uploaded through the web app or protected before it had a classification. ⛔ MERGES rather than replaces, so sending one field never blanks the others. ⛔ Returns 409 if a PERSON set the classification: a human decision is not overwritten. ⚠️ `abstract` describes what the document SAYS and is refused with 403 unless the organisation has enabled abstracts. `documentDate` is the date you read off the page and is NOT proven by immut, unlike the protection date. Never present the two as the same kind of fact. - Access: write - Calls: `/api/v1/documents/` ## Arguments | Name | Type | Required | Description | |---|---|---|---| | `documentId` | string | **yes** | The document to describe | | `parties` | string | no | Named counterparties, e.g. ["Acme Corp"] | | `documentDate` | string | no | The date ON the document, ISO 8601. Agent-read, NOT proven | | `abstract` | string | no | One or two lines on what it holds. Needs org consent | | `docType` | string | no | contract \| ip_disclosure \| policy \| board \| financial \| corporate \| other | | `docState` | string | no | executed \| issued \| draft \| template \| proposal \| superseded \| unknown | | `reason` | string | no | One citable reason for the classification | ## Tool contract ```json { "name": "annotate_document", "title": "Describe a document", "description": "Record what a document is and who it involves, so it can be found later by counterparty and ordered by its own date. This is the only way to classify a file that was uploaded through the web app or protected before it had a classification. ⛔ MERGES rather than replaces, so sending one field never blanks the others. ⛔ Returns 409 if a PERSON set the classification: a human decision is not overwritten. ⚠️ `abstract` describes what the document SAYS and is refused with 403 unless the organisation has enabled abstracts. `documentDate` is the date you read off the page and is NOT proven by immut, unlike the protection date. Never present the two as the same kind of fact.", "access": "write", "destructive": false, "hostedOnProduction": true, "restEndpoint": "/api/v1/documents/", "arguments": { "documentId": { "type": "string", "required": true, "description": "The document to describe" }, "parties": { "type": "string", "required": false, "description": "Named counterparties, e.g. [\"Acme Corp\"]" }, "documentDate": { "type": "string", "required": false, "description": "The date ON the document, ISO 8601. Agent-read, NOT proven" }, "abstract": { "type": "string", "required": false, "description": "One or two lines on what it holds. Needs org consent" }, "docType": { "type": "string", "required": false, "description": "contract | ip_disclosure | policy | board | financial | corporate | other" }, "docState": { "type": "string", "required": false, "description": "executed | issued | draft | template | proposal | superseded | unknown" }, "reason": { "type": "string", "required": false, "description": "One citable reason for the classification" } } } ```