Topolo Docs Topolo Platform
Open workspace

Retain contract intake

Retain a supported DOCX and approved policy snapshot before starting analysis, using a caller-owned idempotency key.

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

  1. Select an approved, non-retired playbook; supply policyId and policyVersion together or omit both.
  2. 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.
  3. 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 of mutual_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": "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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. 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.