From c3d3ee982ddb44efe2ba764e7c69579604bff959 Mon Sep 17 00:00:00 2001 From: Varpuspaavi Date: Tue, 3 Nov 2026 10:31:04 +0100 Subject: [PATCH] feat(API): add exclude_linked_child_keys to jobs and job templates #STRINGS-4424 Document the new exclude_linked_child_keys boolean (default false) on job and job template create/update request bodies and on the job_details, job_template_details and organization_job_template_details response schemas. Co-Authored-By: Claude Sonnet 5.5 --- doc/compiled.json | 45 +++++++++++++++++++ paths/job_templates/create.yaml | 4 ++ paths/job_templates/update.yaml | 4 ++ paths/jobs/create.yaml | 4 ++ paths/jobs/update.yaml | 4 ++ paths/organization_job_templates/create.yaml | 4 ++ paths/organization_job_templates/update.yaml | 4 ++ schemas/job_details.yaml | 5 +++ schemas/job_template_details.yaml | 5 +++ .../organization_job_template_details.yaml | 5 +++ 10 files changed, 84 insertions(+) diff --git a/doc/compiled.json b/doc/compiled.json index 59264cbb6..73278953c 100644 --- a/doc/compiled.json +++ b/doc/compiled.json @@ -3782,6 +3782,11 @@ "type": "boolean", "description": "`true` if the job has been locked by the project's job-locking workflow (translations attached to the job are read-only until the job advances).\n" }, + "exclude_linked_child_keys": { + "type": "boolean", + "description": "`true` if linked child keys are excluded from this job. While enabled, linked child keys cannot be added to the job.\n", + "example": false + }, "automation_id": { "type": "string", "nullable": true, @@ -3996,6 +4001,11 @@ "items": { "$ref": "#/components/schemas/locale_preview" } + }, + "exclude_linked_child_keys": { + "type": "boolean", + "description": "`true` if jobs created from this template exclude linked child keys.\n", + "example": false } }, "example": { @@ -4998,6 +5008,11 @@ "items": { "$ref": "#/components/schemas/locale_preview" } + }, + "exclude_linked_child_keys": { + "type": "boolean", + "description": "`true` if jobs created from this template exclude linked child keys.\n", + "example": false } }, "example": { @@ -12447,6 +12462,11 @@ "description": "Automatically translate the job using machine translation.", "type": "boolean", "example": true + }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from the job. While enabled, linked child keys cannot be added to the job. Defaults to `false`.", + "type": "boolean", + "example": false } } } @@ -12755,6 +12775,11 @@ "description": "Automatically translate the job using machine translation", "type": "boolean", "example": true + }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from the job. When set to `true`, linked child keys already in the job are removed and none can be added while the option is enabled.", + "type": "boolean", + "example": false } } } @@ -13621,6 +13646,11 @@ "type": "boolean", "example": true }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from jobs created from this template. Defaults to `false`.", + "type": "boolean", + "example": false + }, "source_locale_id": { "description": "The API id of the source language. This locale will be set as source locale for the job template. If not provided, the project default locale will be used.", "type": "string", @@ -13819,6 +13849,11 @@ "type": "boolean", "example": true }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from jobs created from this template.", + "type": "boolean", + "example": false + }, "source_locale_id": { "description": "The API id of the source language. This locale will be set as source locale for the job template. If not provided, the project default locale will be used.", "type": "string", @@ -31705,6 +31740,11 @@ "type": "boolean", "example": true }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from jobs created from this template. Defaults to `false`.", + "type": "boolean", + "example": false + }, "owner_id": { "description": "Code of the account member to set as the job template owner. When omitted\nor blank, no owner is pre-set; the user who creates a job from this template\nis assigned as its owner at job-creation time.\n", "type": "string" @@ -31884,6 +31924,11 @@ "type": "boolean", "example": true }, + "exclude_linked_child_keys": { + "description": "Exclude linked child keys from jobs created from this template.", + "type": "boolean", + "example": false + }, "owner_id": { "description": "Code of the account member to set as the job template owner.\nPass an empty string to clear a previously set owner; when blank,\nthe owner is set to null and jobs created from this template will\ndefault to assigning the job creator as owner.\n", "type": "string" diff --git a/paths/job_templates/create.yaml b/paths/job_templates/create.yaml index 61da71f6d..fb927922c 100644 --- a/paths/job_templates/create.yaml +++ b/paths/job_templates/create.yaml @@ -72,6 +72,10 @@ requestBody: description: Automatically translate the job using machine translation. type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from jobs created from this template. Defaults to `false`. + type: boolean + example: false source_locale_id: description: The API id of the source language. This locale will be set as source locale for the job template. If not provided, the project default locale will be used. type: string diff --git a/paths/job_templates/update.yaml b/paths/job_templates/update.yaml index c12969a4a..63e324e46 100644 --- a/paths/job_templates/update.yaml +++ b/paths/job_templates/update.yaml @@ -75,6 +75,10 @@ requestBody: description: Automatically translate the job using machine translation. type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from jobs created from this template. + type: boolean + example: false source_locale_id: description: The API id of the source language. This locale will be set as source locale for the job template. If not provided, the project default locale will be used. type: string diff --git a/paths/jobs/create.yaml b/paths/jobs/create.yaml index eeafffc09..02e121173 100644 --- a/paths/jobs/create.yaml +++ b/paths/jobs/create.yaml @@ -128,4 +128,8 @@ requestBody: description: Automatically translate the job using machine translation. type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from the job. While enabled, linked child keys cannot be added to the job. Defaults to `false`. + type: boolean + example: false x-cli-version: '2.5' diff --git a/paths/jobs/update.yaml b/paths/jobs/update.yaml index c4d4843e6..cfd9f77a2 100644 --- a/paths/jobs/update.yaml +++ b/paths/jobs/update.yaml @@ -96,4 +96,8 @@ requestBody: description: Automatically translate the job using machine translation type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from the job. When set to `true`, linked child keys already in the job are removed and none can be added while the option is enabled. + type: boolean + example: false x-cli-version: '2.5' diff --git a/paths/organization_job_templates/create.yaml b/paths/organization_job_templates/create.yaml index 6aa6b2ed0..63b4ad7b9 100644 --- a/paths/organization_job_templates/create.yaml +++ b/paths/organization_job_templates/create.yaml @@ -68,6 +68,10 @@ requestBody: description: Automatically translate the job using machine translation. type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from jobs created from this template. Defaults to `false`. + type: boolean + example: false owner_id: description: | Code of the account member to set as the job template owner. When omitted diff --git a/paths/organization_job_templates/update.yaml b/paths/organization_job_templates/update.yaml index be3cfdbbe..4772a51c7 100644 --- a/paths/organization_job_templates/update.yaml +++ b/paths/organization_job_templates/update.yaml @@ -69,6 +69,10 @@ requestBody: description: Automatically translate the job using machine translation. type: boolean example: true + exclude_linked_child_keys: + description: Exclude linked child keys from jobs created from this template. + type: boolean + example: false owner_id: description: | Code of the account member to set as the job template owner. diff --git a/schemas/job_details.yaml b/schemas/job_details.yaml index 6abdaffe8..f8fed6bd4 100644 --- a/schemas/job_details.yaml +++ b/schemas/job_details.yaml @@ -30,6 +30,11 @@ job_details: type: boolean description: | `true` if the job has been locked by the project's job-locking workflow (translations attached to the job are read-only until the job advances). + exclude_linked_child_keys: + type: boolean + description: | + `true` if linked child keys are excluded from this job. While enabled, linked child keys cannot be added to the job. + example: false automation_id: type: string nullable: true diff --git a/schemas/job_template_details.yaml b/schemas/job_template_details.yaml index 44e6a682b..73d5e12b6 100644 --- a/schemas/job_template_details.yaml +++ b/schemas/job_template_details.yaml @@ -13,6 +13,11 @@ job_template_details: type: array items: "$ref": "./locale_preview.yaml#/locale_preview" + exclude_linked_child_keys: + type: boolean + description: | + `true` if jobs created from this template exclude linked child keys. + example: false example: owner: id: abcd1234cdef1234abcd1234cdef1234 diff --git a/schemas/organization_job_template_details.yaml b/schemas/organization_job_template_details.yaml index 60e0c32ec..b7af2b9c2 100644 --- a/schemas/organization_job_template_details.yaml +++ b/schemas/organization_job_template_details.yaml @@ -13,6 +13,11 @@ organization_job_template_details: type: array items: "$ref": "./locale_preview.yaml#/locale_preview" + exclude_linked_child_keys: + type: boolean + description: | + `true` if jobs created from this template exclude linked child keys. + example: false example: owner: id: abcd1234cdef1234abcd1234cdef1234