Skip to main content

Endpoint

Authentication

This endpoint requires authentication via API key. Include your API key in the X-API-Key header:

Path Parameters

Request Body

The request body must be a JSON object with the following fields:

Required Fields

Optional Fields

File Object Fields

Provide exactly one upload mode:
  • New version of an existing document - provide file_uuid and leave new_document_to_negotiate as false.
  • New negotiation document - set new_document_to_negotiate to true and omit file_uuid.
Providing both, or neither, returns a 422 Validation Error.

Request Example

Response

Success Response

Status Code: 200 OK

Response Fields

Error Responses

401 Unauthorized

Returned when authentication fails. See the authentication errors section for details.

404 Not Found

Returned when the task doesn’t exist or you don’t have access to it.

409 Conflict

Returned when the task is not at a negotiation step or the upload conflicts with the current step state.

422 Validation Error

Returned when the request body is invalid, including when neither file_uuid nor new_document_to_negotiate is provided, or when both are provided.

500 Internal Server Error

Returned when the upload fails due to a server error.

Notes

To find the file_uuid of an existing negotiation document, call Get Latest Negotiation Versions and reuse the returned file_uuid.
Set uploading_party to reflect who produced this version. It feeds the our_party_changes flag and helps track negotiation turn order.
The presigned download URL expires after a certain time (indicated by expires_at). Download the file before the URL expires or request it again.

Use Cases

This endpoint is useful for:
  • Round-trip negotiation - Upload counterparty redlines or your own revisions as new versions
  • External drafting tools - Push documents edited outside Chamelio back into the negotiation thread
  • New document negotiation - Start a fresh negotiation document on a step with new_document_to_negotiate
  • Integration - Sync externally managed contract versions into the workflow