From 7654b10f016d067fc43af7cfd8bd07c10f27edac Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Thu, 29 Jan 2026 14:13:47 +0200 Subject: [PATCH 01/14] CRQ-44335 add task input information --- articles/LCPublicAPI/api/Webhooks.v1.json | 107 +++++++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index c1f52c0..2f92111 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -228,11 +228,15 @@ "id": "1zdzlmo5rwf8k" }, "description": "The failed task type." + }, + "input": { + "$ref": "#/components/schemas/task-input" } }, "required": [ "id", - "name" + "name", + "input" ] }, "failed-task-error": { @@ -563,13 +567,17 @@ }, "format": "date-time", "description": "The project due date.\n\nGMT Timezone\n\nAllowed formats:\\\n\"YYYY-MM-DDThh:mmZ\"\\\n\"YYYY-MM-DDThh:mm:ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sZ\"\\\n\"YYYY-MM-DDThh:mm:ss.ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sssZ\"" + }, + "input": { + "$ref": "#/components/schemas/task-input" } }, "required": [ "id", "status", "taskType", - "assignees" + "assignees", + "input" ] }, "task-event-assignees": { @@ -625,6 +633,101 @@ "automatic" ] }, + "task-input": { + "title": "Task Input", + "type": "object", + "x-stoplight": { + "id": "task-input" + }, + "description": "Information about the task input. Currently only `sourceFile` and `targetFile` objects are populated in webhook events.", + "properties": { + "id": { + "type": "string", + "description": "The input identifier." + }, + "inputType": { + "type": "string", + "enum": [ + "sourceFile", + "targetFile", + "languageDirection", + "project" + ], + "description": "The type of input." + }, + "sourceFile": { + "$ref": "#/components/schemas/task-input-source-file", + "description": "Source file information. Present when inputType is sourceFile." + }, + "targetFile": { + "$ref": "#/components/schemas/task-input-target-file", + "description": "Target file information. Present when inputType is targetFile." + } + }, + "required": [ + "id", + "inputType" + ] + }, + "task-input-source-file": { + "title": "Task Input Source File", + "type": "object", + "x-stoplight": { + "id": "task-input-source-file" + }, + "description": "Source file information for task input.", + "properties": { + "fileVersionId": { + "type": "string", + "description": "The file version identifier." + }, + "version": { + "type": "integer", + "description": "The file version number." + }, + "type": { + "type": "string", + "enum": [ + "nativeSource", + "bcmSource", + "nativeTarget", + "bcmTarget" + ], + "description": "The file type." + } + }, + "required": [ + "fileVersionId", + "version", + "type" + ] + }, + "task-input-target-file": { + "title": "Task Input Target File", + "type": "object", + "x-stoplight": { + "id": "task-input-target-file" + }, + "description": "Target file information for task input. Extends source file with additional sourceFileId.", + "allOf": [ + { + "$ref": "#/components/schemas/task-input-source-file" + }, + { + "type": "object", + "properties": { + "sourceFileId": { + "type": "string", + "description": "The identifier of the source file associated with this target file." + } + }, + "required": [ + "sourceFileId", + "type" + ] + } + ] + }, "webhook": { "title": "Webhook", "type": "object", From 4e2d09c40ffd208c590a7fb4f65826023074ad16 Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Fri, 30 Jan 2026 09:04:41 +0200 Subject: [PATCH 02/14] CRQ-44335 adapt simpler file type --- articles/LCPublicAPI/api/Webhooks.v1.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index 2f92111..6422372 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -688,10 +688,8 @@ "type": { "type": "string", "enum": [ - "nativeSource", - "bcmSource", - "nativeTarget", - "bcmTarget" + "native", + "bcm" ], "description": "The file type." } From 8cb35814e9744a242d3af5560064403db57320cb Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 5 Feb 2026 13:26:43 +0200 Subject: [PATCH 03/14] LTLC-128416 - Adding group changes --- articles/LCPublicAPI/api/Public-API.v1.json | 402 ++++++++++++++++++++ 1 file changed, 402 insertions(+) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index dcfdcc4..f465ef1 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -2627,6 +2627,188 @@ }, "operationId": "GetGroup" }, + "put": { + "tags": [ + "Group" + ], + "summary": "Update Group", + "description": "Updates a group by . We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.md).", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/group-update-request" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content\n", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "description": "Error codes:\n* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response.\n* “maxSize”: Character number or List size exceeds the maximum allowed value for the “name” field on the error response.\n* “minSize”: Character number or List size insufficient for the “name” field on the error response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "401": { + "description": "The user could not be identified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "403": { + "description": "Error codes:\n* \"forbidden\": the authenticated user is not allowed to read the Group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "404": { + "description": "Error codes:\n* \"notFound\": the Group could not be found by identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "409": { + "description": "Error codes:\n* \"conflict\": the request is conflicting with existing data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + } + }, + "operationId": "UpdateGroup" + }, + "delete": { + "tags": [ + "Group" + ], + "summary": "Delete Group", + "description": "Deletes a group by identifier.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "204": { + "description": "No Content\n", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "description": "Error codes:\n* “invalid”: Invalid input in the parameter mentioned in the “name” field on the error response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "401": { + "description": "The user could not be identified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "403": { + "description": "Error codes:\n* \"forbidden\": the authenticated user is not allowed to delete the Group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + } + }, + "operationId": "DeleteGroup" + }, "parameters": [ { "$ref": "#/components/parameters/groupId" @@ -2729,6 +2911,127 @@ } }, "operationId": "ListGroups" + }, + "post": { + "tags": [ + "Group" + ], + "summary": "Create Group", + "description": "Creates a group. Group roles will take effect based on the location, where the group is being created. Read more at [How to use location and folders](../docs/how-to-use-location-and-folders).", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/fields" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/group-create-request" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/group" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "description": "Error codes:\n* “invalid”: Invalid input in the parameter mentioned in the “name” field on the error response.\n* “maxSize”: Character number or List size exceeds the maximum allowed value for the “name” field on the error response.\n* “minSize”: Character number or List size insufficient for the “name” field on the error response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "401": { + "description": "The user could not be identified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "403": { + "description": "Error codes:\n* \"forbidden\": the authenticated user is not allowed create a group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "404": { + "description": "Error codes:\n* \"notFound\": the Location/Roles could not be found by identifier.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "409": { + "description": "Error codes:\n* \"conflict\": the request is conflicting with existing data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + } + }, + "operationId": "CreateGroup" } }, "/languages": { @@ -20746,6 +21049,34 @@ } } }, + "group-additional-roles-request": { + "title": "Group Additional Roles Request", + "x-stoplight": { + "id": "25bc0f4edafe0" + }, + "type": "object", + "description": "Roles granted to the group in addition to the group location.", + "required": [ + "location", + "roles" + ], + "properties": { + "location": { + "type": "string", + "description": "Additional roles granted to this location identifier." + }, + "roles": { + "type": "array", + "minItems": 1, + "maxItems": 10, + "uniqueItems": true, + "description": "The identifiers of the roles granted to the specified location.", + "items": { + "type": "string" + } + } + } + }, "group-request": { "title": "Group Request", "type": "object", @@ -20778,6 +21109,77 @@ "id" ] }, + "group-create-request": { + "title": "Group Create Request", + "x-stoplight": { + "id": "27fdf1f89fe05" + }, + "type": "object", + "description": "Group of users.", + "required": [ + "name", + "location", + "roles" + ], + "allOf": [ + { + "$ref": "#/components/schemas/group-update-request" + }, + { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The folder identifier where the group will be created." + } + } + } + ] + }, + "group-update-request": { + "title": "Group Update Request", + "x-stoplight": { + "id": "27fdf1f89fe05" + }, + "type": "object", + "description": "Group of users.", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "The group name." + }, + "description": { + "type": "string", + "minLength": 1, + "maxLength": 200, + "description": "The group description." + }, + "roles": { + "description": "The identifiers of the roles associated with the group.", + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "additionalRoles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/group-additional-roles-request" + } + }, + "users": { + "type": "array", + "description": "The identifiers of the users who will be part of the group.", + "items": { + "type": "string" + } + } + } + }, "jwk": { "title": "JWK", "type": "object", From e7c871ec27a6fb1d98a0fa5b30dab8c4583b27ce Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 09:49:38 +0200 Subject: [PATCH 04/14] LTLC-127812 - Custom Field Definition --- articles/LCPublicAPI/api/Public-API.v1.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index f465ef1..a4ce596 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -20344,7 +20344,9 @@ "description": "The resource type to which this Custom Field can be applied.", "enum": [ "project", - "customer" + "customer", + "vendor", + "vendorOrderTemplate" ] }, "isReadOnly": { From bb7f9c3b084d54770194f18f0d7b4cc00fe01aa5 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 12:14:38 +0200 Subject: [PATCH 05/14] Adding what's new and fixing broken url --- articles/LCPublicAPI/api/Public-API.v1.json | 2 +- articles/LCPublicAPI/docs/Whats-New.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index a4ce596..97b1a1c 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -2632,7 +2632,7 @@ "Group" ], "summary": "Update Group", - "description": "Updates a group by . We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.md).", + "description": "Updates a group by . We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.html).", "parameters": [ { "$ref": "#/components/parameters/Authorization" diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 1ab04d2..888ded8 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -2,6 +2,14 @@
+## 11 February 2026 +- We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups. +- The available resource types returned by [Get](../api/Public-API.v1-fv.html#/schemas/custom-field-definition) and [List](../api/Public-API.v1-fv.html#/schemas/list-custom-field-definitions-response) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). +- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-input) payload has been enhanced to include additional information about associated source and target files, reducing the need for follow-up API calls. +- For target files, the payload now includes: targetFileId, fileVersionId, version, type (bcm/native), sourceFileId. +- For source files, the payload now includes: sourceFileId, fileVersionId, version, type (bcm/native). +- We fixed various bugs. + ## 8 December 2025 - With this release we deliver full management capabilities for both users and applications. The new user endpoints enable [Create](../api/Public-API.v1-fv.html#/operations/CreateUser), [Update](../api/Public-API.v1-fv.html#/operations/UpdateUser), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteUser) operations, while application management now supports all CRUD operations: [Get](../api/Public-API.v1-fv.html#/operations/GetApplication), [List](../api/Public-API.v1-fv.html#/operations/ListApplications), [Create](../api/Public-API.v1-fv.html#/operations/CreateApplication), [Update](../api/Public-API.v1-fv.html#/operations/UpdateApplication), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteApplication). - As announced in November 2024, the `language` and `targetLanguages` fields in [Add Source File Request](../api/Public-API.v1-fv.html#/schemas/source-file-request) now use the [Language Request](../api/Public-API.v1-fv.html#/schemas/language-request) model. From 004ddfa9dc5a00a44107b23bdf9a8721baab5633 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 12:19:26 +0200 Subject: [PATCH 06/14] Fixing broken url --- articles/LCPublicAPI/api/Public-API.v1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 97b1a1c..4b664b3 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -2917,7 +2917,7 @@ "Group" ], "summary": "Create Group", - "description": "Creates a group. Group roles will take effect based on the location, where the group is being created. Read more at [How to use location and folders](../docs/how-to-use-location-and-folders).", + "description": "Creates a group. Group roles will take effect based on the location, where the group is being created. Read more at [How to use location and folders](../docs/How-to-use-location-and-folders.html).", "parameters": [ { "$ref": "#/components/parameters/Authorization" From d33255532a418e4b00581d447043b0e1c8510b75 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 14:37:41 +0200 Subject: [PATCH 07/14] Reformatting "What's new" --- articles/LCPublicAPI/docs/Whats-New.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 888ded8..b603542 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -4,10 +4,10 @@ ## 11 February 2026 - We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups. -- The available resource types returned by [Get](../api/Public-API.v1-fv.html#/schemas/custom-field-definition) and [List](../api/Public-API.v1-fv.html#/schemas/list-custom-field-definitions-response) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). -- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-input) payload has been enhanced to include additional information about associated source and target files, reducing the need for follow-up API calls. -- For target files, the payload now includes: targetFileId, fileVersionId, version, type (bcm/native), sourceFileId. -- For source files, the payload now includes: sourceFileId, fileVersionId, version, type (bcm/native). +- The available resource types returned by [Get](../api/Public-API.v1-fv.html#/operations/GetCustomField) and [List](../api/Public-API.v1-fv.html#/operations/ListCustomFields) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). +- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include additional information about associated source and target files, reducing the need for follow-up API calls. + - For target files, the payload now includes: targetFileId, fileVersionId, version, type (bcm/native), sourceFileId. + - For source files, the payload now includes: sourceFileId, fileVersionId, version, type (bcm/native). - We fixed various bugs. ## 8 December 2025 From bbaa84d45147f0c34460f07e1bdf4eb150d39b8d Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 15:14:05 +0200 Subject: [PATCH 08/14] CRQ-44076 - added apiInternalId to taskEvent schema --- articles/LCPublicAPI/api/Webhooks.v1.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index 32ef203..1d4211b 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -460,6 +460,10 @@ "format": "date-time", "description": "The project due date.\n\nGMT Timezone\n\nAllowed formats:\\\n\"YYYY-MM-DDThh:mmZ\"\\\n\"YYYY-MM-DDThh:mm:ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sZ\"\\\n\"YYYY-MM-DDThh:mm:ss.ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sssZ\"" }, + "apiInternalId": { + "type": "string", + "description": "The internal id of the task. This field is not available for non-workflow tasks" + }, "input": { "$ref": "#/components/schemas/task-input" } From 8ef55bd8d3eb7285c42d34b5246e2a229e56e7d4 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 15:56:43 +0200 Subject: [PATCH 09/14] Changes to Whats-New --- articles/LCPublicAPI/api/Webhooks.v1.json | 9 +++++---- articles/LCPublicAPI/docs/Whats-New.md | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index 1d4211b..4710180 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -460,12 +460,13 @@ "format": "date-time", "description": "The project due date.\n\nGMT Timezone\n\nAllowed formats:\\\n\"YYYY-MM-DDThh:mmZ\"\\\n\"YYYY-MM-DDThh:mm:ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sZ\"\\\n\"YYYY-MM-DDThh:mm:ss.ssZ\"\\\n\"YYYY-MM-DDThh:mm:ss.sssZ\"" }, - "apiInternalId": { - "type": "string", - "description": "The internal id of the task. This field is not available for non-workflow tasks" - }, "input": { "$ref": "#/components/schemas/task-input" + }, + "apiInternalId": { + "type": "string", + "description": "The internal id of the task. This field is not available for non-workflow tasks", + "nullable": true } }, "required": [ diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index b603542..93b5e7b 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,9 +5,10 @@ ## 11 February 2026 - We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups. - The available resource types returned by [Get](../api/Public-API.v1-fv.html#/operations/GetCustomField) and [List](../api/Public-API.v1-fv.html#/operations/ListCustomFields) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). -- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include additional information about associated source and target files, reducing the need for follow-up API calls. - - For target files, the payload now includes: targetFileId, fileVersionId, version, type (bcm/native), sourceFileId. - - For source files, the payload now includes: sourceFileId, fileVersionId, version, type (bcm/native). +- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include apiInternalId and additional information about associated source and target files, reducing the need for follow-up API calls. + - Task events now include `apiInternalId` in the task details, allowing for easier identification of custom tasks. + - For target files, the payload now includes: `targetFileId`, `fileVersionId`, `version`, `type` (bcm/native), `sourceFileId`. + - For source files, the payload now includes: `sourceFileId`, `fileVersionId`, `version`, `type` (bcm/native). - We fixed various bugs. ## 8 December 2025 From 517dd90ad58354131199aeb0eaf6cd554f8473a6 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 11 Feb 2026 16:02:44 +0200 Subject: [PATCH 10/14] Changes to Whats-New --- articles/LCPublicAPI/docs/Whats-New.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 93b5e7b..02c8aa7 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,7 +5,7 @@ ## 11 February 2026 - We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups. - The available resource types returned by [Get](../api/Public-API.v1-fv.html#/operations/GetCustomField) and [List](../api/Public-API.v1-fv.html#/operations/ListCustomFields) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). -- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include apiInternalId and additional information about associated source and target files, reducing the need for follow-up API calls. +- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include `apiInternalId` and additional information about associated source and target files, reducing the need for follow-up API calls. - Task events now include `apiInternalId` in the task details, allowing for easier identification of custom tasks. - For target files, the payload now includes: `targetFileId`, `fileVersionId`, `version`, `type` (bcm/native), `sourceFileId`. - For source files, the payload now includes: `sourceFileId`, `fileVersionId`, `version`, `type` (bcm/native). From c99c5776e9bae74567cc3bf5fa94f1a4b6f411b4 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 12 Feb 2026 09:52:52 +0200 Subject: [PATCH 11/14] LTLC-126752 - Java example fixes --- articles/LCPublicAPI/docs/api-clients/java/Java-Client.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/articles/LCPublicAPI/docs/api-clients/java/Java-Client.md b/articles/LCPublicAPI/docs/api-clients/java/Java-Client.md index 4eae7ea..e6d7bd2 100644 --- a/articles/LCPublicAPI/docs/api-clients/java/Java-Client.md +++ b/articles/LCPublicAPI/docs/api-clients/java/Java-Client.md @@ -73,6 +73,13 @@ ProjectCreateRequest projectCreateRequest = new ProjectCreateRequest(); projectCreateRequest.setName("YOUR_PROJECT_NAME"); projectCreateRequest.setDueBy(DateTime.parse("2025-01-01T00:00:00.000Z")); projectCreateRequest.setProjectTemplate(new ObjectIdRequest().id("YOUR_PROJECT_TEMPLATE_ID")); +projectCreateRequest.setLocation("YOUR_PROJECT_LOCATION"); + +List languageDirectionRequest = List.of(new LanguageDirectionRequest() + .sourceLanguage(new SourceLanguageRequest("YOUR_SOURCE_LANGUAGE")) + .targetLanguage(new TargetLanguageRequest("YOUR_TARGET_LANGUAGE")) +); +projectCreateRequest.setLanguageDirections(languageDirectionRequest); // Set the `fields` query parameter so the response is populated with `projectPlan.taskConfigurations` ProjectApi.CreateProjectQueryParams queryParams = new ProjectApi.CreateProjectQueryParams(); From 7f54d04363d85b488c6f679c7d49b6255f16b7b4 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 12 Feb 2026 11:51:30 +0200 Subject: [PATCH 12/14] LTLC-127828 - Adding List Account Roles docs --- articles/LCPublicAPI/api/Public-API.v1.json | 102 ++++++++++++++++++-- 1 file changed, 93 insertions(+), 9 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 4b664b3..e312cca 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -97,6 +97,10 @@ "name": "Rate Limits", "description": "Rate Limits" }, + { + "name": "Roles", + "description": "Roles" + }, { "name": "Schedule Template", "description": "Schedule Template" @@ -11120,6 +11124,56 @@ "operationId": "ListRateLimits" } }, + "/roles": { + "get": { + "tags": [ + "Roles" + ], + "summary": "List Roles", + "description": "Retrieves a list of all roles available for the account.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/list-roles-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "401": { + "description": "The user could not be identified.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error-response" + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + } + }, + "operationId": "ListRoles" + } + }, "/schedule-templates": { "get": { "summary": "List Schedule Templates", @@ -21053,9 +21107,6 @@ }, "group-additional-roles-request": { "title": "Group Additional Roles Request", - "x-stoplight": { - "id": "25bc0f4edafe0" - }, "type": "object", "description": "Roles granted to the group in addition to the group location.", "required": [ @@ -21113,9 +21164,6 @@ }, "group-create-request": { "title": "Group Create Request", - "x-stoplight": { - "id": "27fdf1f89fe05" - }, "type": "object", "description": "Group of users.", "required": [ @@ -21140,9 +21188,6 @@ }, "group-update-request": { "title": "Group Update Request", - "x-stoplight": { - "id": "27fdf1f89fe05" - }, "type": "object", "description": "Group of users.", "properties": { @@ -22013,6 +22058,26 @@ ], "description": "A response for the List Rate Limits endpoint." }, + "list-roles-response": { + "title": "List Roles Response", + "type": "object", + "properties": { + "itemCount": { + "type": "integer" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/role" + } + } + }, + "required": [ + "itemCount", + "items" + ], + "description": "A response for the List Roles endpoint." + }, "list-perfect-match-candidates-response": { "title": "List PerfectMatch Candidates Response", "type": "object", @@ -26272,6 +26337,25 @@ "projects" ] }, + "role": { + "title": "Role", + "type": "object", + "description": "Role in the account.", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "description": "The identifier of the role." + }, + "name": { + "type": "string", + "description": "Name of the role." + } + } + }, "schedule-template": { "title": "Schedule Template", "type": "object", From 3c3c299559a44981e3a8086bbe3ef04251651340 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 12 Feb 2026 14:47:38 +0200 Subject: [PATCH 13/14] LTLC-127827 - Additional Roles in Get/List --- articles/LCPublicAPI/api/Public-API.v1.json | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index e312cca..3791401 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21093,6 +21093,19 @@ "$ref": "#/components/schemas/user" } }, + "roles": { + "type": "array", + "description": "**Note**: The identifier of `Administrator` role will not be exposed publicly and a `********` placeholder will be returned on this endpoint for the role.", + "items": { + "$ref": "#/components/schemas/role" + } + }, + "additionalRoles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/group-additional-roles" + } + }, "groupType": { "type": "string", "enum": [ @@ -21105,6 +21118,26 @@ } } }, + "group-additional-roles": { + "title": "Group Additional Roles", + "type": "object", + "description": "Roles granted to the group in addition to the group location.", + "required": [ + "location", + "roles" + ], + "properties": { + "location": { + "$ref": "#/components/schemas/folder-v2" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/role" + } + } + } + }, "group-additional-roles-request": { "title": "Group Additional Roles Request", "type": "object", From 136bb4d7fc380677ef8b9caceffd64c2e514b837 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 12 Feb 2026 15:54:40 +0200 Subject: [PATCH 14/14] Updating Whats-New.md --- articles/LCPublicAPI/docs/Whats-New.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 02c8aa7..4a35283 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -2,13 +2,14 @@
-## 11 February 2026 -- We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups. +## 12 February 2026 +- We have extended group management capabilities. You can now [Create](../api/Public-API.v1-fv.html#/operations/CreateGroup), [Update](../api/Public-API.v1-fv.html#/operations/UpdateGroup), and [Delete](../api/Public-API.v1-fv.html#/operations/DeleteGroup) groups, `roles` and `additionalRoles` are now available in [Get](../api/Public-API.v1-fv.html#/operations/GetGroup)/[List](../api/Public-API.v1-fv.html#/operations/ListGroups) operations. To support this, we have introduced a new [List Roles](../api/Public-API.v1-fv.html#/operations/ListRoles) endpoint. - The available resource types returned by [Get](../api/Public-API.v1-fv.html#/operations/GetCustomField) and [List](../api/Public-API.v1-fv.html#/operations/ListCustomFields) Custom Field Definition(s) have been extended to include vendor and vendor order template (VOT). -- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include `apiInternalId` and additional information about associated source and target files, reducing the need for follow-up API calls. +- The [task-event](../api/Webhooks.v1-fv.html#/schemas/task-event) payload has been enhanced to include `apiInternalId` and `input`. The [error-task-event](../api/Webhooks.v1-fv.html#/schemas/error-task-event) payload has been enhanced to include `failedTask.input` information - Task events now include `apiInternalId` in the task details, allowing for easier identification of custom tasks. - - For target files, the payload now includes: `targetFileId`, `fileVersionId`, `version`, `type` (bcm/native), `sourceFileId`. - - For source files, the payload now includes: `sourceFileId`, `fileVersionId`, `version`, `type` (bcm/native). + - Webhook input types include `sourceFile`, `targetFile`, `languageDirection`, `project`. + - For target files, the payload now includes a targetFile object which includes: `targetFileId`, `fileVersionId`, `version`, `type` (bcm/native), `sourceFileId`. + - For source files, the payload now includes a targetFile object which includes: `sourceFileId`, `fileVersionId`, `version`, `type` (bcm/native). - We fixed various bugs. ## 8 December 2025