API documentation for LegalOn services
- Delete a contract
List contracts
Create a contract document
List contract custom attribute definitions
Get contract custom attribute values
Update contract custom attribute values
Update contract management attributes
Get contract information
Upload a new latest version
List contract versions
Update contract information
Delete a contract version
Link an existing non-contract file to a contract
Link another contract
Upload other file
Remove a related file link from a contract
Delete a contract
LegalOn API (1.3.1)
Languages
Servers
The server URL is `{api_base_url}/rest/v1`.
You can construct the server URL using the value of `api_base_url` provided in the response when obtaining an access token.
https://{api_base_url_without_scheme}/rest/v1
- The server URL is `{api_base_url}/rest/v1`.
You can construct the server URL using the value of `api_base_url` provided in the response when obtaining an access token.
https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X GET \
'https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}?document_version_id=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
Document processing status
Enum"PROCESSING""READY""REJECTED""FAILED""SKIPPED"
Preview availability status
Enum"PROCESSING""READY""NOT_AVAILABLE""FAILED"
Item-level metadata extraction statuses. Omitted fields are not available from the current internal source.
Item-level metadata extraction status
Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
Item-level metadata extraction status
Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
metadata_extraction_statuses.​contract_category_positions_statusstring(metadata_extraction_status)
Item-level metadata extraction status
Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
Item-level metadata extraction status
Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
Contract metadata.
Contract document status code returned in contract metadata.
Enum"COUNTERPARTY_DRAFT""INTERNAL_DRAFT""COUNTERPARTY_REVISION""INTERNAL_REVISION""APPROVED_VERSION""READY_FOR_SIGNATURE""SIGNED"
Contract category and position classifications.
Non-contract related files attached to the contract. Returns up to 30 files ordered by latest related file version creation timestamp in descending order.
Response
application/json
{ "document_id": "00000016-0000-0000-0001-100000000001", "document_version_id": "00000016-0000-0000-0001-100000000101", "file_name": "nda_2026_05_08.pdf", "mime_type": "application/pdf", "workspace_ids": [ "00000023-0000-0000-0001-000000000020" ], "created_at": "2026-05-08T03:12:34Z", "updated_at": "2026-05-08T03:13:20Z", "document_processing_status": "PROCESSING", "preview_status": "READY", "metadata_extraction_statuses": { "title_status": "COMPLETED", "language_code_status": "COMPLETED", "contract_category_positions_status": "COMPLETED", "own_party_status": "PROCESSING", "counter_party_status": "PROCESSING" }, "metadata": { "title": "Confidentiality Agreement", "language_code": "en", "contract_category_positions": [ … ], "own_parties": [ … ], "counter_parties": [ … ] }, "related_files": [ { … } ], "preview": [ { … } ] }
- The server URL is `{api_base_url}/rest/v1`.
You can construct the server URL using the value of `api_base_url` provided in the response when obtaining an access token.
https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X DELETE \
'https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Bodymultipart/form-datarequired
Contract version file. The filename and media type come from the multipart file part.
- The server URL is `{api_base_url}/rest/v1`.
You can construct the server URL using the value of `api_base_url` provided in the response when obtaining an access token.
https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}/versions
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X POST \
'https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}/versions' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: multipart/form-data' \
-F file=string \
-F document_status_code=COUNTERPARTY_DRAFTResponse
application/json
{ "document_version_id": "00000016-0000-0000-0001-100000000102" }