From 89477ef2a49b50b9807bca87988a6c014c2976fd Mon Sep 17 00:00:00 2001 From: Andrii Bodnar Date: Thu, 3 Oct 2024 17:00:50 +0300 Subject: [PATCH] chore: update API docs --- src/assets/api/crowdin/file-based.yml | 510 +++++++++++++++++--- src/assets/api/crowdin/string-based.yml | 510 +++++++++++++++++--- src/assets/api/enterprise/file-based.yml | 510 +++++++++++++++++--- src/assets/api/enterprise/string-based.yml | 514 ++++++++++++++++++--- 4 files changed, 1806 insertions(+), 238 deletions(-) diff --git a/src/assets/api/crowdin/file-based.yml b/src/assets/api/crowdin/file-based.yml index 9c5ab941..5c40f7b7 100644 --- a/src/assets/api/crowdin/file-based.yml +++ b/src/assets/api/crowdin/file-based.yml @@ -593,6 +593,12 @@ paths: application/json: schema: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ConflictExceptionResource' '/users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}': get: tags: @@ -6031,24 +6037,26 @@ paths: application/json: schema: $ref: '#/components/schemas/InternalServerErrorExceptionResource' - '/projects/{projectId}/pre-translations/{preTranslationId}': + '/projects/{projectId}/pre-translations': get: tags: - Translations - summary: 'Pre-Translation Status' - operationId: api.projects.pre-translations.get + summary: 'List Pre-Translations' + operationId: api.projects.pre-translations.getMany parameters: - $ref: '#/components/parameters/ProjectId' - - $ref: '#/components/parameters/PreTranslationId' + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' responses: '200': - description: 'Pre-translation status' + description: 'Pre-translation list' content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/CrowdinPreTranslationCollectionResource' '400': description: 'Invalid Request Parameters' content: @@ -6068,7 +6076,7 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project or pre-translation with specified id was not found' + description: 'Project with specified id was not found' content: application/json: schema: @@ -6085,7 +6093,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableExceptionResource' - '/projects/{projectId}/pre-translations': post: tags: - Translations @@ -6105,7 +6112,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/CrowdinPreTranslationResource' '400': description: 'Invalid Request Parameters' content: @@ -6131,7 +6138,120 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project, language, file, MT engine or AI prompt with specified id was not found' + description: 'Project 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' + '422': + description: 'Unprocessable Entity' + content: + application/json: + schema: + $ref: '#/components/schemas/UnprocessableEntityExceptionResource' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + '/projects/{projectId}/pre-translations/{preTranslationId}': + get: + tags: + - Translations + summary: 'Pre-Translation Status' + operationId: api.projects.pre-translations.get + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + responses: + '200': + description: 'Pre-translation status' + content: + application/json: + schema: + $ref: '#/components/schemas/CrowdinPreTranslationResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'Project or pre-translation 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' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + patch: + tags: + - Translations + summary: 'Edit Pre-Translation' + operationId: api.projects.pre-translations.patch + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/PreTranslationPatch' + responses: + '200': + description: 'Pre-translation was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/CrowdinPreTranslationResource' + '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: 'Project or pre-translation with specified id was not found' content: application/json: schema: @@ -6520,7 +6640,7 @@ paths: $ref: '#/components/parameters/ProjectId' responses: '200': - description: "Project data\n* Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n* Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" + description: "Project data\n * Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n * Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" content: application/json: schema: @@ -8118,6 +8238,12 @@ paths: parameters: - $ref: '#/components/parameters/ProjectId' + - + name: search + in: query + description: 'Search screenshots by name, tagged strings or file names that include screenshots.' + schema: + type: string - name: orderBy in: query @@ -14084,11 +14210,14 @@ paths: components: schemas: AiFineTuningDatasetGenerateForm: - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -14142,11 +14271,14 @@ components: type: object trainingOptions: description: 'Options for generating the training dataset.' - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -14174,7 +14306,12 @@ components: description: 'Options for generating the validation dataset.' properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -14275,6 +14412,12 @@ components: type: array items: type: integer + nullable: true + tmIds: + type: array + items: + type: integer + nullable: true purpose: type: string default: training @@ -14396,6 +14539,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -14421,6 +14569,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -14752,6 +14905,8 @@ components: type: boolean publicProjectDescription: type: boolean + siblingsStrings: + type: boolean type: object ai.prompt.config.basic_mode.assist: title: 'Basic mode (assist action)' @@ -15466,8 +15621,8 @@ components: format: json-pointer enum: - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /shortcuts - - /showSuggestion type: object discriminator: propertyName: op @@ -15518,9 +15673,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 5 shortcuts: type: array items: @@ -22000,9 +22155,65 @@ components: format: date-time example: '2019-09-23T09:19:07+00:00' type: object - EnterpriseFallbackLanguagesScheme: + PreTranslationPatch: + type: array + items: + $ref: '#/components/schemas/PreTranslationOperation' + PreTranslationOperation: + 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: + - /status + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/PreTranslationOperationReplace' + test: '#/components/schemas/PreTranslationOperationTest' + PreTranslationOperationReplace: + 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/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + PreTranslationOperationTest: + description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + FallbackLanguagesScheme: title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" properties: languageId: type: array @@ -22029,7 +22240,7 @@ components: x-doc-sections: - file-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -22044,7 +22255,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -22070,7 +22281,7 @@ components: type: boolean default: false fallbackLanguages: - $ref: '#/components/schemas/EnterpriseFallbackLanguagesScheme' + $ref: '#/components/schemas/FallbackLanguagesScheme' labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -22082,8 +22293,46 @@ components: items: type: integer type: object - PreTranslationResource: - description: 'Pre Translation Resource' + CrowdinPreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/CrowdinPreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + EnterprisePreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/EnterprisePreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + CrowdinPreTranslationResource: + description: 'Pre-Translation Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/CrowdinPreTranslation' + EnterprisePreTranslationResource: + description: 'Pre-Translation Resource' type: object allOf: - @@ -22091,21 +22340,27 @@ components: - properties: data: - $ref: '#/components/schemas/PreTranslation' - PreTranslation: + $ref: '#/components/schemas/EnterprisePreTranslation' + CrowdinPreTranslation: properties: identifier: type: string example: 9e7de270-4f83-41cb-b606-2f90631f26e2 status: type: string + enum: + - created + - in_progress + - canceled + - failed + - finished example: created progress: description: 'in percentages' type: integer example: 90 attributes: - $ref: '#/components/schemas/PreTranslateAttributes' + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' createdAt: type: string format: date-time @@ -22121,7 +22376,16 @@ components: type: string format: date-time type: object - PreTranslateAttributes: + EnterprisePreTranslation: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslation' + - + properties: + attributes: + $ref: '#/components/schemas/EnterprisePreTranslateAttributes' + type: object + CrowdinPreTranslateAttributes: properties: languageIds: type: array @@ -22153,16 +22417,17 @@ components: translateWithPerfectMatchOnly: type: boolean example: true - fallbackLanguages: + type: object + EnterprisePreTranslateAttributes: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' + - properties: - '{languageId}': - type: array - items: - type: string - example: uk + minimumMatchRatio: + type: integer + example: 90 type: object - nullable: true - type: object FileProgressCollectionResource: description: 'Language Translation File Progress Collection Resource' type: object @@ -22399,6 +22664,7 @@ components: - /visibility - /languageAccessPolicy - /glossaryAccess + - /glossaryAccessOption - /description - /translateDuplicates - /isMtAllowed @@ -22440,6 +22706,7 @@ components: - /mtPreTranslate - /aiPreTranslate - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /savingsReportSettingsTemplateId x-doc-sections: - file-based @@ -22898,6 +23165,16 @@ components: 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 normalizePlaceholder: description: 'Enable the transformation of the placeholders to the unified format to improve the work with TM suggestions' type: boolean @@ -22966,9 +23243,13 @@ components: $ref: '#/components/schemas/PromptAiPreTranslateProjectSettings' type: object assistActionAiPromptId: - description: 'AI Prompt ID to be used as prompt for Assist action' + description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' type: integer example: 12 + editorSuggestionAiPromptId: + description: 'AI Prompt ID to be used as prompt for AI Suggestion action in Editor' + type: integer + example: 13 savingsReportSettingsTemplateId: description: 'Report Settings Templates Identifier. Get via [List Report Settings Templates](#operation/api.projects.reports.settings-templates.getMany)' type: integer @@ -24310,6 +24591,15 @@ components: type: boolean default: false example: false + deprecated: true + glossaryAccessOption: + type: string + default: readOnly + enum: + - readOnly + - fullAccess + - manageDrafts + example: readOnly isMtAllowed: type: boolean example: false @@ -24421,6 +24711,10 @@ components: type: integer example: 1 nullable: true + editorSuggestionAiPromptId: + type: integer + example: 2 + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -25365,9 +25659,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 2 type: object SystemStringsExporterSettings: title: 'String Exporter Settings' @@ -25733,6 +26027,11 @@ components: type: array items: $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -25777,6 +26076,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template-form.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -26477,6 +26795,11 @@ components: type: array items: $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -26521,6 +26844,25 @@ components: format: float example: 0.1 type: object + translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -27104,6 +27446,11 @@ components: type: array items: $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n__Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -27148,6 +27495,25 @@ components: format: float example: 0.1 type: object + group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object group-translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -27399,6 +27765,7 @@ components: required: - tmMatch - mtMatch + - aiMatch - suggestionMatch properties: tmMatch: @@ -27410,6 +27777,11 @@ components: items: $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.mt-match.net-rate' nullable: true + aiMatch: + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate' + nullable: true suggestionMatch: type: array items: @@ -27455,6 +27827,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -27827,6 +28218,10 @@ components: name: description: 'Screenshot name' type: string + usePreviousTags: + description: 'Use previous tags' + type: boolean + default: true type: object TagCollectionReplaceForm: title: 'Replace Tags' @@ -31839,6 +32234,7 @@ components: - admitted - 'not recommended' - obsolete + - draft example: preferred type: description: 'Term type' @@ -32535,17 +32931,17 @@ components: example: false deprecated: true skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false skipUntranslatedFiles: - description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false @@ -32559,17 +32955,17 @@ components: type: string example: uk skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false skipUntranslatedFiles: - description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false @@ -32592,15 +32988,15 @@ components: type: string example: uk skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false skipUntranslatedFiles: - description: "Defines whether to export only translated files\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated files\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false type: object @@ -32641,17 +33037,17 @@ components: type: integer example: 1 skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ Can't be used with `skipUntranslatedFiles` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ Can't be used with `skipUntranslatedFiles` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false skipUntranslatedFiles: - description: "Defines whether to export only translated file\n\n__Note:__ Can't be used with `skipUntranslatedStrings` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated file\n\n__Note:__ Can't be used with `skipUntranslatedStrings` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false diff --git a/src/assets/api/crowdin/string-based.yml b/src/assets/api/crowdin/string-based.yml index 3a2e24d8..84bbdb52 100644 --- a/src/assets/api/crowdin/string-based.yml +++ b/src/assets/api/crowdin/string-based.yml @@ -593,6 +593,12 @@ paths: application/json: schema: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ConflictExceptionResource' '/users/{userId}/ai/prompts/{aiPromptId}/completions/{completionId}': get: tags: @@ -5494,24 +5500,26 @@ paths: application/json: schema: $ref: '#/components/schemas/InternalServerErrorExceptionResource' - '/projects/{projectId}/pre-translations/{preTranslationId}': + '/projects/{projectId}/pre-translations': get: tags: - Translations - summary: 'Pre-Translation Status' - operationId: api.projects.pre-translations.get + summary: 'List Pre-Translations' + operationId: api.projects.pre-translations.getMany parameters: - $ref: '#/components/parameters/ProjectId' - - $ref: '#/components/parameters/PreTranslationId' + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' responses: '200': - description: 'Pre-translation status' + description: 'Pre-translation list' content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/CrowdinPreTranslationCollectionResource' '400': description: 'Invalid Request Parameters' content: @@ -5531,7 +5539,7 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project or pre-translation with specified id was not found' + description: 'Project with specified id was not found' content: application/json: schema: @@ -5548,7 +5556,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableExceptionResource' - '/projects/{projectId}/pre-translations': post: tags: - Translations @@ -5568,7 +5575,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/CrowdinPreTranslationResource' '400': description: 'Invalid Request Parameters' content: @@ -5594,7 +5601,120 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project, language, file, MT engine or AI prompt with specified id was not found' + description: 'Project 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' + '422': + description: 'Unprocessable Entity' + content: + application/json: + schema: + $ref: '#/components/schemas/UnprocessableEntityExceptionResource' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + '/projects/{projectId}/pre-translations/{preTranslationId}': + get: + tags: + - Translations + summary: 'Pre-Translation Status' + operationId: api.projects.pre-translations.get + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + responses: + '200': + description: 'Pre-translation status' + content: + application/json: + schema: + $ref: '#/components/schemas/CrowdinPreTranslationResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'Project or pre-translation 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' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + patch: + tags: + - Translations + summary: 'Edit Pre-Translation' + operationId: api.projects.pre-translations.patch + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/PreTranslationPatch' + responses: + '200': + description: 'Pre-translation was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/CrowdinPreTranslationResource' + '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: 'Project or pre-translation with specified id was not found' content: application/json: schema: @@ -5887,7 +6007,7 @@ paths: $ref: '#/components/parameters/ProjectId' responses: '200': - description: "Project data\n* Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n* Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" + description: "Project data\n * Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n * Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" content: application/json: schema: @@ -7383,6 +7503,12 @@ paths: parameters: - $ref: '#/components/parameters/ProjectId' + - + name: search + in: query + description: 'Search screenshots by name, tagged strings or file names that include screenshots.' + schema: + type: string - name: orderBy in: query @@ -12978,11 +13104,14 @@ paths: components: schemas: AiFineTuningDatasetGenerateForm: - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -13036,11 +13165,14 @@ components: type: object trainingOptions: description: 'Options for generating the training dataset.' - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -13068,7 +13200,12 @@ components: description: 'Options for generating the validation dataset.' properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -13169,6 +13306,12 @@ components: type: array items: type: integer + nullable: true + tmIds: + type: array + items: + type: integer + nullable: true purpose: type: string default: training @@ -13290,6 +13433,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -13315,6 +13463,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -13646,6 +13799,8 @@ components: type: boolean publicProjectDescription: type: boolean + siblingsStrings: + type: boolean type: object ai.prompt.config.basic_mode.assist: title: 'Basic mode (assist action)' @@ -14360,8 +14515,8 @@ components: format: json-pointer enum: - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /shortcuts - - /showSuggestion type: object discriminator: propertyName: op @@ -14412,9 +14567,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 5 shortcuts: type: array items: @@ -20859,9 +21014,65 @@ components: format: date-time example: '2019-09-23T09:19:07+00:00' type: object - EnterpriseFallbackLanguagesScheme: + PreTranslationPatch: + type: array + items: + $ref: '#/components/schemas/PreTranslationOperation' + PreTranslationOperation: + 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: + - /status + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/PreTranslationOperationReplace' + test: '#/components/schemas/PreTranslationOperationTest' + PreTranslationOperationReplace: + 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/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + PreTranslationOperationTest: + description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)' + required: + - value + type: object + allOf: + - + $ref: '#/components/schemas/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + FallbackLanguagesScheme: title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" properties: languageId: type: array @@ -20881,14 +21092,14 @@ components: type: string example: uk branchIds: - description: 'Banches array that should be translated' + description: 'Branches array that should be translated' type: array items: type: integer x-doc-sections: - string-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -20903,7 +21114,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -20929,7 +21140,7 @@ components: type: boolean default: false fallbackLanguages: - $ref: '#/components/schemas/EnterpriseFallbackLanguagesScheme' + $ref: '#/components/schemas/FallbackLanguagesScheme' labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -20941,8 +21152,46 @@ components: items: type: integer type: object - PreTranslationResource: - description: 'Pre Translation Resource' + CrowdinPreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/CrowdinPreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + EnterprisePreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/EnterprisePreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + CrowdinPreTranslationResource: + description: 'Pre-Translation Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/CrowdinPreTranslation' + EnterprisePreTranslationResource: + description: 'Pre-Translation Resource' type: object allOf: - @@ -20950,21 +21199,27 @@ components: - properties: data: - $ref: '#/components/schemas/PreTranslation' - PreTranslation: + $ref: '#/components/schemas/EnterprisePreTranslation' + CrowdinPreTranslation: properties: identifier: type: string example: 9e7de270-4f83-41cb-b606-2f90631f26e2 status: type: string + enum: + - created + - in_progress + - canceled + - failed + - finished example: created progress: description: 'in percentages' type: integer example: 90 attributes: - $ref: '#/components/schemas/PreTranslateAttributes' + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' createdAt: type: string format: date-time @@ -20980,7 +21235,16 @@ components: type: string format: date-time type: object - PreTranslateAttributes: + EnterprisePreTranslation: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslation' + - + properties: + attributes: + $ref: '#/components/schemas/EnterprisePreTranslateAttributes' + type: object + CrowdinPreTranslateAttributes: properties: languageIds: type: array @@ -21011,16 +21275,17 @@ components: translateWithPerfectMatchOnly: type: boolean example: true - fallbackLanguages: + type: object + EnterprisePreTranslateAttributes: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' + - properties: - '{languageId}': - type: array - items: - type: string - example: uk + minimumMatchRatio: + type: integer + example: 90 type: object - nullable: true - type: object FileProgressCollectionResource: description: 'Language Translation File Progress Collection Resource' type: object @@ -21257,6 +21522,7 @@ components: - /visibility - /languageAccessPolicy - /glossaryAccess + - /glossaryAccessOption - /description - /translateDuplicates - /isMtAllowed @@ -21292,6 +21558,7 @@ components: - /mtPreTranslate - /aiPreTranslate - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /savingsReportSettingsTemplateId x-doc-sections: - string-based @@ -21719,6 +21986,16 @@ components: 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 normalizePlaceholder: description: 'Enable the transformation of the placeholders to the unified format to improve the work with TM suggestions' type: boolean @@ -21787,9 +22064,13 @@ components: $ref: '#/components/schemas/PromptAiPreTranslateProjectSettings' type: object assistActionAiPromptId: - description: 'AI Prompt ID to be used as prompt for Assist action' + description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' type: integer example: 12 + editorSuggestionAiPromptId: + description: 'AI Prompt ID to be used as prompt for AI Suggestion action in Editor' + type: integer + example: 13 savingsReportSettingsTemplateId: description: 'Report Settings Templates Identifier. Get via [List Report Settings Templates](#operation/api.projects.reports.settings-templates.getMany)' type: integer @@ -23043,6 +23324,15 @@ components: type: boolean default: false example: false + deprecated: true + glossaryAccessOption: + type: string + default: readOnly + enum: + - readOnly + - fullAccess + - manageDrafts + example: readOnly isMtAllowed: type: boolean example: false @@ -23154,6 +23444,10 @@ components: type: integer example: 1 nullable: true + editorSuggestionAiPromptId: + type: integer + example: 2 + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -24012,9 +24306,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 2 type: object SystemStringsExporterSettings: title: 'String Exporter Settings' @@ -24380,6 +24674,11 @@ components: type: array items: $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -24424,6 +24723,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template-form.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -25092,6 +25410,11 @@ components: type: array items: $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -25136,6 +25459,25 @@ components: format: float example: 0.1 type: object + translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -25703,6 +26045,11 @@ components: type: array items: $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n__Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -25747,6 +26094,25 @@ components: format: float example: 0.1 type: object + group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object group-translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -25998,6 +26364,7 @@ components: required: - tmMatch - mtMatch + - aiMatch - suggestionMatch properties: tmMatch: @@ -26009,6 +26376,11 @@ components: items: $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.mt-match.net-rate' nullable: true + aiMatch: + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate' + nullable: true suggestionMatch: type: array items: @@ -26054,6 +26426,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -26414,6 +26805,10 @@ components: name: description: 'Screenshot name' type: string + usePreviousTags: + description: 'Use previous tags' + type: boolean + default: true type: object TagCollectionReplaceForm: title: 'Replace Tags' @@ -30397,6 +30792,7 @@ components: - admitted - 'not recommended' - obsolete + - draft example: preferred type: description: 'Term type' @@ -31093,17 +31489,17 @@ components: example: false deprecated: true skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false skipUntranslatedFiles: - description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false @@ -31117,17 +31513,17 @@ components: type: string example: uk skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false skipUntranslatedFiles: - description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated file\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false @@ -31150,15 +31546,15 @@ components: type: string example: uk skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n__Note:__ `true` value can't be used with `skipUntranslatedFiles=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false skipUntranslatedFiles: - description: "Defines whether to export only translated files\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated files\n\n__Note:__ `true` value can't be used with `skipUntranslatedStrings=true` in same request\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean example: false type: object @@ -31188,12 +31584,12 @@ components: type: integer example: 1 skipUntranslatedStrings: - description: "Defines whether to export only translated strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only translated strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false exportApprovedOnly: - description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/advanced-project-setup/#export)" + description: "Defines whether to export only approved strings\n\n [More info](https://support.crowdin.com/project-settings/export/)" type: boolean default: false example: false diff --git a/src/assets/api/enterprise/file-based.yml b/src/assets/api/enterprise/file-based.yml index f99988e0..f881ccc1 100644 --- a/src/assets/api/enterprise/file-based.yml +++ b/src/assets/api/enterprise/file-based.yml @@ -561,6 +561,12 @@ paths: application/json: schema: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ConflictExceptionResource' '/ai/prompts/{aiPromptId}/completions/{completionId}': get: tags: @@ -6747,28 +6753,26 @@ paths: application/json: schema: $ref: '#/components/schemas/InternalServerErrorExceptionResource' - '/projects/{projectId}/pre-translations/{preTranslationId}': + '/projects/{projectId}/pre-translations': get: tags: - Translations - summary: 'Pre-Translation Status' - operationId: api.projects.pre-translations.get + summary: 'List Pre-Translations' + operationId: api.projects.pre-translations.getMany parameters: - $ref: '#/components/parameters/ProjectId' - - $ref: '#/components/parameters/PreTranslationId' + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' responses: '200': - description: 'Pre-translation status' + description: 'Pre-translation list' content: application/json: schema: - description: 'Pre Translation Resource' - type: object - allOf: - - { $ref: '#/components/schemas/Resource' } - - { properties: { data: { type: object, allOf: [{ $ref: '#/components/schemas/PreTranslation' }, { properties: { attributes: { type: object, allOf: [{ $ref: '#/components/schemas/PreTranslateAttributes' }] } } }] } } } + $ref: '#/components/schemas/EnterprisePreTranslationCollectionResource' '400': description: 'Invalid Request Parameters' content: @@ -6788,7 +6792,7 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project or pre-translation with specified id was not found' + description: 'Project with specified id was not found' content: application/json: schema: @@ -6805,7 +6809,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableExceptionResource' - '/projects/{projectId}/pre-translations': post: tags: - Translations @@ -6825,7 +6828,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/EnterprisePreTranslationResource' '400': description: 'Invalid Request Parameters' content: @@ -6851,7 +6854,120 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project, language, file, MT engine or AI prompt with specified id was not found' + description: 'Project 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' + '422': + description: 'Unprocessable Entity' + content: + application/json: + schema: + $ref: '#/components/schemas/UnprocessableEntityExceptionResource' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + '/projects/{projectId}/pre-translations/{preTranslationId}': + get: + tags: + - Translations + summary: 'Pre-Translation Status' + operationId: api.projects.pre-translations.get + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + responses: + '200': + description: 'Pre-translation status' + content: + application/json: + schema: + $ref: '#/components/schemas/EnterprisePreTranslationResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'Project or pre-translation 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' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + patch: + tags: + - Translations + summary: 'Edit Pre-Translation' + operationId: api.projects.pre-translations.patch + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/PreTranslationPatch' + responses: + '200': + description: 'Pre-translation was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/EnterprisePreTranslationResource' + '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: 'Project or pre-translation with specified id was not found' content: application/json: schema: @@ -7240,7 +7356,7 @@ paths: $ref: '#/components/parameters/ProjectId' responses: '200': - description: "Project data\n* Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n* Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" + description: "Project data\n * Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n * Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" content: application/json: schema: @@ -9098,6 +9214,12 @@ paths: parameters: - $ref: '#/components/parameters/ProjectId' + - + name: search + in: query + description: 'Search screenshots by name, tagged strings or file names that include screenshots.' + schema: + type: string - name: orderBy in: query @@ -11623,7 +11745,7 @@ paths: tags: - 'String Translations' summary: 'List String Translations' - description: '__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/enterprise/content-delivery/).' + description: '__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/).' operationId: api.projects.translations.getMany parameters: - @@ -16567,11 +16689,14 @@ paths: components: schemas: AiFineTuningDatasetGenerateForm: - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -16625,11 +16750,14 @@ components: type: object trainingOptions: description: 'Options for generating the training dataset.' - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -16657,7 +16785,12 @@ components: description: 'Options for generating the validation dataset.' properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -16758,6 +16891,12 @@ components: type: array items: type: integer + nullable: true + tmIds: + type: array + items: + type: integer + nullable: true purpose: type: string default: training @@ -16879,6 +17018,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -16904,6 +17048,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -17235,6 +17384,8 @@ components: type: boolean publicProjectDescription: type: boolean + siblingsStrings: + type: boolean type: object ai.prompt.config.basic_mode.assist: title: 'Basic mode (assist action)' @@ -17949,7 +18100,7 @@ components: format: json-pointer enum: - /assistActionAiPromptId - - /showSuggestion + - /editorSuggestionAiPromptId - /shortcuts type: object discriminator: @@ -18001,9 +18152,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 5 shortcuts: type: array items: @@ -24799,16 +24950,62 @@ components: format: date-time example: '2019-09-23T09:19:07+00:00' type: object - FallbackLanguagesScheme: - title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n *\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + PreTranslationPatch: + type: array + items: + $ref: '#/components/schemas/PreTranslationOperation' + PreTranslationOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path properties: - languageId: - type: array - items: - type: string - example: uk + 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: + - /status + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/PreTranslationOperationReplace' + test: '#/components/schemas/PreTranslationOperationTest' + PreTranslationOperationReplace: + 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/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + PreTranslationOperationTest: + description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)' + required: + - value type: object + allOf: + - + $ref: '#/components/schemas/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string EnterprisePreTranslationForm: required: - languageIds @@ -24828,7 +25025,7 @@ components: x-doc-sections: - file-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -24843,7 +25040,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -24855,7 +25052,7 @@ components: duplicateTranslations: description: "Adds translations even if the same translation already exists. Default is `false`\n\n__Note:__ Works only with TM pre-translation method" type: boolean - default: 'false' + default: false skipApprovedTranslations: description: "Skip approved translations. Default is `false`\n\n__Note:__ Works only with TM pre-translation method" type: boolean @@ -24864,6 +25061,12 @@ components: description: 'Applies pre-translation for untranslated strings only. Default is `true`' type: boolean default: true + minimumMatchRatio: + description: "Add translation when TM match is greater or equal to minimum match ratio. This argument will be ignored if `translateWithPerfectMatchOnly` is set.\n\n__Note:__ Works only with TM pre-translation method" + type: integer + default: 100 + maximum: 100 + minimum: 40 translateWithPerfectMatchOnly: description: "Applies pre-translation only for the strings with perfect match (source text and contextual information are identical)\n\n__Note:__ Works only with TM pre-translation method" type: boolean @@ -24881,9 +25084,9 @@ components: items: type: integer type: object - EnterpriseFallbackLanguagesScheme: + FallbackLanguagesScheme: title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" properties: languageId: type: array @@ -24910,7 +25113,7 @@ components: x-doc-sections: - file-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -24925,7 +25128,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -24951,7 +25154,7 @@ components: type: boolean default: false fallbackLanguages: - $ref: '#/components/schemas/EnterpriseFallbackLanguagesScheme' + $ref: '#/components/schemas/FallbackLanguagesScheme' labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -24963,8 +25166,36 @@ components: items: type: integer type: object - PreTranslationResource: - description: 'Pre Translation Resource' + CrowdinPreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/CrowdinPreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + EnterprisePreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/EnterprisePreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + CrowdinPreTranslationResource: + description: 'Pre-Translation Resource' type: object allOf: - @@ -24972,21 +25203,37 @@ components: - properties: data: - $ref: '#/components/schemas/PreTranslation' - PreTranslation: + $ref: '#/components/schemas/CrowdinPreTranslation' + EnterprisePreTranslationResource: + description: 'Pre-Translation Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/EnterprisePreTranslation' + CrowdinPreTranslation: properties: identifier: type: string example: 9e7de270-4f83-41cb-b606-2f90631f26e2 status: type: string + enum: + - created + - in_progress + - canceled + - failed + - finished example: created progress: description: 'in percentages' type: integer example: 90 attributes: - $ref: '#/components/schemas/PreTranslateAttributes' + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' createdAt: type: string format: date-time @@ -25002,7 +25249,16 @@ components: type: string format: date-time type: object - PreTranslateAttributes: + EnterprisePreTranslation: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslation' + - + properties: + attributes: + $ref: '#/components/schemas/EnterprisePreTranslateAttributes' + type: object + CrowdinPreTranslateAttributes: properties: languageIds: type: array @@ -25034,16 +25290,17 @@ components: translateWithPerfectMatchOnly: type: boolean example: true - fallbackLanguages: + type: object + EnterprisePreTranslateAttributes: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' + - properties: - '{languageId}': - type: array - items: - type: string - example: uk + minimumMatchRatio: + type: integer + example: 90 type: object - nullable: true - type: object FileProgressCollectionResource: description: 'Language Translation File Progress Collection Resource' type: object @@ -25290,6 +25547,7 @@ components: - /autoTranslateDialects - showTmSuggestionsDialects - /glossaryAccess + - /glossaryAccessOption - /publicDownloads - /hiddenStringsProofreadersAccess - /normalizePlaceholder @@ -25321,6 +25579,7 @@ components: - '/fields/{fieldSlug}' - /tm - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /savingsReportSettingsTemplateId x-doc-sections: - file-based @@ -25818,6 +26077,16 @@ components: 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: @@ -25932,7 +26201,11 @@ components: type: integer example: 12 assistActionAiPromptId: - description: 'AI Prompt ID to be used as prompt for Assist action' + description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' + type: integer + example: 12 + editorSuggestionAiPromptId: + description: 'AI Prompt ID to be used as prompt for AI Suggestion action in Editor' type: integer example: 12 defaultTmId: @@ -27299,6 +27572,15 @@ components: type: boolean default: false example: false + deprecated: true + glossaryAccessOption: + type: string + default: readOnly + enum: + - readOnly + - fullAccess + - manageDrafts + example: readOnly isMtAllowed: type: boolean example: false @@ -27421,6 +27703,10 @@ components: type: integer example: 2 nullable: true + editorSuggestionAiPromptId: + type: integer + example: 3 + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -28294,9 +28580,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 2 type: object SystemStringsExporterSettings: title: 'String Exporter Settings' @@ -29253,6 +29539,11 @@ components: type: array items: $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -29297,6 +29588,25 @@ components: format: float example: 0.1 type: object + translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -29739,6 +30049,11 @@ components: type: array items: $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -29783,6 +30098,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template-form.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -30039,6 +30373,11 @@ components: type: array items: $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n__Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -30083,6 +30422,25 @@ components: format: float example: 0.1 type: object + group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object group-translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -30336,6 +30694,7 @@ components: required: - tmMatch - mtMatch + - aiMatch - suggestionMatch properties: tmMatch: @@ -30347,6 +30706,11 @@ components: items: $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.mt-match.net-rate' nullable: true + aiMatch: + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate' + nullable: true suggestionMatch: type: array items: @@ -30392,6 +30756,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -30764,6 +31147,10 @@ components: name: description: 'Screenshot name' type: string + usePreviousTags: + description: 'Use previous tags' + type: boolean + default: true type: object TagCollectionReplaceForm: title: 'Replace Tags' @@ -34781,6 +35168,7 @@ components: - admitted - 'not recommended' - obsolete + - draft example: preferred type: description: 'Term type' diff --git a/src/assets/api/enterprise/string-based.yml b/src/assets/api/enterprise/string-based.yml index dccfa0e3..88f38134 100644 --- a/src/assets/api/enterprise/string-based.yml +++ b/src/assets/api/enterprise/string-based.yml @@ -561,6 +561,12 @@ paths: application/json: schema: $ref: '#/components/schemas/MethodNotAllowedExceptionResource' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/ConflictExceptionResource' '/ai/prompts/{aiPromptId}/completions/{completionId}': get: tags: @@ -6210,28 +6216,26 @@ paths: application/json: schema: $ref: '#/components/schemas/InternalServerErrorExceptionResource' - '/projects/{projectId}/pre-translations/{preTranslationId}': + '/projects/{projectId}/pre-translations': get: tags: - Translations - summary: 'Pre-Translation Status' - operationId: api.projects.pre-translations.get + summary: 'List Pre-Translations' + operationId: api.projects.pre-translations.getMany parameters: - $ref: '#/components/parameters/ProjectId' - - $ref: '#/components/parameters/PreTranslationId' + $ref: '#/components/parameters/PaginationLimit' + - + $ref: '#/components/parameters/PaginationOffset' responses: '200': - description: 'Pre-translation status' + description: 'Pre-translation list' content: application/json: schema: - description: 'Pre Translation Resource' - type: object - allOf: - - { $ref: '#/components/schemas/Resource' } - - { properties: { data: { type: object, allOf: [{ $ref: '#/components/schemas/PreTranslation' }, { properties: { attributes: { type: object, allOf: [{ $ref: '#/components/schemas/PreTranslateAttributes' }] } } }] } } } + $ref: '#/components/schemas/EnterprisePreTranslationCollectionResource' '400': description: 'Invalid Request Parameters' content: @@ -6251,7 +6255,7 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project or pre-translation with specified id was not found' + description: 'Project with specified id was not found' content: application/json: schema: @@ -6268,7 +6272,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceUnavailableExceptionResource' - '/projects/{projectId}/pre-translations': post: tags: - Translations @@ -6288,7 +6291,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PreTranslationResource' + $ref: '#/components/schemas/EnterprisePreTranslationResource' '400': description: 'Invalid Request Parameters' content: @@ -6314,7 +6317,120 @@ paths: schema: $ref: '#/components/schemas/ForbiddenExceptionResource' '404': - description: 'Project, language, file, MT engine or AI prompt with specified id was not found' + description: 'Project 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' + '422': + description: 'Unprocessable Entity' + content: + application/json: + schema: + $ref: '#/components/schemas/UnprocessableEntityExceptionResource' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + '/projects/{projectId}/pre-translations/{preTranslationId}': + get: + tags: + - Translations + summary: 'Pre-Translation Status' + operationId: api.projects.pre-translations.get + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + responses: + '200': + description: 'Pre-translation status' + content: + application/json: + schema: + $ref: '#/components/schemas/EnterprisePreTranslationResource' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticateError' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ForbiddenExceptionResource' + '404': + description: 'Project or pre-translation 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' + '503': + description: 'Service Unavailable' + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceUnavailableExceptionResource' + patch: + tags: + - Translations + summary: 'Edit Pre-Translation' + operationId: api.projects.pre-translations.patch + parameters: + - + $ref: '#/components/parameters/ProjectId' + - + $ref: '#/components/parameters/PreTranslationId' + requestBody: + description: 'A JSON Patch document as defined by RFC 6902' + content: + application/json: + schema: + $ref: '#/components/schemas/PreTranslationPatch' + responses: + '200': + description: 'Pre-translation was successfully updated' + content: + application/json: + schema: + $ref: '#/components/schemas/EnterprisePreTranslationResource' + '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: 'Project or pre-translation with specified id was not found' content: application/json: schema: @@ -6607,7 +6723,7 @@ paths: $ref: '#/components/parameters/ProjectId' responses: '200': - description: "Project data\n* Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n* Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" + description: "Project data\n * Translators and proofreaders – receive the response `Project Info` (all the project data, that's visible to all the project members within the ui)\n * Project owners, organization admins, and managers – receive the response `Project Settings` (all the basic project info plus extended details, including project settings, resources, QA checks, and more)" content: application/json: schema: @@ -8363,6 +8479,12 @@ paths: parameters: - $ref: '#/components/parameters/ProjectId' + - + name: search + in: query + description: 'Search screenshots by name, tagged strings or file names that include screenshots.' + schema: + type: string - name: orderBy in: query @@ -10760,7 +10882,7 @@ paths: tags: - 'String Translations' summary: 'List String Translations' - description: '__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/enterprise/content-delivery/).' + description: '__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/).' operationId: api.projects.translations.getMany parameters: - @@ -15239,11 +15361,14 @@ paths: components: schemas: AiFineTuningDatasetGenerateForm: - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -15297,11 +15422,14 @@ components: type: object trainingOptions: description: 'Options for generating the training dataset.' - required: - - projectIds properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -15329,7 +15457,12 @@ components: description: 'Options for generating the validation dataset.' properties: projectIds: - description: 'Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany)' + description: "Project identifiers from which the dataset will be generated. Get via [List Projects](#operation/api.projects.getMany).\n\n__Note__: Required if `tmIds` are not specified." + type: array + items: + type: integer + tmIds: + description: "TM identifiers from which the dataset will be generated. Get via [List TMs](#operation/api.tms.getMany).\n\n__Note__: This parameter is not supported for the prompt with the external configuration." type: array items: type: integer @@ -15430,6 +15563,12 @@ components: type: array items: type: integer + nullable: true + tmIds: + type: array + items: + type: integer + nullable: true purpose: type: string default: training @@ -15551,6 +15690,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -15576,6 +15720,11 @@ components: projectIds: type: array items: { type: integer } + nullable: true + tmIds: + type: array + items: { type: integer } + nullable: true dateFrom: type: string format: date-time @@ -15907,6 +16056,8 @@ components: type: boolean publicProjectDescription: type: boolean + siblingsStrings: + type: boolean type: object ai.prompt.config.basic_mode.assist: title: 'Basic mode (assist action)' @@ -16621,7 +16772,7 @@ components: format: json-pointer enum: - /assistActionAiPromptId - - /showSuggestion + - /editorSuggestionAiPromptId - /shortcuts type: object discriminator: @@ -16673,9 +16824,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 5 shortcuts: type: array items: @@ -23436,16 +23587,62 @@ components: format: date-time example: '2019-09-23T09:19:07+00:00' type: object - FallbackLanguagesScheme: - title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n *\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + PreTranslationPatch: + type: array + items: + $ref: '#/components/schemas/PreTranslationOperation' + PreTranslationOperation: + description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)' + required: + - op + - path properties: - languageId: - type: array - items: - type: string - example: uk + 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: + - /status + type: object + discriminator: + propertyName: op + mapping: + replace: '#/components/schemas/PreTranslationOperationReplace' + test: '#/components/schemas/PreTranslationOperationTest' + PreTranslationOperationReplace: + 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/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string + PreTranslationOperationTest: + description: 'A JSON Patch `Test` operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4.6)' + required: + - value type: object + allOf: + - + $ref: '#/components/schemas/PreTranslationOperation' + - + properties: + value: + oneOf: + - + type: string EnterprisePreTranslationForm: required: - languageIds @@ -23458,14 +23655,14 @@ components: type: string example: uk branchIds: - description: 'Banches array that should be translated' + description: 'Branches array that should be translated' type: array items: type: integer x-doc-sections: - string-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -23480,7 +23677,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -23492,7 +23689,7 @@ components: duplicateTranslations: description: "Adds translations even if the same translation already exists. Default is `false`\n\n__Note:__ Works only with TM pre-translation method" type: boolean - default: 'false' + default: false skipApprovedTranslations: description: "Skip approved translations. Default is `false`\n\n__Note:__ Works only with TM pre-translation method" type: boolean @@ -23501,6 +23698,12 @@ components: description: 'Applies pre-translation for untranslated strings only. Default is `true`' type: boolean default: true + minimumMatchRatio: + description: "Add translation when TM match is greater or equal to minimum match ratio. This argument will be ignored if `translateWithPerfectMatchOnly` is set.\n\n__Note:__ Works only with TM pre-translation method" + type: integer + default: 100 + maximum: 100 + minimum: 40 translateWithPerfectMatchOnly: description: "Applies pre-translation only for the strings with perfect match (source text and contextual information are identical)\n\n__Note:__ Works only with TM pre-translation method" type: boolean @@ -23518,9 +23721,9 @@ components: items: type: integer type: object - EnterpriseFallbackLanguagesScheme: + FallbackLanguagesScheme: title: 'Fallback Languages' - description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n * `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n * `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" + description: "Defines fallback languages mapping. The passed value should be an associative array containing both language id and array of fallback language ids:\n\n - `{languageId}` – Crowdin id for the specified language. Get via [List Supported Languages](#operation/api.languages.getMany)\n - `Array of strings` – an array containing fallback language ids. Get via [List Supported Languages](#operation/api.languages.getMany)\n\n__Note:__ Available only for TM Pre-Translation" properties: languageId: type: array @@ -23540,14 +23743,14 @@ components: type: string example: uk branchIds: - description: 'Banches array that should be translated' + description: 'Branches array that should be translated' type: array items: type: integer x-doc-sections: - string-based method: - description: "Defines pre-translation method. Available values:\n * 'tm' – pre-translation via Translation Memory\n * 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n * 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" + description: "Defines pre-translation method. Available values:\n- 'tm' – pre-translation via Translation Memory\n- 'mt' – pre-translation via Machine Translation. 'mt' should be used with `engineId` parameter\n- 'ai' – pre-translation via AI. 'ai' should be used with `aiPromptId` parameter" type: string default: tm enum: @@ -23562,7 +23765,7 @@ components: description: 'AI Prompt Identifier. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)' type: integer autoApproveOption: - description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n * 'all' – all\n * 'perfectMatchOnly' – with perfect TM match\n * 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n * 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n * 'none' – no auto-approve" + description: "Defines which translations added by TM pre-translation should be auto-approved. Available values:\n- 'all' – all\n- 'perfectMatchOnly' – with perfect TM match\n- 'exceptAutoSubstituted' – all (skip auto-substituted suggestions)\n- 'perfectMatchApprovedOnly' - with perfect TM match (approved previously)\n- 'none' – no auto-approve" type: string default: none enum: @@ -23588,7 +23791,7 @@ components: type: boolean default: false fallbackLanguages: - $ref: '#/components/schemas/EnterpriseFallbackLanguagesScheme' + $ref: '#/components/schemas/FallbackLanguagesScheme' labelIds: description: 'Label Identifiers. Get via [List Labels](#operation/api.projects.labels.getMany)' type: array @@ -23600,8 +23803,36 @@ components: items: type: integer type: object - PreTranslationResource: - description: 'Pre Translation Resource' + CrowdinPreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/CrowdinPreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + EnterprisePreTranslationCollectionResource: + description: 'Pre-Translation Collection Resource' + type: object + allOf: + - + $ref: '#/components/schemas/CollectionResource' + - + properties: + data: + type: array + items: + $ref: '#/components/schemas/EnterprisePreTranslation' + pagination: + $ref: '#/components/schemas/Pagination' + CrowdinPreTranslationResource: + description: 'Pre-Translation Resource' type: object allOf: - @@ -23609,21 +23840,37 @@ components: - properties: data: - $ref: '#/components/schemas/PreTranslation' - PreTranslation: + $ref: '#/components/schemas/CrowdinPreTranslation' + EnterprisePreTranslationResource: + description: 'Pre-Translation Resource' + type: object + allOf: + - + $ref: '#/components/schemas/Resource' + - + properties: + data: + $ref: '#/components/schemas/EnterprisePreTranslation' + CrowdinPreTranslation: properties: identifier: type: string example: 9e7de270-4f83-41cb-b606-2f90631f26e2 status: type: string + enum: + - created + - in_progress + - canceled + - failed + - finished example: created progress: description: 'in percentages' type: integer example: 90 attributes: - $ref: '#/components/schemas/PreTranslateAttributes' + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' createdAt: type: string format: date-time @@ -23639,7 +23886,16 @@ components: type: string format: date-time type: object - PreTranslateAttributes: + EnterprisePreTranslation: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslation' + - + properties: + attributes: + $ref: '#/components/schemas/EnterprisePreTranslateAttributes' + type: object + CrowdinPreTranslateAttributes: properties: languageIds: type: array @@ -23670,16 +23926,17 @@ components: translateWithPerfectMatchOnly: type: boolean example: true - fallbackLanguages: + type: object + EnterprisePreTranslateAttributes: + allOf: + - + $ref: '#/components/schemas/CrowdinPreTranslateAttributes' + - properties: - '{languageId}': - type: array - items: - type: string - example: uk + minimumMatchRatio: + type: integer + example: 90 type: object - nullable: true - type: object FileProgressCollectionResource: description: 'Language Translation File Progress Collection Resource' type: object @@ -23924,6 +24181,7 @@ components: - /autoTranslateDialects - showTmSuggestionsDialects - /glossaryAccess + - /glossaryAccessOption - /publicDownloads - /hiddenStringsProofreadersAccess - /normalizePlaceholder @@ -23950,6 +24208,7 @@ components: - '/fields/{fieldSlug}' - /tm - /assistActionAiPromptId + - /editorSuggestionAiPromptId - /savingsReportSettingsTemplateId x-doc-sections: - string-based @@ -24416,6 +24675,16 @@ components: 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: @@ -24530,7 +24799,11 @@ components: type: integer example: 12 assistActionAiPromptId: - description: 'AI Prompt ID to be used as prompt for Assist action' + description: 'AI Prompt ID to be used as prompt for AI Assist action in Editor' + type: integer + example: 12 + editorSuggestionAiPromptId: + description: 'AI Prompt ID to be used as prompt for AI Suggestion action in Editor' type: integer example: 12 defaultTmId: @@ -25809,6 +26082,15 @@ components: type: boolean default: false example: false + deprecated: true + glossaryAccessOption: + type: string + default: readOnly + enum: + - readOnly + - fullAccess + - manageDrafts + example: readOnly isMtAllowed: type: boolean example: false @@ -25931,6 +26213,10 @@ components: type: integer example: 2 nullable: true + editorSuggestionAiPromptId: + type: integer + example: 3 + nullable: true language-mapping-uk: title: "Language Mapping 'uk'" properties: @@ -26718,9 +27004,9 @@ components: assistActionAiPromptId: type: integer example: 2 - showSuggestion: - type: boolean - example: true + editorSuggestionAiPromptId: + type: integer + example: 2 type: object SystemStringsExporterSettings: title: 'String Exporter Settings' @@ -27645,6 +27931,11 @@ components: type: array items: $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -27689,6 +27980,25 @@ components: format: float example: 0.1 type: object + translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -28114,6 +28424,11 @@ components: type: array items: $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -28158,6 +28473,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template-form.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template-form.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -28414,6 +28748,11 @@ components: type: array items: $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.mt-match.net-rate' + aiMatch: + description: "\n\n__Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field." + type: array + items: + $ref: '#/components/schemas/group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate' suggestionMatch: type: array items: @@ -28458,6 +28797,25 @@ components: format: float example: 0.1 type: object + group-translation-costs-pe.report.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object group-translation-costs-pe.report.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -28711,6 +29069,7 @@ components: required: - tmMatch - mtMatch + - aiMatch - suggestionMatch properties: tmMatch: @@ -28722,6 +29081,11 @@ components: items: $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.mt-match.net-rate' nullable: true + aiMatch: + type: array + items: + $ref: '#/components/schemas/post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate' + nullable: true suggestionMatch: type: array items: @@ -28767,6 +29131,25 @@ components: format: float example: 0.1 type: object + post-edit-report-settings-template.net-rate-schemes.ai-match.net-rate: + required: + - matchType + - price + properties: + matchType: + description: 'Match type, %' + type: string + enum: + - '100' + - 99-82 + - 81-60 + example: '100' + price: + description: 'Price, %' + type: number + format: float + example: 0.1 + type: object post-edit-report-settings-template.net-rate-schemes.suggestion-match.net-rate: required: - matchType @@ -29127,6 +29510,10 @@ components: name: description: 'Screenshot name' type: string + usePreviousTags: + description: 'Use previous tags' + type: boolean + default: true type: object TagCollectionReplaceForm: title: 'Replace Tags' @@ -33114,6 +33501,7 @@ components: - admitted - 'not recommended' - obsolete + - draft example: preferred type: description: 'Term type'