From 45fff9f756096dd3d1bdeab5a847f8ff2673c964 Mon Sep 17 00:00:00 2001 From: Crowdin Bot <58779643+crowdin-bot@users.noreply.github.com> Date: Thu, 19 Dec 2024 16:32:48 +0200 Subject: [PATCH] chore: update API docs --- src/assets/api/crowdin/file-based.yml | 500 ++++++++++- src/assets/api/crowdin/string-based.yml | 489 ++++++++++- src/assets/api/enterprise/file-based.yml | 945 +++++++++++++++------ src/assets/api/enterprise/string-based.yml | 670 ++++++++++++--- 4 files changed, 2159 insertions(+), 445 deletions(-) diff --git a/src/assets/api/crowdin/file-based.yml b/src/assets/api/crowdin/file-based.yml index c0b5f774..5f2de576 100644 --- a/src/assets/api/crowdin/file-based.yml +++ b/src/assets/api/crowdin/file-based.yml @@ -20,6 +20,244 @@ servers: host: default: api.crowdin.com paths: + '/users/{userId}/ai/settings/custom-placeholders': + get: + tags: + - AI + summary: 'List AI Custom Placeholders' + operationId: api.ai.prompt.custom.placeholders.getMany + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' + responses: + '200': + description: 'AI Custom Placeholders list' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCollectionResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'User with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + post: + tags: + - AI + summary: 'Add AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.post + parameters: + - + $ref: '#/components/parameters/UserId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCreateForm' + responses: + '201': + description: 'AI Custom Placeholder was added successfully' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'User with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '/users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId}': + get: + tags: + - AI + summary: 'Get AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.get + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '200': + description: 'AI Custom Placeholder data' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + delete: + tags: + - AI + summary: 'Delete AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.delete + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '204': + description: 'AI Custom Placeholder was successfully deleted' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + patch: + tags: + - AI + summary: 'Edit AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.patch + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderPatchForm' + responses: + '200': + description: 'AI Custom Placeholder was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' '/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets': post: tags: @@ -7770,7 +8008,7 @@ paths: schema: oneOf: - - $ref: '#/components/schemas/PreTranslateEfficiency' + $ref: '#/components/schemas/PreTranslateAccuracy' - $ref: '#/components/schemas/TranslatorAccuracy' - @@ -14273,6 +14511,126 @@ paths: $ref: '#/components/schemas/InternalServerErrorExceptionResource' components: schemas: + AiCustomPlaceholderPatchForm: + description: 'A JSON Patch document as defined by RFC 6902' + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + AiCustomPlaceholderOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path + properties: + op: + description: 'Patch operation to perform' + type: string + enum: + - replace + - test + path: + description: 'A JSON Pointer as defined by RFC 6901' + type: string + format: json-pointer + enum: + - /description + - /placeholder + - /value + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/AiCustomPlaceholderOperationReplace' + test: '#/components/schemas/AiCustomPlaceholderOperationTest' + AiCustomPlaceholderOperationReplace: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiPromptOperationCustomPlaceholderTest: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiCustomPlaceholderCreateForm: + required: + - description + - placeholder + - value + properties: + description: + description: 'The description must be unique and must be between 3 and 255 characters.' + type: string + example: 'Product description' + placeholder: + description: 'The placeholder must be unique and must start with `%custom:` and end with `%`. Allowed characters: `a-z`, `A-Z`, `0-9`, `-`. The full length must not exceed 255 characters.' + type: string + example: '%custom:productDescription%' + value: + description: 'The text that will be utilized in the prompt. The value must not exceed 4000 characters.' + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + type: object + AiCustomPlaceholderCollectionResource: + description: 'AI Custom Placeholder Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + pagination: + $ref: '#/components/schemas/Pagination' + AiCustomPlaceholderResource: + description: 'AI Prompt Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/AiCustomPlaceholder' + AiCustomPlaceholder: + title: 'AI Custom Placeholder' + properties: + id: + type: integer + example: 2 + description: + type: string + example: 'Product description' + placeholder: + type: string + example: '%custom:productDescription%' + value: + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + createdAt: + format: date-time + example: '2019-09-20T11:11:05+00:00' + updatedAt: + format: date-time + example: '2019-09-20T12:22:20+00:00' + type: object AiFineTuningDatasetGenerateForm: properties: projectIds: @@ -15147,11 +15505,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -15191,11 +15560,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -15233,11 +15613,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' publicProjectDescription: type: boolean type: object @@ -16755,6 +17146,9 @@ components: deleteSettingsUrl: type: string nullable: true + editorMode: + type: string + nullable: true boundaries: type: object scopes: @@ -17134,6 +17528,7 @@ components: - /exportPattern - /isMultilingual - /includeProjectSourceLanguage + - /includeInContextPseudoLanguage - /labelIds - /excludeLabelIds type: object @@ -17214,6 +17609,10 @@ components: description: 'Add project source language to bundle' type: boolean default: false + includeInContextPseudoLanguage: + description: 'Add In-Context pseudo-language to bundle' + type: boolean + default: true labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -19128,6 +19527,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -19164,6 +19564,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -19191,6 +19592,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -23613,20 +24015,6 @@ components: description: 'Defines whether to export only translated file' type: boolean example: false - inContext: - description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" - type: boolean - default: false - example: true - inContextProcessHiddenStrings: - description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." - type: boolean - default: true - example: true - inContextPseudoLanguageId: - description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" - type: string - example: uk tmContextType: description: "TM perfect match searching mode. Available values:\n * segmentContext - searching by context\n * auto - context search for key-value formats and segment search for others\n * prevAndNextSegment - search by previous and next segment" type: string @@ -23861,6 +24249,20 @@ components: type: integer default: null example: 1 + inContext: + description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" + type: boolean + default: false + example: true + inContextProcessHiddenStrings: + description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." + type: boolean + default: true + example: true + inContextPseudoLanguageId: + description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" + type: string + example: uk type: object FileFormatSettingsCreateForm: required: @@ -24877,6 +25279,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object type: object MacOSXSystemStringsExporterSettings: @@ -25128,21 +25534,6 @@ components: skipUntranslatedFiles: type: boolean example: false - inContext: - type: boolean - example: true - inContextProcessHiddenStrings: - type: boolean - example: true - inContextPseudoLanguageId: - type: string - example: uk - nullable: true - inContextPseudoLanguage: - oneOf: - - - $ref: '#/components/schemas/LanguageUk' - nullable: true tmContextType: type: string default: segmentContext @@ -25367,6 +25758,21 @@ components: type: integer example: 2 nullable: true + inContext: + type: boolean + example: true + inContextProcessHiddenStrings: + type: boolean + example: true + inContextPseudoLanguageId: + type: string + example: uk + nullable: true + inContextPseudoLanguage: + oneOf: + - + $ref: '#/components/schemas/LanguageUk' + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -26408,6 +26814,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object MacOSXstringExporterSettingsResponse: title: 'MacOSX strings exporter settings' @@ -26819,27 +27229,30 @@ components: format: float example: 0.1 type: object - PreTranslateEfficiency: - title: 'Pre Translate Efficiency' - description: "Calculate the efficiency of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." + PreTranslateAccuracy: + title: 'Pre Translate Accuracy' + description: "Calculate the accuracy of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." required: - name - schema properties: name: - description: pre-translate-efficiency + description: 'pre-translate-efficiency(deprecated), pre-translate-accuracy' type: string - example: pre-translate-efficiency + enum: + - pre-translate-efficiency + - pre-translate-accuracy + example: pre-translate-accuracy schema: - description: 'Pre Translate Efficiency Report schema' + description: 'Pre Translate Accuracy Report schema' type: object oneOf: - - $ref: '#/components/schemas/pre-translate-efficiency.report.general' + $ref: '#/components/schemas/pre-translate-accuracy.report.general' - - $ref: '#/components/schemas/pre-translate-efficiency.report.byTask' + $ref: '#/components/schemas/pre-translate-accuracy.report.byTask' type: object - pre-translate-efficiency.report.general: + pre-translate-accuracy.report.general: title: General properties: unit: @@ -26880,7 +27293,7 @@ components: format: date-time example: '2019-09-27T07:00:14+00:00' type: object - pre-translate-efficiency.report.byTask: + pre-translate-accuracy.report.byTask: title: 'By Task' properties: unit: @@ -36666,6 +37079,13 @@ components: required: true schema: type: integer + AiCustomPlaceholderId: + name: aiCustomPlaceholderId + in: path + description: 'AI Custom Placeholder identifier. Get via [List AI Custom Placeholders](#operation/api.ai.prompts.custom.placeholders.getMany)' + required: true + schema: + type: integer AiReportId: name: aiReportId in: path diff --git a/src/assets/api/crowdin/string-based.yml b/src/assets/api/crowdin/string-based.yml index 4aecbb2e..8ded18d7 100644 --- a/src/assets/api/crowdin/string-based.yml +++ b/src/assets/api/crowdin/string-based.yml @@ -20,6 +20,244 @@ servers: host: default: api.crowdin.com paths: + '/users/{userId}/ai/settings/custom-placeholders': + get: + tags: + - AI + summary: 'List AI Custom Placeholders' + operationId: api.ai.prompt.custom.placeholders.getMany + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' + responses: + '200': + description: 'AI Custom Placeholders list' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCollectionResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'User with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + post: + tags: + - AI + summary: 'Add AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.post + parameters: + - + $ref: '#/components/parameters/UserId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCreateForm' + responses: + '201': + description: 'AI Custom Placeholder was added successfully' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'User with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '/users/{userId}/ai/settings/custom-placeholders/{aiCustomPlaceholderId}': + get: + tags: + - AI + summary: 'Get AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.get + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '200': + description: 'AI Custom Placeholder data' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + delete: + tags: + - AI + summary: 'Delete AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.delete + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '204': + description: 'AI Custom Placeholder was successfully deleted' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + patch: + tags: + - AI + summary: 'Edit AI Custom Placeholder' + operationId: api.users.ai.settings.custom-placeholders.patch + parameters: + - + $ref: '#/components/parameters/UserId' + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderPatchForm' + responses: + '200': + description: 'AI Custom Placeholder was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' '/users/{userId}/ai/prompts/{aiPromptId}/fine-tuning/datasets': post: tags: @@ -7129,7 +7367,7 @@ paths: schema: oneOf: - - $ref: '#/components/schemas/PreTranslateEfficiency' + $ref: '#/components/schemas/PreTranslateAccuracy' - $ref: '#/components/schemas/TranslatorAccuracy' - @@ -13167,6 +13405,126 @@ paths: $ref: '#/components/schemas/InternalServerErrorExceptionResource' components: schemas: + AiCustomPlaceholderPatchForm: + description: 'A JSON Patch document as defined by RFC 6902' + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + AiCustomPlaceholderOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path + properties: + op: + description: 'Patch operation to perform' + type: string + enum: + - replace + - test + path: + description: 'A JSON Pointer as defined by RFC 6901' + type: string + format: json-pointer + enum: + - /description + - /placeholder + - /value + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/AiCustomPlaceholderOperationReplace' + test: '#/components/schemas/AiCustomPlaceholderOperationTest' + AiCustomPlaceholderOperationReplace: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiPromptOperationCustomPlaceholderTest: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiCustomPlaceholderCreateForm: + required: + - description + - placeholder + - value + properties: + description: + description: 'The description must be unique and must be between 3 and 255 characters.' + type: string + example: 'Product description' + placeholder: + description: 'The placeholder must be unique and must start with `%custom:` and end with `%`. Allowed characters: `a-z`, `A-Z`, `0-9`, `-`. The full length must not exceed 255 characters.' + type: string + example: '%custom:productDescription%' + value: + description: 'The text that will be utilized in the prompt. The value must not exceed 4000 characters.' + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + type: object + AiCustomPlaceholderCollectionResource: + description: 'AI Custom Placeholder Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + pagination: + $ref: '#/components/schemas/Pagination' + AiCustomPlaceholderResource: + description: 'AI Prompt Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/AiCustomPlaceholder' + AiCustomPlaceholder: + title: 'AI Custom Placeholder' + properties: + id: + type: integer + example: 2 + description: + type: string + example: 'Product description' + placeholder: + type: string + example: '%custom:productDescription%' + value: + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + createdAt: + format: date-time + example: '2019-09-20T11:11:05+00:00' + updatedAt: + format: date-time + example: '2019-09-20T12:22:20+00:00' + type: object AiFineTuningDatasetGenerateForm: properties: projectIds: @@ -14041,11 +14399,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -14085,11 +14454,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -14127,11 +14507,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' publicProjectDescription: type: boolean type: object @@ -15649,6 +16040,9 @@ components: deleteSettingsUrl: type: string nullable: true + editorMode: + type: string + nullable: true boundaries: type: object scopes: @@ -16010,6 +16404,7 @@ components: - /exportPattern - /isMultilingual - /includeProjectSourceLanguage + - /includeInContextPseudoLanguage - /labelIds - /excludeLabelIds type: object @@ -16090,6 +16485,10 @@ components: description: 'Add project source language to bundle' type: boolean default: false + includeInContextPseudoLanguage: + description: 'Add In-Context pseudo-language to bundle' + type: boolean + default: true labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -17987,6 +18386,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -18023,6 +18423,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -18050,6 +18451,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -22133,6 +22535,9 @@ components: - /hiddenStringsProofreadersAccess - /useGlobalTm - /showTmSuggestionsDialects + - /inContext + - /inContextProcessHiddenStrings + - /inContextPseudoLanguageId - /qaCheckIsActive - /qaCheckCategories - '/qaCheckCategories/{category}' @@ -22682,6 +23087,20 @@ components: type: integer default: null example: 1 + inContext: + description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" + type: boolean + default: false + example: true + inContextProcessHiddenStrings: + description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." + type: boolean + default: true + example: true + inContextPseudoLanguageId: + description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" + type: string + example: uk type: object FileFormatSettingsCreateForm: required: @@ -23596,6 +24015,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object type: object MacOSXSystemStringsExporterSettings: @@ -23847,21 +24270,6 @@ components: skipUntranslatedFiles: type: boolean example: false - inContext: - type: boolean - example: true - inContextProcessHiddenStrings: - type: boolean - example: true - inContextPseudoLanguageId: - type: string - example: uk - nullable: true - inContextPseudoLanguage: - oneOf: - - - $ref: '#/components/schemas/LanguageUk' - nullable: true tmContextType: type: string default: segmentContext @@ -24086,6 +24494,21 @@ components: type: integer example: 2 nullable: true + inContext: + type: boolean + example: true + inContextProcessHiddenStrings: + type: boolean + example: true + inContextPseudoLanguageId: + type: string + example: uk + nullable: true + inContextPseudoLanguage: + oneOf: + - + $ref: '#/components/schemas/LanguageUk' + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -25027,6 +25450,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object MacOSXstringExporterSettingsResponse: title: 'MacOSX strings exporter settings' @@ -25438,27 +25865,30 @@ components: format: float example: 0.1 type: object - PreTranslateEfficiency: - title: 'Pre Translate Efficiency' - description: "Calculate the efficiency of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." + PreTranslateAccuracy: + title: 'Pre Translate Accuracy' + description: "Calculate the accuracy of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." required: - name - schema properties: name: - description: pre-translate-efficiency + description: 'pre-translate-efficiency(deprecated), pre-translate-accuracy' type: string - example: pre-translate-efficiency + enum: + - pre-translate-efficiency + - pre-translate-accuracy + example: pre-translate-accuracy schema: - description: 'Pre Translate Efficiency Report schema' + description: 'Pre Translate Accuracy Report schema' type: object oneOf: - - $ref: '#/components/schemas/pre-translate-efficiency.report.general' + $ref: '#/components/schemas/pre-translate-accuracy.report.general' - - $ref: '#/components/schemas/pre-translate-efficiency.report.byTask' + $ref: '#/components/schemas/pre-translate-accuracy.report.byTask' type: object - pre-translate-efficiency.report.general: + pre-translate-accuracy.report.general: title: General properties: unit: @@ -25499,7 +25929,7 @@ components: format: date-time example: '2019-09-27T07:00:14+00:00' type: object - pre-translate-efficiency.report.byTask: + pre-translate-accuracy.report.byTask: title: 'By Task' properties: unit: @@ -35174,6 +35604,13 @@ components: required: true schema: type: integer + AiCustomPlaceholderId: + name: aiCustomPlaceholderId + in: path + description: 'AI Custom Placeholder identifier. Get via [List AI Custom Placeholders](#operation/api.ai.prompts.custom.placeholders.getMany)' + required: true + schema: + type: integer AiReportId: name: aiReportId in: path diff --git a/src/assets/api/enterprise/file-based.yml b/src/assets/api/enterprise/file-based.yml index 9baa3beb..08550431 100644 --- a/src/assets/api/enterprise/file-based.yml +++ b/src/assets/api/enterprise/file-based.yml @@ -20,6 +20,221 @@ servers: host: default: api.crowdin.com paths: + /ai/settings/custom-placeholders: + get: + tags: + - AI + summary: 'List AI Custom Placeholders' + operationId: api.ai.prompts.custom.placeholders.getMany + parameters: + - + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' + responses: + '200': + description: 'AI Custom Placeholders list' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCollectionResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + post: + tags: + - AI + summary: 'Add AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCreateForm' + responses: + '201': + description: 'AI Custom Placeholder was added successfully' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '/ai/settings/custom-placeholders/{aiCustomPlaceholderId}': + get: + tags: + - AI + summary: 'Get AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.get + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '200': + description: 'AI Custom Placeholder data' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + delete: + tags: + - AI + summary: 'Delete AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.delete + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '204': + description: 'AI Custom Placeholder was successfully deleted' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + patch: + tags: + - AI + summary: 'Edit AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.patch + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderPatchForm' + responses: + '200': + description: 'AI Custom Placeholder was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' '/ai/prompts/{aiPromptId}/fine-tuning/datasets': post: tags: @@ -9132,7 +9347,7 @@ paths: schema: oneOf: - - $ref: '#/components/schemas/PreTranslateEfficiency' + $ref: '#/components/schemas/PreTranslateAccuracy' - $ref: '#/components/schemas/TranslatorAccuracy' - @@ -16989,6 +17204,126 @@ paths: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' components: schemas: + AiCustomPlaceholderPatchForm: + description: 'A JSON Patch document as defined by RFC 6902' + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + AiCustomPlaceholderOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path + properties: + op: + description: 'Patch operation to perform' + type: string + enum: + - replace + - test + path: + description: 'A JSON Pointer as defined by RFC 6901' + type: string + format: json-pointer + enum: + - /description + - /placeholder + - /value + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/AiCustomPlaceholderOperationReplace' + test: '#/components/schemas/AiCustomPlaceholderOperationTest' + AiCustomPlaceholderOperationReplace: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiPromptOperationCustomPlaceholderTest: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiCustomPlaceholderCreateForm: + required: + - description + - placeholder + - value + properties: + description: + description: 'The description must be unique and must be between 3 and 255 characters.' + type: string + example: 'Product description' + placeholder: + description: 'The placeholder must be unique and must start with `%custom:` and end with `%`. Allowed characters: `a-z`, `A-Z`, `0-9`, `-`. The full length must not exceed 255 characters.' + type: string + example: '%custom:productDescription%' + value: + description: 'The text that will be utilized in the prompt. The value must not exceed 4000 characters.' + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + type: object + AiCustomPlaceholderCollectionResource: + description: 'AI Custom Placeholder Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + pagination: + $ref: '#/components/schemas/Pagination' + AiCustomPlaceholderResource: + description: 'AI Prompt Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/AiCustomPlaceholder' + AiCustomPlaceholder: + title: 'AI Custom Placeholder' + properties: + id: + type: integer + example: 2 + description: + type: string + example: 'Product description' + placeholder: + type: string + example: '%custom:productDescription%' + value: + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + createdAt: + format: date-time + example: '2019-09-20T11:11:05+00:00' + updatedAt: + format: date-time + example: '2019-09-20T12:22:20+00:00' + type: object AiFineTuningDatasetGenerateForm: properties: projectIds: @@ -17863,11 +18198,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -17907,11 +18253,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -17949,11 +18306,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' publicProjectDescription: type: boolean type: object @@ -19475,6 +19843,9 @@ components: deleteSettingsUrl: type: string nullable: true + editorMode: + type: string + nullable: true boundaries: type: object scopes: @@ -19854,6 +20225,7 @@ components: - /exportPattern - /isMultilingual - /includeProjectSourceLanguage + - /includeInContextPseudoLanguage - /labelIds - /excludeLabelIds type: object @@ -19934,6 +20306,10 @@ components: description: 'Add project source language to bundle' type: boolean default: false + includeInContextPseudoLanguage: + description: 'Add In-Context pseudo-language to bundle' + type: boolean + default: true labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -21848,6 +22224,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -21884,6 +22261,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -21911,6 +22289,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -26477,7 +26856,7 @@ components: - remove - test path: - description: 'Where `languageId` is one of project''s languages and `mappingKey` is one of language-based export pattern fields.

