Skip to content

LegalOn API (1.3.1)

API documentation for LegalOn services

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

Users

Operations about user

Operations

User Groups

Operations about user group

Operations

Workspaces

Operations about all tenant workspaces/folders regardless of the user's access permissions.

Operations

Departments

Operations about department

Operations

Contracts(Files)

Operations to create, retrieve, update, and delete contracts. For operations that target a workspace, specify a workspace_id obtained via the common Workspaces endpoint (GET /workspaces).

Operations

Get contract information

Request

Retrieves information about the specified contract.

Security
OAuth2ClientCredentials
Path
document_idstring(uuid)required

Contract document ID

Query
document_version_idstring(uuid)

Specific version to retrieve. If omitted, the latest version is returned.

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>'

Responses

OK

Bodyapplication/json
document_idstring(uuid)required

Contract document ID

document_version_idstring(uuid)required

Contract document version ID

file_namestring[ 1 .. 255 ] charactersrequired

Contract file name

mime_typestring[ 1 .. 255 ] charactersrequired

Contract file MIME type

workspace_idsArray of strings(uuid)required

Workspaces that contain this contract document.

created_atstring(date-time)required

Contract document creation timestamp.

updated_atstring(date-time)required

Contract document latest update timestamp.

document_processing_statusstring(document_processing_status)required

Document processing status

Enum"PROCESSING""READY""REJECTED""FAILED""SKIPPED"
preview_statusstring(preview_status)required

Preview availability status

Enum"PROCESSING""READY""NOT_AVAILABLE""FAILED"
metadata_extraction_statusesobject(metadata_extraction_statuses)required

Item-level metadata extraction statuses. Omitted fields are not available from the current internal source.

metadata_extraction_statuses.​title_statusstring(metadata_extraction_status)

Item-level metadata extraction status

Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
metadata_extraction_statuses.​language_code_statusstring(metadata_extraction_status)

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"
metadata_extraction_statuses.​own_party_statusstring(metadata_extraction_status)

Item-level metadata extraction status

Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
metadata_extraction_statuses.​counter_party_statusstring(metadata_extraction_status)

Item-level metadata extraction status

Enum"WAITING""PROCESSING""COMPLETED""FAILED""UNAVAILABLE""SKIPPED"
metadataobject(contract_metadata)required

Contract metadata.

metadata.​titlestring[ 1 .. 1000 ] characters

Contract title

metadata.​language_codestring[ 2 .. 35 ] characters

Contract language code

metadata.​document_status_codestring(contract_document_status_code)

Contract document status code returned in contract metadata.

Enum"COUNTERPARTY_DRAFT""INTERNAL_DRAFT""COUNTERPARTY_REVISION""INTERNAL_REVISION""APPROVED_VERSION""READY_FOR_SIGNATURE""SIGNED"
metadata.​contract_category_positionsArray of objects(contract_category_position)

Contract category and position classifications.

metadata.​own_partiesArray of strings(party)

Own party names

metadata.​counter_partiesArray of strings(party)

Counter party names

related_filesArray of objects(related_file)required

Non-contract related files attached to the contract. Returns up to 30 files ordered by latest related file version creation timestamp in descending order.

related_files[].​related_file_idstring(uuid)required

Non-contract related file ID

related_files[].​file_namestring[ 1 .. 255 ] charactersrequired

Non-contract related file name

related_files[].​mime_typestring[ 1 .. 255 ] charactersrequired

Non-contract related file MIME type

previewArray of objects(preview)

Articles in the contract preview.

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": [ { … } ] }

Delete a contract

Request

Deletes the specified contract. All versions and links to related files are also removed (the related files themselves are not deleted).

Security
OAuth2ClientCredentials
Path
document_idstring(uuid)required

Contract document ID

curl -i -X DELETE \
  'https://{api_base_url_without_scheme}/rest/v1/contracts/{document_id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

No Content

Response
No content

Upload a new latest version

Request

Adds a new version to the specified contract.

  • Retrying the request can add another version.
Security
OAuth2ClientCredentials
Path
document_idstring(uuid)required

Contract document ID

Bodymultipart/form-datarequired
filestring(binary)required

Contract version file. The filename and media type come from the multipart file part.

document_status_codestring(document_status_code)

Contract document status code for pre-execution contracts. NONE represents no document status.

Enum"COUNTERPARTY_DRAFT""INTERNAL_DRAFT""COUNTERPARTY_REVISION""INTERNAL_REVISION""APPROVED_VERSION""READY_FOR_SIGNATURE""NONE"
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_DRAFT

Responses

Version created

Bodyapplication/json
document_version_idstring(uuid)required
Response
application/json
{ "document_version_id": "00000016-0000-0000-0001-100000000102" }

Matters

Operations to create, retrieve, update, and delete matters. Matter operations require an API credential owned by a user with a Matter Management Pro license.

Operations

Files

Operations to create and manage files for LegalOn resources.

Operations

Workspaces

Workspaces/folders are the common units used to store and organize resources such as contracts.

Operations