From 6bbff786c3a1d52351deb27d69a83778a587dedc Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Mon, 23 Feb 2026 09:54:27 +0200 Subject: [PATCH 01/26] add ability to accept task on behalf of groups --- articles/LCPublicAPI/api/Public-API.v1.json | 112 +++++++++++++++++++- articles/LCPublicAPI/api/Webhooks.v1.json | 39 ++++++- 2 files changed, 145 insertions(+), 6 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 3791401..45e56a4 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -11904,13 +11904,22 @@ "Task" ], "summary": "Accept Task", - "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it.", + "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `acceptOnBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list.", "parameters": [ { "$ref": "#/components/parameters/Authorization" }, { "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "name": "onBehalfOfGroup", + "in": "query", + "required": false, + "description": "The identifier of the group on behalf of which the task is being accepted. The authenticated user must be a member of the specified group, and the group must be present in the task's assignee list.", + "schema": { + "type": "string" + } } ], "responses": { @@ -27083,7 +27092,7 @@ } }, "owner": { - "$ref": "#/components/schemas/user" + "$ref": "#/components/schemas/task-owner" }, "assignees": { "type": "array", @@ -27391,6 +27400,105 @@ } } }, + "task-owner": { + "title": "Task Owner", + "type": "object", + "description": "Task owner. Based on the \"type\", the following properties can be retrieved: \"user\" or \"group\".", + "properties": { + "type": { + "type": "string", + "enum": [ + "user", + "group" + ], + "description": "The owner type." + }, + "user": { + "$ref": "#/components/schemas/user", + "description": "
default
The user who owns this task.
" + }, + "group": { + "$ref": "#/components/schemas/group", + "description": "
default
The group that owns this task.
" + }, + "id": { + "type": "string", + "description": "User account identifier.", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Description of this account user. For Service account users only.", + "deprecated": true + }, + "email": { + "type": "string", + "description": "
default
The user's email address. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "deprecated": true + }, + "name": { + "type": "string", + "description": "
default
The user's name. Retrieved only for Service users (not RWS ID users) that the authenticated entity is authorized to read.
", + "deprecated": true + }, + "firstName": { + "type": "string", + "description": "
default
The user's first name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "deprecated": true + }, + "lastName": { + "type": "string", + "description": "
default
The user's last name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "deprecated": true + }, + "anonymized": { + "type": "boolean", + "description": "
default
This shows if the authenticated entity has access to read the details of the user or not. If true, then the 'anonymizedUserName' should be retrieved.
", + "deprecated": true + }, + "anonymizedUserName": { + "type": "string", + "description": "
default
Retrieved if the authenticated entity does not have access to read the User.
", + "deprecated": true + }, + "account": { + "allOf": [{ "$ref": "#/components/schemas/account" }], + "description": "The account the user is part of.", + "deprecated": true + }, + "location": { + "allOf": [{ "$ref": "#/components/schemas/folder-v2" }], + "deprecated": true + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/group" + }, + "deprecated": true + }, + "userType": { + "allOf": [{ "$ref": "#/components/schemas/user-type" }], + "deprecated": true + }, + "status": { + "allOf": [{ "$ref": "#/components/schemas/user-status" }], + "deprecated": true + }, + "invitationLink": { + "type": "string", + "description": "The user's invitation link. Retrieved only for RWS ID (formerly SDL ID) users—not service users. It is available only if the user has not yet accepted the invitation (status is `inactive`).", + "deprecated": true + }, + "membership": { + "allOf": [{ "$ref": "#/components/schemas/account-membership-type" }], + "deprecated": true + } + }, + "required": [ + "type" + ] + }, "task-type-outcome": { "title": "Task Type Outcome", "type": "object", diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index 4710180..5574a61 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -56,8 +56,8 @@ "description": "The project containing the error task." }, "owner": { - "$ref": "#/components/schemas/object-id", - "description": "The owner's account user identifier. Returned if the task has an owner." + "$ref": "#/components/schemas/task-event-owner", + "description": "The task owner. Returned if the task has an owner." }, "location": { "$ref": "#/components/schemas/object-id", @@ -441,8 +441,8 @@ "description": "The project containing the task." }, "owner": { - "$ref": "#/components/schemas/object-id", - "description": "The owner's account user identifier. Returned if the task has an owner." + "$ref": "#/components/schemas/task-event-owner", + "description": "The task owner. Returned if the task has an owner." }, "location": { "$ref": "#/components/schemas/object-id", @@ -506,6 +506,37 @@ } } }, + "task-event-owner": { + "title": "Task Event Owner", + "type": "object", + "description": "Task owner. Based on the \"type\", the following properties can be retrieved: \"user\" or \"group\".", + "properties": { + "type": { + "type": "string", + "enum": [ + "user", + "group" + ], + "description": "The owner type." + }, + "user": { + "$ref": "#/components/schemas/object-id", + "description": "The user who owns this task." + }, + "group": { + "$ref": "#/components/schemas/object-id", + "description": "The group that owns this task." + }, + "id": { + "type": "string", + "description": "The owner's account user identifier.", + "deprecated": true + } + }, + "required": [ + "type" + ] + }, "task-event-task-type": { "title": "Task Event Task Type", "type": "object", From d49995f174566f34bf5403694c3fd273fe63834d Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Mon, 23 Feb 2026 16:35:58 +0200 Subject: [PATCH 02/26] expose config options on task types, and workflow task templates --- articles/LCPublicAPI/api/Public-API.v1.json | 134 +++++++++++++++++++- 1 file changed, 133 insertions(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 45e56a4..66d621c 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -19256,7 +19256,7 @@ "Workflow" ], "summary": "Update Workflow", - "description": "Updates the workflow in terms of: name, description, and task configuration (and its details). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386).", + "description": "Updates the workflow in terms of: name, description, task configuration (and its details), and task type configuration values (`taskTypeConfigValues`). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386).", "parameters": [ { "$ref": "#/components/parameters/Authorization" @@ -27371,6 +27371,13 @@ "$ref": "#/components/schemas/task-type-outcome" } }, + "configurationDefinitions": { + "type": "array", + "description": "Defines the configurable options available for this task type. Each entry describes one configuration option including its data type, default value, allowed values and constraints.", + "items": { + "$ref": "#/components/schemas/task-type-configuration-definition" + } + }, "location": { "$ref": "#/components/schemas/folder-v2" } @@ -27379,6 +27386,95 @@ "id" ] }, + "task-type-configuration-definition": { + "title": "Task Type Configuration Definition", + "type": "object", + "description": "Describes a single configurable option for a task type.", + "properties": { + "id": { + "type": "string", + "description": "The identifier for the configuration option (e.g. `FORCE_CLOSE_MAX_AGE`)." + }, + "name": { + "type": "string", + "description": "Human-readable name for the configuration option." + }, + "description": { + "type": "string", + "description": "Explanation of what this configuration option controls." + }, + "dataType": { + "type": "string", + "description": "The data type of the configuration value.", + "enum": [ + "integer", + "boolean", + "string" + ] + }, + "optional": { + "type": "boolean", + "description": "Whether this configuration option is optional. If `false`, a value must always be supplied." + }, + "defaultValue": { + "description": "The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined.", + "nullable": true, + "oneOf": [ + { "type": "string" }, + { "type": "integer" }, + { "type": "boolean" } + ] + }, + "options": { + "type": "array", + "nullable": true, + "description": "Enumerated list of accepted string values. Present only when `dataType` is `string` and the value is restricted to a fixed set. `null` when any value is allowed.", + "items": { + "type": "string" + } + }, + "constraints": { + "type": "array", + "description": "Validation constraints applied to the value (e.g. minimum/maximum for numeric types).", + "items": { + "$ref": "#/components/schemas/task-type-configuration-constraint" + } + } + }, + "required": [ + "id", + "name", + "dataType", + "optional" + ] + }, + "task-type-configuration-constraint": { + "title": "Task Type Configuration Constraint", + "type": "object", + "description": "A validation constraint applied to a task type configuration value.", + "properties": { + "type": { + "type": "string", + "description": "The kind of constraint.", + "enum": [ + "minValue", + "maxValue" + ] + }, + "value": { + "description": "The constraint threshold. Type matches the parent configuration option's `dataType`.", + "oneOf": [ + { "type": "string" }, + { "type": "integer" }, + { "type": "boolean" } + ] + } + }, + "required": [ + "type", + "value" + ] + }, "task-outcome": { "title": "Task Outcome", "type": "object", @@ -31184,6 +31280,13 @@ }, "taskTemplate": { "$ref": "#/components/schemas/workflow-task-template" + }, + "taskTypeConfigValues": { + "type": "array", + "description": "The task type configuration values set on this workflow task. Each item corresponds to a configuration key defined in `taskTemplate.taskType.configurationDefinitions`.", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ @@ -31230,6 +31333,12 @@ }, "scope": { "$ref": "#/components/schemas/task-configuration-scope-request" + }, + "taskTypeConfigValues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ @@ -31239,6 +31348,29 @@ "scope" ] }, + "workflow-task-type-config-value": { + "title": "Workflow Task Type Config Value", + "type": "object", + "description": "A key-value pair representing a task type configuration setting.\n\nThe applicable `configurationDefinitions` — listing valid configuration keys (`id`), their `dataType`, accepted `options` (for `string` types restricted to a fixed set of values), and `constraints` (e.g. min/max for `integer` types) — are returned directly in the [Get Workflow](../operation/GetWorkflow/) response under `taskConfigurations[].taskTemplate.taskType.configurationDefinitions`.", + "required": [ + "id", + "value" + ], + "properties": { + "id": { + "type": "string", + "description": "The configuration key identifier (e.g. `FORCE_CLOSE_MAX_AGE`, `EDITOR_MODE`)." + }, + "value": { + "description": "The configuration value.", + "oneOf": [ + { "type": "string" }, + { "type": "integer" }, + { "type": "boolean" } + ] + } + } + }, "workflow-task-template": { "title": "Workflow Task Template", "type": "object", From 98ec2bdb9b6c0c95e3846b71991f94c386e850b9 Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Mon, 23 Feb 2026 16:54:16 +0200 Subject: [PATCH 03/26] fix links, reference to query param, add concurrent_editing example --- articles/LCPublicAPI/api/Public-API.v1.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 66d621c..059acae 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -11904,7 +11904,7 @@ "Task" ], "summary": "Accept Task", - "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `acceptOnBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list.", + "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `onBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list.", "parameters": [ { "$ref": "#/components/parameters/Authorization" @@ -31351,7 +31351,7 @@ "workflow-task-type-config-value": { "title": "Workflow Task Type Config Value", "type": "object", - "description": "A key-value pair representing a task type configuration setting.\n\nThe applicable `configurationDefinitions` — listing valid configuration keys (`id`), their `dataType`, accepted `options` (for `string` types restricted to a fixed set of values), and `constraints` (e.g. min/max for `integer` types) — are returned directly in the [Get Workflow](../operation/GetWorkflow/) response under `taskConfigurations[].taskTemplate.taskType.configurationDefinitions`.", + "description": "A key-value pair representing a task type configuration setting.\n\nThe applicable `configurationDefinitions` — listing valid configuration keys (`id`), their `dataType`, accepted `options` (for `string` types restricted to a fixed set of values), and `constraints` (e.g. min/max for `integer` types) — are available from the [Get Workflow](#/operations/GetWorkflow) response under `taskConfigurations[].taskTemplate.taskType.configurationDefinitions`, or from the [Get Task Type](#/operations/GetTaskType) response under `configurationDefinitions`.", "required": [ "id", "value" @@ -31359,7 +31359,7 @@ "properties": { "id": { "type": "string", - "description": "The configuration key identifier (e.g. `FORCE_CLOSE_MAX_AGE`, `EDITOR_MODE`)." + "description": "The configuration key identifier (e.g. `FORCE_CLOSE_MAX_AGE`, `EDITOR_MODE`, `CONCURRENT_EDITING_ALLOWED`)." }, "value": { "description": "The configuration value.", @@ -31369,6 +31369,10 @@ { "type": "boolean" } ] } + }, + "example": { + "id": "CONCURRENT_EDITING_ALLOWED", + "value": false } }, "workflow-task-template": { From bdf2a90d01910c65d232fb3342d21c335785adbc Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Mon, 23 Feb 2026 22:34:49 +0200 Subject: [PATCH 04/26] added taskTypeConfigValues to task --- articles/LCPublicAPI/api/Public-API.v1.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 059acae..aec52cc 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -27137,6 +27137,13 @@ "completedAt": { "$ref": "#/components/schemas/date-time", "description": "The completion timestamp of the task.
UTC Timezone
Allowed formats:
\"YYYY-MM-DDThh:mmZ\"
\"YYYY-MM-DDThh:mm:ssZ\"
\"YYYY-MM-DDThh:mm:ss.sZ\"
\"YYYY-MM-DDThh:mm:ss.ssZ\"
\"YYYY-MM-DDThh:mm:ss.sssZ\"" + }, + "taskTypeConfigValues": { + "type": "array", + "description": "The task type configuration values set on this task. Each item corresponds to a configuration key defined in `taskType.configurationDefinitions`.", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ From be9aaa151c4a1f4d0754b598230ab48fdae99db0 Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Tue, 24 Feb 2026 15:04:49 +0200 Subject: [PATCH 05/26] additional descriptions --- articles/LCPublicAPI/api/Public-API.v1.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index aec52cc..0494836 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -11904,7 +11904,7 @@ "Task" ], "summary": "Accept Task", - "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `onBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list.", + "description": "Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `onBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list. The `onBehalfOfGroup` parameter is allowed only if the [task](#/operations/GetTask) has `configuration.CONCURRENT_EDITING_ENABLED = true`.", "parameters": [ { "$ref": "#/components/parameters/Authorization" @@ -31366,7 +31366,7 @@ "properties": { "id": { "type": "string", - "description": "The configuration key identifier (e.g. `FORCE_CLOSE_MAX_AGE`, `EDITOR_MODE`, `CONCURRENT_EDITING_ALLOWED`)." + "description": "The configuration key identifier (e.g. `FORCE_CLOSE_MAX_AGE`, `EDITOR_MODE`, `CONCURRENT_EDITING_ENABLED`)." }, "value": { "description": "The configuration value.", @@ -31378,7 +31378,7 @@ } }, "example": { - "id": "CONCURRENT_EDITING_ALLOWED", + "id": "CONCURRENT_EDITING_ENABLED", "value": false } }, From d4e59ceaf95deaac6590917ea60f80ac388e3ea4 Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Tue, 24 Feb 2026 16:50:08 +0200 Subject: [PATCH 06/26] added configValues request and response on project plan --- articles/LCPublicAPI/api/Public-API.v1.json | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 0494836..e8d859f 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -25740,7 +25740,7 @@ "description": "The configuration of a task that will be created in the future.", "properties": { "taskTemplate": { - "$ref": "#/components/schemas/object-id" + "$ref": "#/components/schemas/workflow-task-template" }, "scope": { "$ref": "#/components/schemas/task-configuration-scope" @@ -25763,6 +25763,13 @@ "example": "2022-01-12T12:00:00Z", "description": "The due date of the future task.
UTC Timezone
Allowed formats:
\"YYYY-MM-DDThh:mmZ\"
\"YYYY-MM-DDThh:mm:ssZ\"
\"YYYY-MM-DDThh:mm:ss.sZ\"
\"YYYY-MM-DDThh:mm:ss.ssZ\"
\"YYYY-MM-DDThh:mm:ss.sssZ\"", "nullable": true + }, + "taskTypeConfigValues": { + "type": "array", + "description": "The task type configuration values set on this task. Each item corresponds to a configuration key defined in `taskTemplate.taskType.configurationDefinitions`.", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ @@ -25833,6 +25840,12 @@ }, "dueBy": { "$ref": "#/components/schemas/date-time" + }, + "taskTypeConfigValues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ @@ -31358,7 +31371,7 @@ "workflow-task-type-config-value": { "title": "Workflow Task Type Config Value", "type": "object", - "description": "A key-value pair representing a task type configuration setting.\n\nThe applicable `configurationDefinitions` — listing valid configuration keys (`id`), their `dataType`, accepted `options` (for `string` types restricted to a fixed set of values), and `constraints` (e.g. min/max for `integer` types) — are available from the [Get Workflow](#/operations/GetWorkflow) response under `taskConfigurations[].taskTemplate.taskType.configurationDefinitions`, or from the [Get Task Type](#/operations/GetTaskType) response under `configurationDefinitions`.", + "description": "A key-value pair representing a task type configuration setting.\n\nValid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration.", "required": [ "id", "value" From 2284209cced25a23ade25f3f510c79c20017172f Mon Sep 17 00:00:00 2001 From: rtriteanrws Date: Mon, 16 Mar 2026 14:43:31 +0200 Subject: [PATCH 07/26] Adapt default styling for deprecated fields --- articles/LCPublicAPI/api/Public-API.v1.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index e8d859f..e8023ae 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -27549,32 +27549,32 @@ }, "email": { "type": "string", - "description": "
default
The user's email address. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "description": "
default
The user's email address. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", "deprecated": true }, "name": { "type": "string", - "description": "
default
The user's name. Retrieved only for Service users (not RWS ID users) that the authenticated entity is authorized to read.
", + "description": "
default
The user's name. Retrieved only for Service users (not RWS ID users) that the authenticated entity is authorized to read.
", "deprecated": true }, "firstName": { "type": "string", - "description": "
default
The user's first name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "description": "
default
The user's first name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", "deprecated": true }, "lastName": { "type": "string", - "description": "
default
The user's last name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", + "description": "
default
The user's last name. Retrieved only for RWS ID (formerly SDL ID) users (not service users) that the authenticated entity is authorized to read.
", "deprecated": true }, "anonymized": { "type": "boolean", - "description": "
default
This shows if the authenticated entity has access to read the details of the user or not. If true, then the 'anonymizedUserName' should be retrieved.
", + "description": "
default
This shows if the authenticated entity has access to read the details of the user or not. If true, then the 'anonymizedUserName' should be retrieved.
", "deprecated": true }, "anonymizedUserName": { "type": "string", - "description": "
default
Retrieved if the authenticated entity does not have access to read the User.
", + "description": "
default
Retrieved if the authenticated entity does not have access to read the User.
", "deprecated": true }, "account": { @@ -32408,4 +32408,4 @@ } } } -} \ No newline at end of file +} From e7f0a4804803f716adfe723087514df83aef30a4 Mon Sep 17 00:00:00 2001 From: "laszlo.david" Date: Thu, 26 Mar 2026 10:04:25 +0200 Subject: [PATCH 08/26] rename field to configurationValues --- articles/LCPublicAPI/api/Public-API.v1.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index e8023ae..7bb2e3d 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -19256,7 +19256,7 @@ "Workflow" ], "summary": "Update Workflow", - "description": "Updates the workflow in terms of: name, description, task configuration (and its details), and task type configuration values (`taskTypeConfigValues`). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386).", + "description": "Updates the workflow in terms of: name, description, task configuration (and its details), and task type configuration values (`configurationValues`). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386).", "parameters": [ { "$ref": "#/components/parameters/Authorization" @@ -25764,7 +25764,7 @@ "description": "The due date of the future task.
UTC Timezone
Allowed formats:
\"YYYY-MM-DDThh:mmZ\"
\"YYYY-MM-DDThh:mm:ssZ\"
\"YYYY-MM-DDThh:mm:ss.sZ\"
\"YYYY-MM-DDThh:mm:ss.ssZ\"
\"YYYY-MM-DDThh:mm:ss.sssZ\"", "nullable": true }, - "taskTypeConfigValues": { + "configurationValues": { "type": "array", "description": "The task type configuration values set on this task. Each item corresponds to a configuration key defined in `taskTemplate.taskType.configurationDefinitions`.", "items": { @@ -25841,7 +25841,7 @@ "dueBy": { "$ref": "#/components/schemas/date-time" }, - "taskTypeConfigValues": { + "configurationValues": { "type": "array", "items": { "$ref": "#/components/schemas/workflow-task-type-config-value" @@ -27151,7 +27151,7 @@ "$ref": "#/components/schemas/date-time", "description": "The completion timestamp of the task.
UTC Timezone
Allowed formats:
\"YYYY-MM-DDThh:mmZ\"
\"YYYY-MM-DDThh:mm:ssZ\"
\"YYYY-MM-DDThh:mm:ss.sZ\"
\"YYYY-MM-DDThh:mm:ss.ssZ\"
\"YYYY-MM-DDThh:mm:ss.sssZ\"" }, - "taskTypeConfigValues": { + "configurationValues": { "type": "array", "description": "The task type configuration values set on this task. Each item corresponds to a configuration key defined in `taskType.configurationDefinitions`.", "items": { @@ -31301,7 +31301,7 @@ "taskTemplate": { "$ref": "#/components/schemas/workflow-task-template" }, - "taskTypeConfigValues": { + "configurationValues": { "type": "array", "description": "The task type configuration values set on this workflow task. Each item corresponds to a configuration key defined in `taskTemplate.taskType.configurationDefinitions`.", "items": { @@ -31354,7 +31354,7 @@ "scope": { "$ref": "#/components/schemas/task-configuration-scope-request" }, - "taskTypeConfigValues": { + "configurationValues": { "type": "array", "items": { "$ref": "#/components/schemas/workflow-task-type-config-value" From fdb3ad01f3d98999692b3d34534a0e7b9aaed739 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 22 Apr 2026 10:27:02 +0300 Subject: [PATCH 09/26] adding missing configurationValues --- articles/LCPublicAPI/api/Public-API.v1.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 7bb2e3d..36114a3 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31468,6 +31468,13 @@ "items": { "$ref": "#/components/schemas/workflow-template-transition" } + }, + "configurationValues": { + "type": "array", + "description": "The task type configuration values set on this task. Each item corresponds to a configuration key defined in `taskTemplates.taskType.configurationDefinitions`.", + "items": { + "$ref": "#/components/schemas/workflow-task-type-config-value" + } } }, "required": [ From 7180dbb906a46884abb9da86e31f3fc9e6310024 Mon Sep 17 00:00:00 2001 From: vblajan Date: Tue, 28 Apr 2026 13:58:13 +0300 Subject: [PATCH 10/26] adding metadata to group/user --- articles/LCPublicAPI/api/Public-API.v1.json | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index a9b77b8..c56f6ae 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21621,6 +21621,12 @@ "customer" ], "description": "- default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist.\r\n- customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer.\r\n- vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager.\r\n- custom : groups you can create in a location of your choice. Examples: Project Manager, Translator." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -21731,6 +21737,12 @@ "items": { "type": "string" } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -31456,6 +31468,12 @@ }, "membership": { "$ref": "#/components/schemas/account-membership-type" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, @@ -31586,6 +31604,12 @@ "type": "object", "$ref": "#/components/schemas/object-id" } + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "object" + } } } }, From 230942aee8db57ff55d6da21d3fc3449ce578913 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 29 Apr 2026 09:35:55 +0300 Subject: [PATCH 11/26] updated Whats-New.md --- articles/LCPublicAPI/docs/Whats-New.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 73047de..00f0450 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -2,6 +2,13 @@
+## 29 April 2026 +- Tasks can now be [accepted](../api/Public-API.v1-fv.html#/operations/AcceptTask) on behalf of a group. +- We've exposed task type configuration definitions and values across Get and List endpoints for [Projects](../api/Public-API.v1-fv.html#/operations/GetProject), [Project Templates](../api/Public-API.v1-fv.html#/operations/GetProjectTemplate), [Workflows](../api/Public-API.v1-fv.html#/operations/GetWorkflow), [Tasks](../api/Public-API.v1-fv.html#/operations/GetTask), and [Task Types](../api/Public-API.v1-fv.html#/operations/GetTaskType). +- Task type configuration values can now be updated when updating [Workflows](../api/Public-API.v1-fv.html#/operations/UpdateWorkflow) and [Project Plans](../api/Public-API.v1-fv.html#/operations/UpdateProject). +- User and group metadata definitions have been added to the contract for improved data modeling. +- We fixed various bugs. + ## 7 April 2026 - Task owner functionality has been extended to support groups. The [Get Task](../api/Public-API.v1-fv.html#/operations/GetTask) endpoint now returns group information when a task is assigned to a group instead of an individual user. Webhook events have been adapted to support group ownership. - Previous task owner fields linked to user have been deprecated and will be maintained for backwards compatibility for at least 6 months. From d8ab86b11b0a341c063f658eb01493375e779958 Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 29 Apr 2026 11:22:22 +0300 Subject: [PATCH 12/26] updated Whats-New.md and refactored matadata --- articles/LCPublicAPI/api/Public-API.v1.json | 28 +++++++++------------ articles/LCPublicAPI/docs/Whats-New.md | 2 +- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index e35f72e..2c8b574 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21623,10 +21623,7 @@ "description": "- default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist.\r\n- customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer.\r\n- vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager.\r\n- custom : groups you can create in a location of your choice. Examples: Project Manager, Translator." }, "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "$ref": "#/components/schemas/metadata" } } }, @@ -21650,6 +21647,14 @@ } } }, + "metadata": { + "title": "Metadata", + "type": "object", + "description": "Additional metadata values in a key - value pair format", + "additionalProperties": { + "type": "object" + } + }, "group-additional-roles-request": { "title": "Group Additional Roles Request", "type": "object", @@ -21739,10 +21744,7 @@ } }, "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "$ref": "#/components/schemas/metadata" } } }, @@ -31566,10 +31568,7 @@ "$ref": "#/components/schemas/account-membership-type" }, "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "$ref": "#/components/schemas/metadata" } } }, @@ -31702,10 +31701,7 @@ } }, "metadata": { - "type": "object", - "additionalProperties": { - "type": "object" - } + "$ref": "#/components/schemas/metadata" } } }, diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 00f0450..0fc9272 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,7 +5,7 @@ ## 29 April 2026 - Tasks can now be [accepted](../api/Public-API.v1-fv.html#/operations/AcceptTask) on behalf of a group. - We've exposed task type configuration definitions and values across Get and List endpoints for [Projects](../api/Public-API.v1-fv.html#/operations/GetProject), [Project Templates](../api/Public-API.v1-fv.html#/operations/GetProjectTemplate), [Workflows](../api/Public-API.v1-fv.html#/operations/GetWorkflow), [Tasks](../api/Public-API.v1-fv.html#/operations/GetTask), and [Task Types](../api/Public-API.v1-fv.html#/operations/GetTaskType). -- Task type configuration values can now be updated when updating [Workflows](../api/Public-API.v1-fv.html#/operations/UpdateWorkflow) and [Project Plans](../api/Public-API.v1-fv.html#/operations/UpdateProject). +- Task type configuration values can now be modified when updating [Workflows](../api/Public-API.v1-fv.html#/operations/UpdateWorkflow) and [Project Plans](../api/Public-API.v1-fv.html#/operations/UpdateProject). - User and group metadata definitions have been added to the contract for improved data modeling. - We fixed various bugs. From dcfd880db431ff44e4448b72f8abc60b4f09e17d Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 29 Apr 2026 11:40:11 +0300 Subject: [PATCH 13/26] adding description an examples for metadata --- articles/LCPublicAPI/api/Public-API.v1.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 2c8b574..a6bf241 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21650,9 +21650,15 @@ "metadata": { "title": "Metadata", "type": "object", - "description": "Additional metadata values in a key - value pair format", + "description": "Additional metadata values in a key–value pair format", "additionalProperties": { - "type": "object" + "type": "object", + "additionalProperties": true + }, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 } }, "group-additional-roles-request": { From 75c75d5256dd999d124c4686ec7ac0d13266f26e Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 29 Apr 2026 16:05:10 +0300 Subject: [PATCH 14/26] inlining --- 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 a6bf241..6349e67 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31979,7 +31979,7 @@ { "type": "string" }, { "type": "integer" }, { "type": "boolean" } - ] + ] } }, "example": { From d0ad6ea79a11414e354d9e5a6000b09d3ea3feeb Mon Sep 17 00:00:00 2001 From: vblajan Date: Wed, 29 Apr 2026 18:11:15 +0300 Subject: [PATCH 15/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 6349e67..9e52b7b 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31976,9 +31976,19 @@ "value": { "description": "The configuration value.", "oneOf": [ - { "type": "string" }, - { "type": "integer" }, - { "type": "boolean" } + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": true + } ] } }, From a2636560c74544134d15226744a442c2c525db86 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 08:56:25 +0300 Subject: [PATCH 16/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 9e52b7b..4d054fe 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31986,10 +31986,15 @@ "type": "boolean" }, { - "type": "object", + "type": "object", "additionalProperties": true + }, + { + "type": "array", + "items": {} } - ] + + ] } }, "example": { From 6c351b30f05bbfeb32e4d05ebc47699c11dc250d Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 09:07:07 +0300 Subject: [PATCH 17/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 4d054fe..7da8154 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31988,13 +31988,9 @@ { "type": "object", "additionalProperties": true - }, - { - "type": "array", - "items": {} } - - ] + ], + "x-java-type": "java.lang.Object" } }, "example": { From 2f3109ce63403481c3eb182d74ed1ed327ffd7b5 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 09:11:04 +0300 Subject: [PATCH 18/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 7da8154..33f6412 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31975,21 +31975,7 @@ }, "value": { "description": "The configuration value.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - }, - { - "type": "boolean" - }, - { - "type": "object", - "additionalProperties": true - } - ], + "type": ["string", "integer", "boolean", "object", "array"], "x-java-type": "java.lang.Object" } }, From dcaef60386cfbb8ad8147d6cfd7e6021169e5827 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 09:17:33 +0300 Subject: [PATCH 19/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 33f6412..ede3481 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -31975,8 +31975,8 @@ }, "value": { "description": "The configuration value.", - "type": ["string", "integer", "boolean", "object", "array"], - "x-java-type": "java.lang.Object" + "type": "object", + "additionalProperties": true } }, "example": { From 42aa1c8de72a17d5fae811e8e6c29946b6c196ab Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 09:21:02 +0300 Subject: [PATCH 20/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index ede3481..2eeb213 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -28069,11 +28069,8 @@ "defaultValue": { "description": "The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined.", "nullable": true, - "oneOf": [ - { "type": "string" }, - { "type": "integer" }, - { "type": "boolean" } - ] + "type": "object", + "additionalProperties": true }, "options": { "type": "array", @@ -28113,11 +28110,8 @@ }, "value": { "description": "The constraint threshold. Type matches the parent configuration option's `dataType`.", - "oneOf": [ - { "type": "string" }, - { "type": "integer" }, - { "type": "boolean" } - ] + "type": "object", + "additionalProperties": true } }, "required": [ From 8c7e920a0cc0175e051c5306aa21d9ef6f696562 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 10:00:10 +0300 Subject: [PATCH 21/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 2eeb213..a390b8e 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -28110,8 +28110,7 @@ }, "value": { "description": "The constraint threshold. Type matches the parent configuration option's `dataType`.", - "type": "object", - "additionalProperties": true + "type": "object" } }, "required": [ From e184dfa3571d7a81e81e3260580bfb9a13e6b833 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 10:02:08 +0300 Subject: [PATCH 22/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index a390b8e..25b6918 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -28069,8 +28069,7 @@ "defaultValue": { "description": "The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined.", "nullable": true, - "type": "object", - "additionalProperties": true + "type": "object" }, "options": { "type": "array", @@ -31968,8 +31967,7 @@ }, "value": { "description": "The configuration value.", - "type": "object", - "additionalProperties": true + "type": "object" } }, "example": { From 2eedbdbf63444f1402f7e36713968cdb3a088f72 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 11:31:18 +0300 Subject: [PATCH 23/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 25b6918..1f9b978 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21649,12 +21649,8 @@ }, "metadata": { "title": "Metadata", - "type": "object", "description": "Additional metadata values in a key–value pair format", - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, + "additionalProperties": true, "example": { "colour": "green", "flag-enabled": true, @@ -21750,7 +21746,14 @@ } }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, From 770087c6d5ee5a471b0c41e600c324815895b818 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 11:43:42 +0300 Subject: [PATCH 24/26] attempting to fix sdk creation --- articles/LCPublicAPI/api/Public-API.v1.json | 37 +++++++++++++-------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 1f9b978..fbb31b0 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21623,7 +21623,14 @@ "description": "- default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist.\r\n- customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer.\r\n- vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager.\r\n- custom : groups you can create in a location of your choice. Examples: Project Manager, Translator." }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, @@ -21647,16 +21654,6 @@ } } }, - "metadata": { - "title": "Metadata", - "description": "Additional metadata values in a key–value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } - }, "group-additional-roles-request": { "title": "Group Additional Roles Request", "type": "object", @@ -31569,7 +31566,14 @@ "$ref": "#/components/schemas/account-membership-type" }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, @@ -31702,7 +31706,14 @@ } }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, From 5d259f45a56d6a7ca1a2d7079a061620330b89dd Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 14:19:57 +0300 Subject: [PATCH 25/26] attempting to use ref for metadata --- articles/LCPublicAPI/api/Public-API.v1.json | 47 +++++++-------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index fbb31b0..1b228fa 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21623,14 +21623,7 @@ "description": "- default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist.\r\n- customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer.\r\n- vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager.\r\n- custom : groups you can create in a location of your choice. Examples: Project Manager, Translator." }, "metadata": { - "title": "Metadata", - "description": "Additional metadata values in a key–value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } + "$ref": "#/components/schemas/metadata" } } }, @@ -21743,14 +21736,7 @@ } }, "metadata": { - "title": "Metadata", - "description": "Additional metadata values in a key–value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } + "$ref": "#/components/schemas/metadata" } } }, @@ -31566,17 +31552,21 @@ "$ref": "#/components/schemas/account-membership-type" }, "metadata": { - "title": "Metadata", - "description": "Additional metadata values in a key–value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } + "$ref": "#/components/schemas/metadata" } } }, + "metadata": { + "title": "Metadata", + "type": "object", + "description": "Additional metadata values in a key-value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } + }, "user-create-request": { "title": "User Create Request", "type": "object", @@ -31706,14 +31696,7 @@ } }, "metadata": { - "title": "Metadata", - "description": "Additional metadata values in a key–value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } + "$ref": "#/components/schemas/metadata" } } }, From 76ddad72996364485b20bcef4322020360b1a996 Mon Sep 17 00:00:00 2001 From: vblajan Date: Thu, 30 Apr 2026 14:27:27 +0300 Subject: [PATCH 26/26] Revert "attempting to use ref for metadata" This reverts commit 5d259f45a56d6a7ca1a2d7079a061620330b89dd. attempting to use ref for metadata qa! --- articles/LCPublicAPI/api/Public-API.v1.json | 47 ++++++++++++++------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 1b228fa..fbb31b0 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -21623,7 +21623,14 @@ "description": "- default : groups in the Root folder (location) provisioned by the system, automatically. Examples: Administrator, Project Manager, Engineer, Terminologist.\r\n- customer : groups provisioned by the system, automatically, for each customer location you add. Examples: Customer Requester, Customer Reviewer.\r\n- vendor : group provisioned by the system, automatically, for each vendor location you add. Examples: Vendor Project Manager.\r\n- custom : groups you can create in a location of your choice. Examples: Project Manager, Translator." }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, @@ -21736,7 +21743,14 @@ } }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, @@ -31552,21 +31566,17 @@ "$ref": "#/components/schemas/account-membership-type" }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } }, - "metadata": { - "title": "Metadata", - "type": "object", - "description": "Additional metadata values in a key-value pair format", - "additionalProperties": true, - "example": { - "colour": "green", - "flag-enabled": true, - "max value": 3 - } - }, "user-create-request": { "title": "User Create Request", "type": "object", @@ -31696,7 +31706,14 @@ } }, "metadata": { - "$ref": "#/components/schemas/metadata" + "title": "Metadata", + "description": "Additional metadata values in a key–value pair format", + "additionalProperties": true, + "example": { + "colour": "green", + "flag-enabled": true, + "max value": 3 + } } } },