A JSON Pointer as defined by RFC 6901

' + description: "Where `languageId` is one of project's languages and `mappingKey` is one of language-based export pattern fields.\n *

Also `vendorId` and `mtEngineId` can't be used with `steps` in same request

A JSON Pointer as defined by RFC 6901

" type: string format: json-pointer enum: @@ -26533,6 +26912,10 @@ components: - /editorSuggestionAiPromptId - /alignmentActionAiPromptId - /savingsReportSettingsTemplateId + - /templateId + - /steps + - /vendorId + - /mtEngineId x-doc-sections: - file-based type: object @@ -26820,8 +27203,6 @@ components: allOf: - $ref: '#/components/schemas/EnterpriseStringBasedProjectCreateForm' - - - $ref: '#/components/schemas/WorkflowTemplateStepConfigMTPreTranslate' - properties: saveMetaInfoInSource: @@ -26840,20 +27221,6 @@ components: description: 'Defines whether to export only translated file' type: boolean example: false - inContext: - description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" - type: boolean - default: false - example: true - inContextProcessHiddenStrings: - description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." - type: boolean - default: true - example: true - inContextPseudoLanguageId: - description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" - type: string - example: uk tmContextType: description: "TM perfect match searching mode. Available values:\n * segmentContext - searching by context\n * auto - context search for key-value formats and segment search for others\n * prevAndNextSegment - search by previous and next segment" type: string @@ -26865,219 +27232,48 @@ components: example: segmentContext x-doc-sections: - file-based - EnterpriseStringBasedProjectCreateForm: + WorkflowTemplateStepConfigTranslateProofread: required: - - name - - sourceLanguageId + - id properties: - name: - description: 'Project name' - type: string - example: 'Knowledge Base' - sourceLanguageId: - description: 'Source Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)' - type: string - example: en - templateId: - description: 'Workflow Template Identifier. Get via [List Workflow Templates](#operation/api.workflow-templates.getMany)' - type: integer - steps: - description: "Workflow Template Steps Configuration.\n\n__Note:__ Must be used together with `templateId`\n\n__Note:__ Can't be used with `vendorId`, `mtEngineId` in same request" - type: array - items: - type: object - anyOf: - - - $ref: '#/components/schemas/WorkflowTemplateStepConfigTranslateProofread' - - - $ref: '#/components/schemas/WorkflowTemplateStepConfigVendor' - - - $ref: '#/components/schemas/WorkflowTemplateStepConfigTMPreTranslate' - - - $ref: '#/components/schemas/WorkflowTemplateStepConfigMTPreTranslate' - groupId: - description: 'Group Identifier. Get via [List Groups](#operation/api.groups.getMany)' + id: + description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' type: integer - example: 1 - targetLanguageIds: + example: 3 + languages: description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' type: array items: type: string - example: es - vendorId: - description: "Specify Vendor Identifier, if no Vendor is assigned to Workflow step yet. Get via [List Vendors](#operation/api.vendors.getMany)\n\n__Note:__ Use only if Vendor is part of your Workflow Template\n\n__Note:__ Can't be used with `steps` in same request" - type: integer - example: 52760 - mtEngineId: - description: "Specify Machine Translation engine Identifier, if no MT engine is assigned to Workflow step yet. Get via [List MTs](#operation/api.mts.getMany)\n\n__Note:__ Use only if MT is part of your Workflow Template\n\n__Note:__ Can't be used with `steps` in same request" - type: integer - example: 2 - description: - description: 'Project description is visible to project members' - type: string - example: 'Vault of all terms and their explanation' - translateDuplicates: - description: "Values available:\n * 0 - Show – translators will translate each instance separately,\n * 1 - Hide (regular detection) – all duplicates will share the same translation\n * 2 - Show, but auto-translate them,\n * 3 - Show within a version branch (regular detection) - duplicates will be hidden only between versions branches\n * 4 - Hide (strict detection) – all duplicates will share the same translation\n * 5 - Show within a version branch (strict detection) - duplicates will be hidden only between versions branches" - type: integer - default: 0 - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - example: 1 - tagsDetection: - description: "Values available:\n * 0 - Auto\n * 1 - Count tags\n * 2 - Skip tags" - type: integer - default: 0 - enum: - - 0 - - 1 - - 2 - example: 1 - isMtAllowed: - description: 'Allows machine translations (Microsoft Translator, Google Translate) be visible for translators in the Editor.' - type: boolean - default: true - example: false - taskBasedAccessControl: - description: 'Allow project members work with tasks they assigned to, even if they do not have full access to the language.' - type: boolean - default: false - example: false - taskReviewerIds: - description: 'Array of manager user ids.' - type: array - items: - type: integer - example: - - 1 - - 2 - - 3 - - 4 - autoSubstitution: - description: 'Allows auto-substitution' - type: boolean - default: true - example: false - showTmSuggestionsDialects: - description: 'If `true` - show primary language TM suggestions for dialects if there are no dialect-specific ones.' - type: boolean - default: true - example: true - autoTranslateDialects: - description: "Automatically fill in regional dialects.\n *\n * If `true`, all untranslated strings in regional dialects (e.g. Argentine Spanish) will automatically include translations completed in the primary language (e.g. Spanish)." - type: boolean - default: false - example: true - publicDownloads: - description: 'Allows translators to download source files to their machines and upload translations back into the project. Project owner and managers can always download sources and upload translations.' - type: boolean - default: true - example: false - hiddenStringsProofreadersAccess: - description: 'Allows proofreaders to work with hidden strings. Project owner and managers can always access hidden strings' - type: boolean - default: true - example: false - delayedWorkflowStart: - description: 'Delay workflow start after project creation' - type: boolean - default: 'false' - example: 'false' - skipUntranslatedStrings: - description: 'Defines whether to skip untranslated strings' - type: boolean - example: false - exportWithMinApprovalsCount: - description: "Defines whether to export only approved strings\n\n__Note:__ value greater than `0` can't be used with `exportStringsThatPassedWorkflow=true` in same request" - type: integer - example: 0 - exportStringsThatPassedWorkflow: - description: "Defines whether to export only strings that passed workflow\n\n__Note:__ `true` value can't be used with `exportWithMinApprovalsCount>0` in same request or in projects without an assigned workflow" - type: boolean - example: true - normalizePlaceholder: - description: 'Enable the transformation of the placeholders to the unified format to improve the work with TM suggestions' - type: boolean - example: true - qaCheckIsActive: - description: 'If `true` - QA checks are active' - type: boolean - default: 'true' - example: true - qaApprovalsCount: - description: 'Clear QA checks for translations with specific number of approvals' - type: number - default: '1' - example: '1' - qaCheckCategories: - $ref: '#/components/schemas/qaCheckCategories' - qaChecksIgnorableCategories: - $ref: '#/components/schemas/qaChecksIgnorableCategories' - customQaCheckIds: - type: array - items: - type: integer - example: 1 - externalQaCheckIds: + example: it + assignees: + description: 'Use `config` instead' type: array items: type: integer - example: 1 - languageMapping: - description: 'Language Mapping' - properties: - uk: - $ref: '#/components/schemas/language-mapping-uk' - type: object - glossaryAccess: - description: 'Allow project members to manage glossary terms. The project owner and managers always can add and edit terms.' - type: boolean - default: false - example: false + example: 5 deprecated: true - glossaryAccessOption: - description: 'Defines how project members will manage glossary terms. The project owner and managers always can add and edit terms.' - type: string - default: readOnly - enum: - - readOnly - - fullAccess - - manageDrafts - example: readOnly - notificationSettings: - description: 'Notification Settings' + config: + description: '__Note:__ Use only with `Translation` and `Proofreading` step types' properties: - translatorNewStrings: - description: 'Notify translators about new strings' - type: boolean - default: false - example: false - managerNewStrings: - description: 'Notify project managers about new strings' - type: boolean - default: false - example: false - managerLanguageCompleted: - description: 'Notify project managers about language translation/validation completion' - type: boolean - default: false - example: false + assignees: + description: 'Keys are the Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany), Values are the User Identifiers. Get via [List Users](#operation/api.users.getMany)' + type: object + example: + it: + - 20 + - 21 + fr: + - 20 + zh-CN: + - 11 + additionalProperties: + type: array + items: + type: integer type: object - savingsReportSettingsTemplateId: - description: 'Report Settings Templates Identifier. Get via [List Report Settings Templates](#operation/api.reports.settings-templates.getMany)' - type: integer - fields: - oneOf: - - - $ref: '#/components/schemas/EnterpriseAdditionalFields' - nullable: true type: object - WorkflowTemplateStepConfigTranslateProofread: + WorkflowTemplateStepConfigVendor: required: - id properties: @@ -27091,14 +27287,12 @@ components: items: type: string example: it - assignees: - description: "User Identifiers. Get via [List Users](#operation/api.users.getMany)\n\n__Note:__ Use only with `Translation` and `Proofreading` step types" - type: array - items: - type: integer - example: 5 + vendorId: + description: 'Vendor Identifier. Get via [List Vendors](#operation/api.vendors.getMany)' + type: integer + example: 52760 type: object - WorkflowTemplateStepConfigVendor: + WorkflowTemplateStepConfigMTPreTranslate: required: - id properties: @@ -27112,10 +27306,10 @@ components: items: type: string example: it - vendorId: - description: 'Vendor Identifier. Get via [List Vendors](#operation/api.vendors.getMany)' + mtId: + description: 'MT Engine Identifier. Get via [List MTs](#operation/api.mts.getMany)' type: integer - example: 52760 + example: 12 type: object WorkflowTemplateStepConfigTMPreTranslate: required: @@ -27132,7 +27326,7 @@ components: type: string example: it config: - description: '__Note:__ Use only if TM Pre-translation is part of your Workflow Template' + description: "__Note:__ Use only if TM Pre-translation is part of your Workflow Template\n\n__Note:__ If `autoSubstitution` is not set, the value from the project settings will be used" properties: minRelevant: description: 'Minimum match for TM suggestions' @@ -27144,24 +27338,217 @@ components: example: true type: object type: object - WorkflowTemplateStepConfigMTPreTranslate: + EnterpriseStringBasedProjectCreateForm: required: - - id + - name + - sourceLanguageId properties: - id: - description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' + name: + description: 'Project name' + type: string + example: 'Knowledge Base' + sourceLanguageId: + description: 'Source Language Identifier. Get via [List Supported Languages](#operation/api.languages.getMany)' + type: string + example: en + templateId: + description: 'Workflow Template Identifier. Get via [List Workflow Templates](#operation/api.workflow-templates.getMany)' type: integer - example: 3 - languages: + steps: + description: "Workflow Template Steps Configuration.\n\n__Note:__ Must be used together with `templateId`\n\n__Note:__ Can't be used with `vendorId`, `mtEngineId` in same request" + type: array + items: + type: object + anyOf: + - + $ref: '#/components/schemas/WorkflowTemplateStepConfigTranslateProofread' + - + $ref: '#/components/schemas/WorkflowTemplateStepConfigVendor' + - + $ref: '#/components/schemas/WorkflowTemplateStepConfigTMPreTranslate' + - + $ref: '#/components/schemas/WorkflowTemplateStepConfigMTPreTranslate' + groupId: + description: 'Group Identifier. Get via [List Groups](#operation/api.groups.getMany)' + type: integer + example: 1 + targetLanguageIds: description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' type: array items: type: string - example: it - mtId: - description: 'MT Engine Identifier. Get via [List MTs](#operation/api.mts.getMany)' + example: es + vendorId: + description: "Specify Vendor Identifier, if no Vendor is assigned to Workflow step yet. Get via [List Vendors](#operation/api.vendors.getMany)\n\n__Note:__ Use only if Vendor is part of your Workflow Template\n\n__Note:__ Can't be used with `steps` in same request" type: integer - example: 12 + example: 52760 + mtEngineId: + description: "Specify Machine Translation engine Identifier, if no MT engine is assigned to Workflow step yet. Get via [List MTs](#operation/api.mts.getMany)\n\n__Note:__ Use only if MT is part of your Workflow Template\n\n__Note:__ Can't be used with `steps` in same request" + type: integer + example: 2 + description: + description: 'Project description is visible to project members' + type: string + example: 'Vault of all terms and their explanation' + translateDuplicates: + description: "Values available:\n * 0 - Show – translators will translate each instance separately,\n * 1 - Hide (regular detection) – all duplicates will share the same translation\n * 2 - Show, but auto-translate them,\n * 3 - Show within a version branch (regular detection) - duplicates will be hidden only between versions branches\n * 4 - Hide (strict detection) – all duplicates will share the same translation\n * 5 - Show within a version branch (strict detection) - duplicates will be hidden only between versions branches" + type: integer + default: 0 + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + example: 1 + tagsDetection: + description: "Values available:\n * 0 - Auto\n * 1 - Count tags\n * 2 - Skip tags" + type: integer + default: 0 + enum: + - 0 + - 1 + - 2 + example: 1 + isMtAllowed: + description: 'Allows machine translations (Microsoft Translator, Google Translate) be visible for translators in the Editor.' + type: boolean + default: true + example: false + taskBasedAccessControl: + description: 'Allow project members work with tasks they assigned to, even if they do not have full access to the language.' + type: boolean + default: false + example: false + taskReviewerIds: + description: 'Array of manager user ids.' + type: array + items: + type: integer + example: + - 1 + - 2 + - 3 + - 4 + autoSubstitution: + description: 'Allows auto-substitution' + type: boolean + default: true + example: false + showTmSuggestionsDialects: + description: 'If `true` - show primary language TM suggestions for dialects if there are no dialect-specific ones.' + type: boolean + default: true + example: true + autoTranslateDialects: + description: "Automatically fill in regional dialects.\n\n If `true`, all untranslated strings in regional dialects (e.g. Argentine Spanish) will automatically include translations completed in the primary language (e.g. Spanish)." + type: boolean + default: false + example: true + publicDownloads: + description: 'Allows translators to download source files to their machines and upload translations back into the project. Project owner and managers can always download sources and upload translations.' + type: boolean + default: true + example: false + hiddenStringsProofreadersAccess: + description: 'Allows proofreaders to work with hidden strings. Project owner and managers can always access hidden strings' + type: boolean + default: true + example: false + delayedWorkflowStart: + description: 'Delay workflow start after project creation' + type: boolean + default: 'false' + example: 'false' + skipUntranslatedStrings: + description: 'Defines whether to skip untranslated strings' + type: boolean + example: false + exportWithMinApprovalsCount: + description: "Defines whether to export only approved strings\n\n__Note:__ value greater than `0` can't be used with `exportStringsThatPassedWorkflow=true` in same request" + type: integer + example: 0 + exportStringsThatPassedWorkflow: + description: "Defines whether to export only strings that passed workflow\n\n__Note:__ `true` value can't be used with `exportWithMinApprovalsCount>0` in same request or in projects without an assigned workflow" + type: boolean + example: true + normalizePlaceholder: + description: 'Enable the transformation of the placeholders to the unified format to improve the work with TM suggestions' + type: boolean + example: true + qaCheckIsActive: + description: 'If `true` - QA checks are active' + type: boolean + default: 'true' + example: true + qaApprovalsCount: + description: 'Clear QA checks for translations with specific number of approvals' + type: number + default: '1' + example: '1' + qaCheckCategories: + $ref: '#/components/schemas/qaCheckCategories' + qaChecksIgnorableCategories: + $ref: '#/components/schemas/qaChecksIgnorableCategories' + customQaCheckIds: + type: array + items: + type: integer + example: 1 + externalQaCheckIds: + type: array + items: + type: integer + example: 1 + languageMapping: + description: 'Language Mapping' + properties: + uk: + $ref: '#/components/schemas/language-mapping-uk' + type: object + glossaryAccess: + description: 'Allow project members to manage glossary terms. The project owner and managers always can add and edit terms.' + type: boolean + default: false + example: false + deprecated: true + glossaryAccessOption: + description: 'Defines how project members will manage glossary terms. The project owner and managers always can add and edit terms.' + type: string + default: readOnly + enum: + - readOnly + - fullAccess + - manageDrafts + example: readOnly + notificationSettings: + description: 'Notification Settings' + properties: + translatorNewStrings: + description: 'Notify translators about new strings' + type: boolean + default: false + example: false + managerNewStrings: + description: 'Notify project managers about new strings' + type: boolean + default: false + example: false + managerLanguageCompleted: + description: 'Notify project managers about language translation/validation completion' + type: boolean + default: false + example: false + type: object + savingsReportSettingsTemplateId: + description: 'Report Settings Templates Identifier. Get via [List Report Settings Templates](#operation/api.reports.settings-templates.getMany)' + type: integer + fields: + oneOf: + - + $ref: '#/components/schemas/EnterpriseAdditionalFields' + nullable: true assistActionAiPromptId: description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' type: integer @@ -27184,6 +27571,20 @@ components: type: integer default: null example: 1 + inContext: + description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" + type: boolean + default: false + example: true + inContextProcessHiddenStrings: + description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." + type: boolean + default: true + example: true + inContextPseudoLanguageId: + description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" + type: string + example: uk type: object FileFormatSettingsCreateForm: required: @@ -28200,6 +28601,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object type: object MacOSXSystemStringsExporterSettings: @@ -28451,21 +28856,6 @@ components: skipUntranslatedFiles: type: boolean example: false - inContext: - type: boolean - example: true - inContextProcessHiddenStrings: - type: boolean - example: true - inContextPseudoLanguageId: - type: string - example: uk - nullable: true - inContextPseudoLanguage: - oneOf: - - - $ref: '#/components/schemas/LanguageUk' - nullable: true tmContextType: type: string default: segmentContext @@ -28748,6 +29138,21 @@ components: type: integer example: 2 nullable: true + inContext: + type: boolean + example: true + inContextProcessHiddenStrings: + type: boolean + example: true + inContextPseudoLanguageId: + type: string + example: uk + nullable: true + inContextPseudoLanguage: + oneOf: + - + $ref: '#/components/schemas/LanguageUk' + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -29722,6 +30127,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object MacOSXstringExporterSettingsResponse: title: 'MacOSX strings exporter settings' @@ -29900,27 +30309,30 @@ components: - type: array items: { type: string } - PreTranslateEfficiency: - title: 'Pre Translate Efficiency' - description: "Calculate the efficiency of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." + PreTranslateAccuracy: + title: 'Pre Translate Accuracy' + description: "Calculate the accuracy of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." required: - name - schema properties: name: - description: pre-translate-efficiency + description: 'pre-translate-efficiency(deprecated), pre-translate-accuracy' type: string - example: pre-translate-efficiency + enum: + - pre-translate-efficiency + - pre-translate-accuracy + example: pre-translate-accuracy schema: - description: 'Pre Translate Efficiency Report schema' + description: 'Pre Translate Accuracy Report schema' type: object oneOf: - - $ref: '#/components/schemas/pre-translate-efficiency.report.general' + $ref: '#/components/schemas/pre-translate-accuracy.report.general' - - $ref: '#/components/schemas/pre-translate-efficiency.report.byTask' + $ref: '#/components/schemas/pre-translate-accuracy.report.byTask' type: object - pre-translate-efficiency.report.general: + pre-translate-accuracy.report.general: title: General properties: unit: @@ -29961,7 +30373,7 @@ components: format: date-time example: '2019-09-27T07:00:14+00:00' type: object - pre-translate-efficiency.report.byTask: + pre-translate-accuracy.report.byTask: title: 'By Task' properties: unit: @@ -40308,6 +40720,13 @@ components: required: true schema: type: integer + AiCustomPlaceholderId: + name: aiCustomPlaceholderId + in: path + description: 'AI Custom Placeholder identifier. Get via [List AI Custom Placeholders](#operation/api.ai.prompts.custom.placeholders.getMany)' + required: true + schema: + type: integer AiReportId: name: aiReportId in: path diff --git a/src/assets/api/enterprise/string-based.yml b/src/assets/api/enterprise/string-based.yml index 8611287a..445a2a9a 100644 --- a/src/assets/api/enterprise/string-based.yml +++ b/src/assets/api/enterprise/string-based.yml @@ -20,6 +20,221 @@ servers: host: default: api.crowdin.com paths: + /ai/settings/custom-placeholders: + get: + tags: + - AI + summary: 'List AI Custom Placeholders' + operationId: api.ai.prompts.custom.placeholders.getMany + parameters: + - + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' + responses: + '200': + description: 'AI Custom Placeholders list' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCollectionResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + post: + tags: + - AI + summary: 'Add AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderCreateForm' + responses: + '201': + description: 'AI Custom Placeholder was added successfully' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '/ai/settings/custom-placeholders/{aiCustomPlaceholderId}': + get: + tags: + - AI + summary: 'Get AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.get + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '200': + description: 'AI Custom Placeholder data' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + delete: + tags: + - AI + summary: 'Delete AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.delete + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + responses: + '204': + description: 'AI Custom Placeholder was successfully deleted' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + patch: + tags: + - AI + summary: 'Edit AI Custom Placeholder' + operationId: api.ai.settings.custom-placeholders.patch + parameters: + - + $ref: '#/components/parameters/AiCustomPlaceholderId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderPatchForm' + responses: + '200': + description: 'AI Custom Placeholder was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + '400': + description: 'Invalid Request Parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorCollectionResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'AI Custom Placeholder with specified user id and id was not found' + content: + application/json: + schema: + $ref: '#/components/schemas/NotFoundExceptionResource' + '405': + description: 'Method Not Allowed' + content: + application/json: + schema: + $ref: '#/components/schemas/MethodNotAllowedExceptionResource' '/ai/prompts/{aiPromptId}/fine-tuning/datasets': post: tags: @@ -8491,7 +8706,7 @@ paths: schema: oneOf: - - $ref: '#/components/schemas/PreTranslateEfficiency' + $ref: '#/components/schemas/PreTranslateAccuracy' - $ref: '#/components/schemas/TranslatorAccuracy' - @@ -15661,6 +15876,126 @@ paths: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' components: schemas: + AiCustomPlaceholderPatchForm: + description: 'A JSON Patch document as defined by RFC 6902' + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + AiCustomPlaceholderOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path + properties: + op: + description: 'Patch operation to perform' + type: string + enum: + - replace + - test + path: + description: 'A JSON Pointer as defined by RFC 6901' + type: string + format: json-pointer + enum: + - /description + - /placeholder + - /value + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/AiCustomPlaceholderOperationReplace' + test: '#/components/schemas/AiCustomPlaceholderOperationTest' + AiCustomPlaceholderOperationReplace: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiPromptOperationCustomPlaceholderTest: + description: 'A JSON Patch `Replace` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.3)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/AiCustomPlaceholderOperation' + - + properties: + value: + type: string + AiCustomPlaceholderCreateForm: + required: + - description + - placeholder + - value + properties: + description: + description: 'The description must be unique and must be between 3 and 255 characters.' + type: string + example: 'Product description' + placeholder: + description: 'The placeholder must be unique and must start with `%custom:` and end with `%`. Allowed characters: `a-z`, `A-Z`, `0-9`, `-`. The full length must not exceed 255 characters.' + type: string + example: '%custom:productDescription%' + value: + description: 'The text that will be utilized in the prompt. The value must not exceed 4000 characters.' + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + type: object + AiCustomPlaceholderCollectionResource: + description: 'AI Custom Placeholder Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/AiCustomPlaceholderResource' + pagination: + $ref: '#/components/schemas/Pagination' + AiCustomPlaceholderResource: + description: 'AI Prompt Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/AiCustomPlaceholder' + AiCustomPlaceholder: + title: 'AI Custom Placeholder' + properties: + id: + type: integer + example: 2 + description: + type: string + example: 'Product description' + placeholder: + type: string + example: '%custom:productDescription%' + value: + type: string + example: 'The product is the professional consulting service that transform challenges into opportunities.' + createdAt: + format: date-time + example: '2019-09-20T11:11:05+00:00' + updatedAt: + format: date-time + example: '2019-09-20T12:22:20+00:00' + type: object AiFineTuningDatasetGenerateForm: properties: projectIds: @@ -16535,11 +16870,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -16579,11 +16925,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' otherLanguageTranslations: properties: isEnabled: @@ -16621,11 +16978,22 @@ components: enum: - basic companyDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true projectDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true audienceDescription: + description: 'Use field `customPlaceholders` instead' type: string + deprecated: true + customPlaceholders: + type: array + items: + type: string + example: '%custom:companyDescription%' publicProjectDescription: type: boolean type: object @@ -18147,6 +18515,9 @@ components: deleteSettingsUrl: type: string nullable: true + editorMode: + type: string + nullable: true boundaries: type: object scopes: @@ -18508,6 +18879,7 @@ components: - /exportPattern - /isMultilingual - /includeProjectSourceLanguage + - /includeInContextPseudoLanguage - /labelIds - /excludeLabelIds type: object @@ -18588,6 +18960,10 @@ components: description: 'Add project source language to bundle' type: boolean default: false + includeInContextPseudoLanguage: + description: 'Add In-Context pseudo-language to bundle' + type: boolean + default: true labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -20485,6 +20861,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -20521,6 +20898,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -20548,6 +20926,7 @@ components: - projectSettings - projectTaskEditCreate - projectTaskDetails + - projectTaskBoardCard - fileDetails - fileSettings - userEditModal @@ -25113,7 +25492,7 @@ components: - remove - test path: - description: 'Where `languageId` is one of project''s languages and `mappingKey` is one of language-based export pattern fields.

A JSON Pointer as defined by RFC 6901

' + description: "Where `languageId` is one of project's languages and `mappingKey` is one of language-based export pattern fields.\n *

Also `vendorId` and `mtEngineId` can't be used with `steps` in same request

A JSON Pointer as defined by RFC 6901

" type: string format: json-pointer enum: @@ -25136,6 +25515,9 @@ components: - /publicDownloads - /hiddenStringsProofreadersAccess - /normalizePlaceholder + - /inContext + - /inContextProcessHiddenStrings + - /inContextPseudoLanguageId - /qaCheckIsActive - /qaApprovalsCount - /qaCheckCategories @@ -25162,6 +25544,10 @@ components: - /editorSuggestionAiPromptId - /alignmentActionAiPromptId - /savingsReportSettingsTemplateId + - /templateId + - /steps + - /vendorId + - /mtEngineId x-doc-sections: - string-based type: object @@ -25450,9 +25836,115 @@ components: - $ref: '#/components/schemas/EnterpriseStringBasedProjectCreateForm' - - $ref: '#/components/schemas/WorkflowTemplateStepConfigMTPreTranslate' + $ref: '#/components/schemas/EnterpriseStringBasedProjectCreateForm' x-doc-sections: - string-based + WorkflowTemplateStepConfigTranslateProofread: + required: + - id + properties: + id: + description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' + type: integer + example: 3 + languages: + description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' + type: array + items: + type: string + example: it + assignees: + description: 'Use `config` instead' + type: array + items: + type: integer + example: 5 + deprecated: true + config: + description: '__Note:__ Use only with `Translation` and `Proofreading` step types' + properties: + assignees: + description: 'Keys are the Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany), Values are the User Identifiers. Get via [List Users](#operation/api.users.getMany)' + type: object + example: + it: + - 20 + - 21 + fr: + - 20 + zh-CN: + - 11 + additionalProperties: + type: array + items: + type: integer + type: object + type: object + WorkflowTemplateStepConfigVendor: + required: + - id + properties: + id: + description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' + type: integer + example: 3 + languages: + description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' + type: array + items: + type: string + example: it + vendorId: + description: 'Vendor Identifier. Get via [List Vendors](#operation/api.vendors.getMany)' + type: integer + example: 52760 + type: object + WorkflowTemplateStepConfigMTPreTranslate: + required: + - id + properties: + id: + description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' + type: integer + example: 3 + languages: + description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' + type: array + items: + type: string + example: it + mtId: + description: 'MT Engine Identifier. Get via [List MTs](#operation/api.mts.getMany)' + type: integer + example: 12 + type: object + WorkflowTemplateStepConfigTMPreTranslate: + required: + - id + properties: + id: + description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' + type: integer + example: 3 + languages: + description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' + type: array + items: + type: string + example: it + config: + description: "__Note:__ Use only if TM Pre-translation is part of your Workflow Template\n\n__Note:__ If `autoSubstitution` is not set, the value from the project settings will be used" + properties: + minRelevant: + description: 'Minimum match for TM suggestions' + type: integer + example: 60 + autoSubstitution: + description: 'Improves TM suggestions' + type: boolean + example: true + type: object + type: object EnterpriseStringBasedProjectCreateForm: required: - name @@ -25516,7 +26008,7 @@ components: type: string example: 'Vault of all terms and their explanation' translateDuplicates: - description: "Values available:\n * 0 - Show – translators will translate each instance separately,\n * 1 - Hide (regular detection) – all duplicates will share the same translation\n * 2 - Show, but auto-translate them,\n * 3 - Show within a version branch (regular detection) - duplicates will be hidden only between versions branches\n * 4 - Hide (strict detection) – all duplicates will share the same translation\n * 5 - Show within a version branch (strict detection) - duplicates will be hidden only between versions branches" + description: "Values available:\n * 0 - Show – translators will translate each instance separately,\n * 1 - Hide (regular detection) – all duplicates will share the same translation\n * 2 - Show, but auto-translate them,\n * 3 - Show within a version branch (regular detection) - duplicates will be hidden only between versions branches\n * 4 - Hide (strict detection) – all duplicates will share the same translation\n * 5 - Show within a version branch (strict detection) - duplicates will be hidden only between versions branches" type: integer default: 0 enum: @@ -25567,7 +26059,7 @@ components: default: true example: true autoTranslateDialects: - description: "Automatically fill in regional dialects.\n *\n * If `true`, all untranslated strings in regional dialects (e.g. Argentine Spanish) will automatically include translations completed in the primary language (e.g. Spanish)." + description: "Automatically fill in regional dialects.\n\n If `true`, all untranslated strings in regional dialects (e.g. Argentine Spanish) will automatically include translations completed in the primary language (e.g. Spanish)." type: boolean default: false example: true @@ -25674,92 +26166,6 @@ components: - $ref: '#/components/schemas/EnterpriseAdditionalFields' nullable: true - type: object - WorkflowTemplateStepConfigTranslateProofread: - required: - - id - properties: - id: - description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' - type: integer - example: 3 - languages: - description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' - type: array - items: - type: string - example: it - assignees: - description: "User Identifiers. Get via [List Users](#operation/api.users.getMany)\n\n__Note:__ Use only with `Translation` and `Proofreading` step types" - type: array - items: - type: integer - example: 5 - type: object - WorkflowTemplateStepConfigVendor: - required: - - id - properties: - id: - description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' - type: integer - example: 3 - languages: - description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' - type: array - items: - type: string - example: it - vendorId: - description: 'Vendor Identifier. Get via [List Vendors](#operation/api.vendors.getMany)' - type: integer - example: 52760 - type: object - WorkflowTemplateStepConfigTMPreTranslate: - required: - - id - properties: - id: - description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' - type: integer - example: 3 - languages: - description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' - type: array - items: - type: string - example: it - config: - description: '__Note:__ Use only if TM Pre-translation is part of your Workflow Template' - properties: - minRelevant: - description: 'Minimum match for TM suggestions' - type: integer - example: 60 - autoSubstitution: - description: 'Improves TM suggestions' - type: boolean - example: true - type: object - type: object - WorkflowTemplateStepConfigMTPreTranslate: - required: - - id - properties: - id: - description: 'Workflow Template Step Identifier. Get via [Get Workflow Template](#operation/api.workflow-templates.get)' - type: integer - example: 3 - languages: - description: 'Target Languages Identifiers. Get via [List Supported Languages](#operation/api.languages.getMany)' - type: array - items: - type: string - example: it - mtId: - description: 'MT Engine Identifier. Get via [List MTs](#operation/api.mts.getMany)' - type: integer - example: 12 assistActionAiPromptId: description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' type: integer @@ -25782,6 +26188,20 @@ components: type: integer default: null example: 1 + inContext: + description: "Enable In-Context translations.\n\n__Note:__ Must be used together with `inContextPseudoLanguageId`" + type: boolean + default: false + example: true + inContextProcessHiddenStrings: + description: "Export hidden strings via pseudo-language.\n\n__Note:__ If `true` - hidden strings included in the pseudo-language archive will be translatable via In-Context." + type: boolean + default: true + example: true + inContextPseudoLanguageId: + description: "In-Context pseudo-language id.\n\n__Note:__ Must be different from project source and target languages" + type: string + example: uk type: object FileFormatSettingsCreateForm: required: @@ -26696,6 +27116,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object type: object MacOSXSystemStringsExporterSettings: @@ -26947,21 +27371,6 @@ components: skipUntranslatedFiles: type: boolean example: false - inContext: - type: boolean - example: true - inContextProcessHiddenStrings: - type: boolean - example: true - inContextPseudoLanguageId: - type: string - example: uk - nullable: true - inContextPseudoLanguage: - oneOf: - - - $ref: '#/components/schemas/LanguageUk' - nullable: true tmContextType: type: string default: segmentContext @@ -27244,6 +27653,21 @@ components: type: integer example: 2 nullable: true + inContext: + type: boolean + example: true + inContextProcessHiddenStrings: + type: boolean + example: true + inContextPseudoLanguageId: + type: string + example: uk + nullable: true + inContextPseudoLanguage: + oneOf: + - + $ref: '#/components/schemas/LanguageUk' + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -28118,6 +28542,10 @@ components: description: 'Сonvert simple line breaks (Enter) to \n (e.g. New\nLine).' type: boolean default: false + useCdataForStringsWithTags: + description: 'Encloses strings with HTML tags in CDATA sections (e.g., `Name` > `Name]]>`). Does not apply to strings with only `` tags.' + type: boolean + default: false type: object MacOSXstringExporterSettingsResponse: title: 'MacOSX strings exporter settings' @@ -28296,27 +28724,30 @@ components: - type: array items: { type: string } - PreTranslateEfficiency: - title: 'Pre Translate Efficiency' - description: "Calculate the efficiency of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." + PreTranslateAccuracy: + title: 'Pre Translate Accuracy' + description: "Calculate the accuracy of the pre-translation process\n\n__Note:__ The strings included in this report must be approved and have at least one \"pre-translate\" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference." required: - name - schema properties: name: - description: pre-translate-efficiency + description: 'pre-translate-efficiency(deprecated), pre-translate-accuracy' type: string - example: pre-translate-efficiency + enum: + - pre-translate-efficiency + - pre-translate-accuracy + example: pre-translate-accuracy schema: - description: 'Pre Translate Efficiency Report schema' + description: 'Pre Translate Accuracy Report schema' type: object oneOf: - - $ref: '#/components/schemas/pre-translate-efficiency.report.general' + $ref: '#/components/schemas/pre-translate-accuracy.report.general' - - $ref: '#/components/schemas/pre-translate-efficiency.report.byTask' + $ref: '#/components/schemas/pre-translate-accuracy.report.byTask' type: object - pre-translate-efficiency.report.general: + pre-translate-accuracy.report.general: title: General properties: unit: @@ -28357,7 +28788,7 @@ components: format: date-time example: '2019-09-27T07:00:14+00:00' type: object - pre-translate-efficiency.report.byTask: + pre-translate-accuracy.report.byTask: title: 'By Task' properties: unit: @@ -38578,6 +39009,13 @@ components: required: true schema: type: integer + AiCustomPlaceholderId: + name: aiCustomPlaceholderId + in: path + description: 'AI Custom Placeholder identifier. Get via [List AI Custom Placeholders](#operation/api.ai.prompts.custom.placeholders.getMany)' + required: true + schema: + type: integer AiReportId: name: aiReportId in: path