Retain a supported DOCX and approved policy snapshot before starting analysis, using a caller-owned idempotency key.
Access
Requires app_topolo_contracts.workspace:write and the intended authenticated organization and workspace. Select the permitted workspace through the supported resource-binding flow; do not add a workspace id to strict action input. Honor the action’s explicit confirmation requirement, including for a GET export. Any required JSON confirmation value is separate from transport/client confirmation.
Steps
- Select an approved, non-retired playbook; supply policyId and policyVersion together or omit both.
- Choose a supported main-body DOCX and a fresh idempotencyKey for this intended intake. Retain the same key and identical payload while reconciling an uncertain response.
- Read the returned intake before explicitly starting intakes.analyze at its current version.
Identifiers
- Discover the approved policy with policies.list/policy.get. The response assigns the intake id; idempotencyKey is not that id.
Request
POST /api/intakes
Action: app_topolo_contracts.intakes.create.
contractType: required, one ofmutual_nda,customer_order_form,custom_contract.policyId: optional.policyVersion: optional, integer.title: required, string, at least 3 characters, at most 160 characters.counterparty: required, string, at least 2 characters, at most 160 characters.filename: required, string, at least 6 characters, at most 180 characters.docxBase64: required, string, at least 1 characters, at most 2100000 characters.idempotencyKey: required, UUID.
Response and effects
- Validates and parses the DOCX, hashes the original bytes, stores a protected source object, then conditionally persists the uploaded intake and a retention audit event.
- A compatible replay of the same key returns the existing intake. Different bytes/title/counterparty/filename/type or explicit policy selection under that key cause a conflict. This retention operation does not call the analysis provider.
- DOCX must be at most 1.5 MB compressed, with 100–60,000 extracted characters and supported main-body content. No PDFs, macros, external relationships, embedded media, headers/footers, notes, comments or fields.
- Object retention and database persistence are separate effects with attempted cleanup. A failure or lost response is not proof that nothing was stored. The returned intake omits internal object keys and the full policy body.
Examples
Example request and response
Request input:
{
"contractType": "mutual_nda",
"policyId": "default",
"policyVersion": 1,
"title": "Documentation specimen",
"counterparty": "Example Beta",
"filename": "documentation-specimen.docx",
"docxBase64": "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",
"idempotencyKey": "33333333-3333-4333-8333-333333333333"
}
Illustrated response:
{
"intake": {
"id": "11111111-1111-4111-8111-111111111111",
"title": "Documentation specimen",
"counterparty": "Example Beta",
"contractType": "mutual_nda",
"filename": "documentation-specimen.docx",
"sha256": "6ca130ea78e011afbd4384bbe0ee82ea155a8bb65b7cad0f17932c3b402c6174",
"status": "uploaded",
"version": 1,
"attempts": 0,
"createdAt": "2026-10-21T00:00:00.000Z",
"leaseUntil": null,
"reviewId": null,
"error": null,
"policyId": "default",
"policyVersion": 1,
"policyApprovedBy": "user_documentation_fixture",
"policyApprovedAt": "2026-10-21T00:00:00.000Z"
}
}
HTTP 201 illustration. Hypothetical authorized operation only; inspect the action-specific fields and boundaries below.
Refusal or dependency failure
If: The same idempotencyKey already identifies a retained intake whose source digest or other bound upload fields differ from this otherwise valid specimen request.
Request input:
{
"contractType": "mutual_nda",
"policyId": "default",
"policyVersion": 1,
"title": "Documentation specimen",
"counterparty": "Example Beta",
"filename": "documentation-specimen.docx",
"docxBase64": "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",
"idempotencyKey": "33333333-3333-4333-8333-333333333333"
}
Source error-code excerpt (HTTP 409):
{
"error": "intake_idempotency_conflict"
}
Read existing intakes and preserve the original key/payload; do not use a new key merely to evade a mismatch.
Refusal or dependency failure
If: Workspace/protection checks succeeded, but the intake route receives a non-domain storage failure during its scoped read or persistence work. Its generic catch emits this code; prior write effects are not assumed absent.
Request input:
{
"contractType": "mutual_nda",
"policyId": "default",
"policyVersion": 1,
"title": "Documentation specimen",
"counterparty": "Example Beta",
"filename": "documentation-specimen.docx",
"docxBase64": "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",
"idempotencyKey": "33333333-3333-4333-8333-333333333333"
}
Source error-code excerpt (HTTP 503):
{
"error": "contract_intake_unavailable"
}
Reconcile retained intake/object effects before retrying the same intended upload.
Compatible idempotency replay after reconciliation
Request input:
{
"contractType": "mutual_nda",
"policyId": "default",
"policyVersion": 1,
"title": "Documentation specimen",
"counterparty": "Example Beta",
"filename": "documentation-specimen.docx",
"docxBase64": "UEsDBBQAAAAIAAAAVV09TZnn7QAAAB8CAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbK2Ru07DMBSGX8XyWiVOGRBCSTpQGIGhPIBlnyQWvsnntJS356S3ARVYGO3/8v2y29U+eLGDgi7FTi7rRgqIJlkXx06+bZ6qO7nq281nBhRsjdjJiSjfK4VmgqCxThkiK0MqQRMfy6iyNu96BHXTNLfKpEgQqaK5Q/btGga99SQe93x9xBbwKMXD0TizOqlz9s5oYl3tov1GqU6EmpMHD04u44INUl0lzMrPgFPuhd+hOAviVRd61oFd6iMVq2wy28DJ+veaKzvTMDgDl/zclksygMgPHHx9UYJ2cfHXDgQizuH/7zg3nyeow4/3X1BLAwQUAAAACAAAAFVdXzOVUpUAAAAHAQAACwAAAF9yZWxzLy5yZWxzjc87DsIwDAbgq0Q+QJ0yMKCmXVi6Ii4QJW5T0TzkhNftycBAEQOjf//6LHfDw6/iRpyXGBS0jYSh70606lKD7JaURW2ErMCVkg6I2TjyOjcxUaibKbLXpY48Y9LmomfCnZR75E8DtqYYrQIebQvi/Ez0jx2naTF0jObqKZQfJ74aVdY8U1Fwj2zRvuOmsoB9h5sX+xdQSwMEFAAAAAgAAABVXY62Up8ZAQAAswEAABEAAAB3b3JkL2RvY3VtZW50LnhtbEVRy04DMQz8FWvPdFM4IFT1IZBA4oZE+QCTuJuoeSn2dtu/J9kVcJnI49GM7WwP1+DhQoVdirvuvl93QFEn4+Kw676Ob6un7rDfThuT9BgoClR95M2066xI3ijF2lJA7lOmWHunVAJKLcugplRMLkkTc7ULXj2s148qoItds/xO5tbe3KA0kP3nLYolcRp+A1HqZMCZtKslVH94vWLInuDZZ4uA0fwxLyTYw9E6hhazahGQseBQMFswFFJkKSjEwGksmqCQ1JSW0YwQ7BgwVvbiaIK6wfnk09TDu7TowBATVDeiNtsd1PUuztBC51aRAU8DehBq8tmUmYosGi1j7S1S9P1Wta0blhnnWzBp+ShqJpYjqf8P2P8AUEsDBBQAAAAIAAAAVV1wO0JYlAAAAAMBAAAcAAAAd29yZC9fcmVscy9kb2N1bWVudC54bWwucmVsc42POw7CMBBEr2LtAbKBggLFSUNDC1zAcjaORfyRd0Fwe9wgiERBOR+90XTDIyzqToV9iho2TQtD351oMVINnn1mVRuRNcwieY/IdqZguEmZYk2mVIKRKovDbOzVOMJt2+6wfDNgzVTHUUM5jmcS8dExqMsz0z8TaZq8pUOyt0BRfiwhf5imOBINb6epLMC+w9W9/gVQSwMEFAAAAAgAAABVXcALnlF/AAAAmQAAABEAAAB3b3JkL3NldHRpbmdzLnhtbEWNSw7CIBCGr9Kwt4MujCFAdx7A6AEIHVtiGQhDiseXrlz+z09P37gNOxYOiYw4j1IMSD7NgRYjXs/76SYmq5tirLV7PPQ+sWpGrLVmBcB+xeh4TBmpZ+9UoqtdlgVaKnMuySNzn8YNLlJeIbpA4risxfnPA/dwsBmshj/G/gBQSwECFAMUAAAACAAAAFVdPU2Z5+0AAAAfAgAAEwAAAAAAAAAAAAAAgAEAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQIUAxQAAAAIAAAAVV1fM5VSlQAAAAcBAAALAAAAAAAAAAAAAACAAR4BAABfcmVscy8ucmVsc1BLAQIUAxQAAAAIAAAAVV2OtlKfGQEAALMBAAARAAAAAAAAAAAAAACAAdwBAAB3b3JkL2RvY3VtZW50LnhtbFBLAQIUAxQAAAAIAAAAVV1wO0JYlAAAAAMBAAAcAAAAAAAAAAAAAACAASQDAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzUEsBAhQDFAAAAAgAAABVXcALnlF/AAAAmQAAABEAAAAAAAAAAAAAAIAB8gMAAHdvcmQvc2V0dGluZ3MueG1sUEsFBgAAAAAFAAUAQgEAAKAEAAAAAA==",
"idempotencyKey": "33333333-3333-4333-8333-333333333333"
}
Illustrated response:
{
"intake": {
"id": "11111111-1111-4111-8111-111111111111",
"title": "Documentation specimen",
"counterparty": "Example Beta",
"contractType": "mutual_nda",
"filename": "documentation-specimen.docx",
"sha256": "6ca130ea78e011afbd4384bbe0ee82ea155a8bb65b7cad0f17932c3b402c6174",
"status": "uploaded",
"version": 1,
"attempts": 0,
"createdAt": "2026-10-21T00:00:00.000Z",
"leaseUntil": null,
"reviewId": null,
"error": null,
"policyId": "default",
"policyVersion": 1,
"policyApprovedBy": "user_documentation_fixture",
"policyApprovedAt": "2026-10-21T00:00:00.000Z"
}
}
HTTP 201 illustration. Same key and identical intended payload return the retained intake; no analysis is started.
Verify the result
- Check id, uploaded/other retained status, version, attempts, source sha256 and captured policy version/approver; then use intakes.get to reconcile the same id.
Recovery
- 409
intake_idempotency_conflict: Read existing intakes and preserve the original key/payload; do not use a new key merely to evade a mismatch. - 409
workspace_policy_required: Obtain the authorized approved policy before retaining the document. - 400
docx_review_content_unsupported: Supply a supported document containing all material terms; do not silently omit unsupported content. - 503
contract_intake_unavailable: Reconcile retained intake/object effects before retrying the same intended upload. - 401
authentication_required: Outer authentication/authorization contract: Authenticate again or provide a valid Topolo API key. Reconcile uncertain earlier write effects before any retry. - 403
permission_denied: Outer authentication/authorization contract: Grant the credential permission workspace:write and the required resource binding. Reconcile uncertain earlier write effects before any retry. - 429
rate_limited: Outer authentication/authorization contract: Wait for Retry-After when present, then retry without parallel duplicate calls. Reconcile uncertain earlier write effects before any retry.
List/read retained intakes before retrying. Use the same idempotency key and identical input for the same intent. A new intake requires a separate intended upload; erasure is a separately confirmed privacy operation, not automatic compensation.
Source and example limits — 21 October 2026: based on reviewed Contracts source 4bfd49a; current serving association is unverified. All requests, responses, approvals and document specimens shown are fictional and unrun. Offline schema/ZIP/XML checks do not prove application acceptance, legal completeness, provider outcomes or human approval.