API documentation for LegalOn services
- Update a matter
LegalOn API (1.2.0)
- 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/matters/{matter_id}
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X GET \
'https://{api_base_url_without_scheme}/rest/v1/matters/{matter_id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'OK
Matter type.
Matter status.
Secondary assignees of the matter.
Custom attributes set on the matter.
Definition of a matter custom attribute.
LegalOn-generated custom attribute definition ID.
Custom attribute display name.
Value type of the custom attribute.
Display order of the custom attribute.
Selectable options. Empty for non-selection attributes.
Selected option IDs for a selection attribute.
Workspace reference. Both fields are omitted and an empty object is returned when the credential owner cannot view the workspace.
{ "matter_id": "00000000-0000-0000-0000-000000000001", "matter_number": "MAT-0001", "title": "Review NDA", "overview": "Please review this NDA.", "matter_type": "contract_review", "status": { "status_id": "00000000-0000-0000-0000-000000000002", "display_name": "In progress" }, "secondary_assignee": [], "custom_attributes": [], "workspace": { "workspace_id": "00000000-0000-0000-0000-000000000003", "display_name": "Legal" }, "created_at": "2026-08-18T00:00:00Z", "last_message_at": "2026-08-18T00:00:00Z" }
Request
Partially updates matter fields, the requester, requesting department, status, assignees, and custom attributes in one request.
- When a requester is specified, LegalOn resolves an active user first; if no matching user exists, it reuses an existing guest or creates a new guest.
- If requester is omitted, the existing requester is retained; other omitted fields remain unchanged.
Matter partial update request.
Matter due date. Set to null to clear the due date; omit to leave it unchanged.
Requester identified by email address and name. A user or guest ID cannot be specified directly.
Complete list of sub-assignee user IDs. An empty array clears all sub-assignees. The same user ID cannot be specified more than once.
- 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/matters/{matter_id}
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X PATCH \
'https://{api_base_url_without_scheme}/rest/v1/matters/{matter_id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"title": "Review mutual NDA",
"due_date": null,
"status_id": "00000000-0000-0000-0000-000000000002",
"requester": {
"email": "requester@example.com",
"name": "Request User"
},
"main_assignee_id": "00000000-0000-0000-0000-000000000004",
"sub_assignee_ids": [
"00000000-0000-0000-0000-000000000005"
],
"custom_attributes": [
{
"custom_attribute_definition_id": "00000000-0000-0000-0000-000000000010",
"text_value": "High priority"
}
]
}'- 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/matters/{matter_id}
- cURL
- JavaScript
- Python
- Java
- Go
curl -i -X DELETE \
'https://{api_base_url_without_scheme}/rest/v1/matters/{matter_id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Workspaces
Workspaces/folders are the common units used to store and organize resources such as contracts. This endpoint returns the workspaces/folders the calling user has access to, as a tree. For operations that target a workspace (e.g., the Contract API), specify the workspace_id obtained here. To manage workspaces across the tenant (creation, permissions, etc.), see the admin workspace operations (/spaces).