From 149dc517920760746630c9a21ca2d2fae7b0301a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 8 Oct 2026 12:38:09 +0000 Subject: [PATCH 1/6] docs: regenerate AI docs 2026.10.R1.PublicAPIService.docs [skip ci] --- articles/LCPublicAPI/aidocs/index.md | 5 + .../aidocs/reference/AcceptTask.md | 119 + .../reference/AddPerfectMatchBatchMapping.md | 2188 +++++++++++++++ .../aidocs/reference/AddProjectsToGroup.md | 211 ++ .../aidocs/reference/AddSourceFile.md | 216 ++ .../aidocs/reference/AddSourceFileVersion.md | 188 ++ .../aidocs/reference/AddSourceFiles.md | 251 ++ .../aidocs/reference/AddTargetFileVersion.md | 178 ++ .../aidocs/reference/AssignTask.md | 142 + .../aidocs/reference/CancelProjectFile.md | 110 + .../aidocs/reference/CompleteProject.md | 114 + .../aidocs/reference/CompleteTask.md | 130 + .../reference/ConvertTermbaseTemplate.md | 168 ++ .../aidocs/reference/CopyTranslationMemory.md | 413 +++ .../aidocs/reference/CreateApplication.md | 303 +++ .../aidocs/reference/CreateCustomer.md | 353 +++ .../aidocs/reference/CreateGroup.md | 340 +++ .../reference/CreatePerfectMatchMapping.md | 2155 +++++++++++++++ .../aidocs/reference/CreatePricingModel.md | 384 +++ .../aidocs/reference/CreateProject.md | 2239 ++++++++++++++++ .../aidocs/reference/CreateProjectGroup.md | 176 ++ .../aidocs/reference/CreateProjectTemplate.md | 1648 ++++++++++++ .../aidocs/reference/CreateRole.md | 186 ++ .../reference/CreateScheduleTemplate.md | 237 ++ .../aidocs/reference/CreateTermbase.md | 291 ++ .../aidocs/reference/CreateTermbaseEntry.md | 494 ++++ .../reference/CreateTermbaseTemplate.md | 264 ++ .../reference/CreateTranslationMemory.md | 455 ++++ .../aidocs/reference/CreateUser.md | 339 +++ .../aidocs/reference/CreateVendor.md | 387 +++ .../reference/CreateVendorOrderTemplate.md | 625 +++++ .../aidocs/reference/DeleteApplication.md | 90 + .../aidocs/reference/DeleteCustomer.md | 106 + .../aidocs/reference/DeleteGroup.md | 99 + .../DeletePerfectMatchFileMappingForFile.md | 104 + .../aidocs/reference/DeletePricingModel.md | 106 + .../aidocs/reference/DeleteProject.md | 98 + .../aidocs/reference/DeleteProjectGroup.md | 106 + .../aidocs/reference/DeleteProjectTemplate.md | 98 + .../aidocs/reference/DeleteRole.md | 109 + .../reference/DeleteScheduleTemplate.md | 98 + .../aidocs/reference/DeleteTermbase.md | 107 + .../aidocs/reference/DeleteTermbaseEntries.md | 91 + .../aidocs/reference/DeleteTermbaseEntry.md | 93 + .../reference/DeleteTermbaseTemplate.md | 107 + .../reference/DeleteTranslationMemory.md | 106 + .../aidocs/reference/DeleteUser.md | 89 + .../aidocs/reference/DeleteVendor.md | 106 + .../reference/DeleteVendorOrderTemplate.md | 108 + .../reference/DownloadExportedPackage.md | 113 + .../DownloadExportedTargetFileVersion.md | 118 + .../reference/DownloadExportedTermbase.md | 105 + .../DownloadExportedTranslationMemory.md | 111 + .../aidocs/reference/DownloadFile.md | 127 + .../aidocs/reference/DownloadFileVersion.md | 125 + .../aidocs/reference/DownloadQuoteReport.md | 119 + .../reference/DownloadSourceFileVersion.md | 116 + .../reference/DownloadTermbaseDefinition.md | 95 + .../reference/DownloadTermbaseImportLog.md | 111 + .../aidocs/reference/ExportPackage.md | 122 + .../aidocs/reference/ExportProjectFiles.md | 161 ++ .../reference/ExportProjectFilesStatus.md | 127 + .../aidocs/reference/ExportQuoteReport.md | 138 + .../reference/ExportTargetFileVersion.md | 146 + .../aidocs/reference/ExportTermbase.md | 139 + .../reference/ExportTranslationMemory.md | 170 ++ .../aidocs/reference/GetApplication.md | 295 +++ .../aidocs/reference/GetCustomField.md | 165 ++ .../aidocs/reference/GetCustomer.md | 316 +++ .../aidocs/reference/GetFieldTemplate.md | 183 ++ .../GetFileProcessingConfiguration.md | 155 ++ .../aidocs/reference/GetFileTypeSetting.md | 137 + .../LCPublicAPI/aidocs/reference/GetFolder.md | 143 + .../LCPublicAPI/aidocs/reference/GetGroup.md | 285 ++ .../aidocs/reference/GetImportHistory.md | 146 + .../reference/GetLanguageProcessingRule.md | 126 + .../LCPublicAPI/aidocs/reference/GetMyUser.md | 267 ++ .../reference/GetPerfectMatchCandidates.md | 2132 +++++++++++++++ .../reference/GetPerfectMatchMapping.md | 2115 +++++++++++++++ .../aidocs/reference/GetPricingModel.md | 301 +++ .../aidocs/reference/GetProject.md | 2103 +++++++++++++++ .../reference/GetProjectConfiguration.md | 179 ++ .../aidocs/reference/GetProjectGroup.md | 174 ++ .../aidocs/reference/GetProjectTemplate.md | 1524 +++++++++++ .../aidocs/reference/GetPublicKey.md | 102 + .../aidocs/reference/GetQuoteTemplate.md | 156 ++ .../LCPublicAPI/aidocs/reference/GetRole.md | 159 ++ .../aidocs/reference/GetRootFolder.md | 133 + .../aidocs/reference/GetScheduleTemplate.md | 202 ++ .../aidocs/reference/GetSourceFile.md | 176 ++ .../reference/GetSourceFileProperties.md | 115 + .../aidocs/reference/GetTMImportHistory.md | 166 ++ .../aidocs/reference/GetTargetFile.md | 273 ++ .../aidocs/reference/GetTargetFileVersion.md | 133 + .../LCPublicAPI/aidocs/reference/GetTask.md | 2327 ++++++++++++++++ .../aidocs/reference/GetTaskType.md | 212 ++ .../aidocs/reference/GetTermbase.md | 198 ++ .../aidocs/reference/GetTermbaseEntry.md | 402 +++ .../aidocs/reference/GetTermbaseTemplate.md | 196 ++ .../aidocs/reference/GetTqaProfile.md | 238 ++ .../aidocs/reference/GetTranslationEngine.md | 226 ++ .../aidocs/reference/GetTranslationMemory.md | 413 +++ .../LCPublicAPI/aidocs/reference/GetUser.md | 285 ++ .../LCPublicAPI/aidocs/reference/GetVendor.md | 339 +++ .../reference/GetVendorOrderTemplate.md | 553 ++++ .../aidocs/reference/GetWorkflow.md | 572 ++++ .../aidocs/reference/ImportPackage.md | 120 + .../reference/ImportTargetFileVersion.md | 152 ++ .../aidocs/reference/ImportTermbase.md | 172 ++ .../reference/ImportTranslationMemory.md | 167 ++ .../LCPublicAPI/aidocs/reference/Index.md | 421 +++ .../aidocs/reference/ListApplications.md | 304 +++ .../aidocs/reference/ListCustomFields.md | 186 ++ .../aidocs/reference/ListCustomers.md | 332 +++ .../aidocs/reference/ListFieldTemplates.md | 201 ++ .../ListFileProcessingConfigurations.md | 173 ++ .../aidocs/reference/ListFileTypeSettings.md | 132 + .../aidocs/reference/ListFolders.md | 161 ++ .../aidocs/reference/ListGroups.md | 303 +++ .../reference/ListLanguageProcessingRules.md | 143 + .../aidocs/reference/ListLanguages.md | 135 + .../aidocs/reference/ListLlmConfigurations.md | 124 + .../reference/ListMachineTranslations.md | 129 + .../aidocs/reference/ListMyAccounts.md | 99 + .../aidocs/reference/ListPermissions.md | 114 + .../aidocs/reference/ListPricingModels.md | 321 +++ .../aidocs/reference/ListProjectGroups.md | 189 ++ .../aidocs/reference/ListProjectTasks.md | 2339 ++++++++++++++++ .../aidocs/reference/ListProjectTemplates.md | 1543 +++++++++++ .../aidocs/reference/ListProjects.md | 2161 +++++++++++++++ .../aidocs/reference/ListPublicKeys.md | 109 + .../aidocs/reference/ListQuoteTemplates.md | 174 ++ .../aidocs/reference/ListRateLimits.md | 123 + .../LCPublicAPI/aidocs/reference/ListRoles.md | 151 ++ .../aidocs/reference/ListScheduleTemplates.md | 219 ++ .../reference/ListSourceFileVersions.md | 144 + .../aidocs/reference/ListSourceFiles.md | 204 ++ .../reference/ListTargetFileVersions.md | 144 + .../aidocs/reference/ListTargetFiles.md | 304 +++ .../aidocs/reference/ListTaskTypes.md | 236 ++ .../aidocs/reference/ListTasksAssignedToMe.md | 2348 +++++++++++++++++ .../aidocs/reference/ListTermbase.md | 236 ++ .../aidocs/reference/ListTermbaseEntries.md | 424 +++ .../reference/ListTermbaseEntryTemplates.md | 136 + .../aidocs/reference/ListTermbaseTemplates.md | 226 ++ .../aidocs/reference/ListTermbaseTerms.md | 158 ++ .../aidocs/reference/ListTqaProfiles.md | 256 ++ .../reference/ListTranslationEngines.md | 243 ++ .../reference/ListTranslationMemories.md | 431 +++ .../reference/ListTranslationServiceTypes.md | 97 + .../LCPublicAPI/aidocs/reference/ListUsers.md | 306 +++ .../reference/ListVendorOrderTemplates.md | 581 ++++ .../aidocs/reference/ListVendors.md | 349 +++ .../aidocs/reference/ListWorkflows.md | 590 +++++ .../aidocs/reference/PollExportPackage.md | 130 + .../aidocs/reference/PollExportTermbase.md | 115 + .../aidocs/reference/PollFileAnalysis.md | 155 ++ .../aidocs/reference/PollImportPackage.md | 119 + .../aidocs/reference/PollQuoteReportExport.md | 125 + .../aidocs/reference/PollTMImport.md | 116 + .../reference/PollTargetFileVersionExport.md | 132 + .../reference/PollTargetFileVersionImport.md | 122 + .../aidocs/reference/PollTermbaseImport.md | 113 + .../reference/PollTranslationMemoryExport.md | 119 + .../aidocs/reference/PollUploadZipFile.md | 130 + .../aidocs/reference/ReclaimTask.md | 116 + .../aidocs/reference/RejectTask.md | 117 + .../aidocs/reference/ReleaseTask.md | 117 + .../reference/RemoveProjectsFromGroup.md | 141 + .../aidocs/reference/RequestFileAnalysis.md | 159 ++ .../reference/RescheduleProjectTasks.md | 106 + .../aidocs/reference/StartProject.md | 118 + .../aidocs/reference/TranslationsAdd.md | 213 ++ .../TranslationsConcordanceSearch.md | 299 +++ .../aidocs/reference/TranslationsLookup.md | 325 +++ .../aidocs/reference/TranslationsUpdate.md | 212 ++ .../aidocs/reference/UpdateApplication.md | 114 + .../aidocs/reference/UpdateCustomField.md | 121 + .../aidocs/reference/UpdateCustomer.md | 152 ++ .../aidocs/reference/UpdateGroup.md | 156 ++ .../UpdatePerfectMatchBatchMapping.md | 181 ++ ...atchFileMappingWithManuallyUploadedFile.md | 132 + ...ePerfectMatchFileMappingWithProjectFile.md | 127 + .../aidocs/reference/UpdatePricingModel.md | 268 ++ .../aidocs/reference/UpdateProject.md | 479 ++++ .../reference/UpdateProjectConfiguration.md | 174 ++ .../aidocs/reference/UpdateProjectGroup.md | 131 + .../reference/UpdateProjectPricingModel.md | 121 + .../aidocs/reference/UpdateProjectTemplate.md | 293 ++ .../aidocs/reference/UpdateRole.md | 139 + .../reference/UpdateScheduleTemplate.md | 176 ++ .../aidocs/reference/UpdateSourceFile.md | 126 + .../aidocs/reference/UpdateSourceFiles.md | 136 + .../reference/UpdateSourceProperties.md | 135 + .../aidocs/reference/UpdateTargetFile.md | 125 + .../aidocs/reference/UpdateTargetFiles.md | 135 + .../aidocs/reference/UpdateTermbase.md | 187 ++ .../aidocs/reference/UpdateTermbaseEntry.md | 204 ++ .../reference/UpdateTermbaseTemplate.md | 163 ++ .../reference/UpdateTranslationEngine.md | 209 ++ .../reference/UpdateTranslationMemory.md | 158 ++ .../aidocs/reference/UpdateUser.md | 320 +++ .../aidocs/reference/UpdateVendor.md | 149 ++ .../reference/UpdateVendorOrderTemplate.md | 208 ++ .../aidocs/reference/UpdateWorkflow.md | 241 ++ .../aidocs/reference/UploadZipFile.md | 120 + 206 files changed, 64584 insertions(+) create mode 100644 articles/LCPublicAPI/aidocs/index.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AcceptTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddPerfectMatchBatchMapping.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddProjectsToGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddSourceFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddSourceFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddSourceFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AddTargetFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/AssignTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CancelProjectFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CompleteProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CompleteTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ConvertTermbaseTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CopyTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateApplication.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateCustomer.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreatePerfectMatchMapping.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreatePricingModel.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateProjectGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateProjectTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateRole.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateScheduleTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateTermbaseEntry.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateTermbaseTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateUser.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateVendor.md create mode 100644 articles/LCPublicAPI/aidocs/reference/CreateVendorOrderTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteApplication.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteCustomer.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeletePerfectMatchFileMappingForFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeletePricingModel.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteProjectGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteProjectTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteRole.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteScheduleTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntries.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntry.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteTermbaseTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteUser.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteVendor.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DeleteVendorOrderTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadExportedPackage.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadExportedTargetFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadExportedTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadExportedTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadQuoteReport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadSourceFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadTermbaseDefinition.md create mode 100644 articles/LCPublicAPI/aidocs/reference/DownloadTermbaseImportLog.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportPackage.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportProjectFilesStatus.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportQuoteReport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportTargetFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ExportTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetApplication.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetCustomField.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetCustomer.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetFieldTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetFileProcessingConfiguration.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetFileTypeSetting.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetFolder.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetImportHistory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetLanguageProcessingRule.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetMyUser.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetPerfectMatchCandidates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetPerfectMatchMapping.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetPricingModel.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetProjectConfiguration.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetProjectGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetProjectTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetPublicKey.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetQuoteTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetRole.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetRootFolder.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetScheduleTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetSourceFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetSourceFileProperties.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTMImportHistory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTargetFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTargetFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTaskType.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTermbaseEntry.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTermbaseTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTqaProfile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTranslationEngine.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetUser.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetVendor.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetVendorOrderTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/GetWorkflow.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ImportPackage.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ImportTargetFileVersion.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ImportTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ImportTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/Index.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListApplications.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListCustomFields.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListCustomers.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListFieldTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListFileProcessingConfigurations.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListFileTypeSettings.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListFolders.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListGroups.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListLanguageProcessingRules.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListLanguages.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListLlmConfigurations.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListMachineTranslations.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListMyAccounts.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListPermissions.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListPricingModels.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListProjectGroups.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListProjectTasks.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListProjectTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListProjects.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListPublicKeys.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListQuoteTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListRateLimits.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListRoles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListScheduleTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListSourceFileVersions.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListSourceFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTargetFileVersions.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTargetFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTaskTypes.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTasksAssignedToMe.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTermbaseEntries.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTermbaseEntryTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTermbaseTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTermbaseTerms.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTqaProfiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTranslationEngines.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTranslationMemories.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListTranslationServiceTypes.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListUsers.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListVendorOrderTemplates.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListVendors.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ListWorkflows.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollExportPackage.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollExportTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollFileAnalysis.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollImportPackage.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollQuoteReportExport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollTMImport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionExport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionImport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollTermbaseImport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollTranslationMemoryExport.md create mode 100644 articles/LCPublicAPI/aidocs/reference/PollUploadZipFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ReclaimTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/RejectTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/ReleaseTask.md create mode 100644 articles/LCPublicAPI/aidocs/reference/RemoveProjectsFromGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/RequestFileAnalysis.md create mode 100644 articles/LCPublicAPI/aidocs/reference/RescheduleProjectTasks.md create mode 100644 articles/LCPublicAPI/aidocs/reference/StartProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/TranslationsAdd.md create mode 100644 articles/LCPublicAPI/aidocs/reference/TranslationsConcordanceSearch.md create mode 100644 articles/LCPublicAPI/aidocs/reference/TranslationsLookup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/TranslationsUpdate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateApplication.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateCustomField.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateCustomer.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchBatchMapping.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithManuallyUploadedFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithProjectFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdatePricingModel.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateProject.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateProjectConfiguration.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateProjectGroup.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateProjectPricingModel.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateProjectTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateRole.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateScheduleTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateSourceFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateSourceFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateSourceProperties.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTargetFile.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTargetFiles.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTermbase.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTermbaseEntry.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTermbaseTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTranslationEngine.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateTranslationMemory.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateUser.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateVendor.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateVendorOrderTemplate.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UpdateWorkflow.md create mode 100644 articles/LCPublicAPI/aidocs/reference/UploadZipFile.md diff --git a/articles/LCPublicAPI/aidocs/index.md b/articles/LCPublicAPI/aidocs/index.md new file mode 100644 index 0000000..c8575d4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/index.md @@ -0,0 +1,5 @@ +# Language Cloud Public API — AI Docs + +## API Reference → [reference/Index.md](./reference/Index.md) + +## Guides → [guides/index.md](./guides/index.md) diff --git a/articles/LCPublicAPI/aidocs/reference/AcceptTask.md b/articles/LCPublicAPI/aidocs/reference/AcceptTask.md new file mode 100644 index 0000000..396beb4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AcceptTask.md @@ -0,0 +1,119 @@ +# Trados Cloud Platform API Accept Task + +Accept Task AcceptTask PUT /tasks/{taskId}/accept + +- Friendly name: Accept Task +- Operation ID: AcceptTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/accept + +Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `onBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list. The `onBehalfOfGroup` parameter is allowed only if the [task](#/operations/GetTask) has `configuration.CONCURRENT_EDITING_ENABLED = true`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **onBehalfOfGroup** (query, string) - optional: The identifier of the group on behalf of which the task is being accepted. The authenticated user must be a member of the specified group, and the group must be present in the task's assignee list. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "alreadyOwned": the task is already owned +* "invalidStatus": the task status doesn't permit the accept operation + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task AcceptTaskAsync(string taskId, string onBehalfOfGroup = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | +| `onBehalfOfGroup` | `string` | no | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/accept?onBehalfOfGroup={onBehalfOfGroup} +void acceptTask(String taskId, String onBehalfOfGroup); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `onBehalfOfGroup` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddPerfectMatchBatchMapping.md b/articles/LCPublicAPI/aidocs/reference/AddPerfectMatchBatchMapping.md new file mode 100644 index 0000000..3444b24 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddPerfectMatchBatchMapping.md @@ -0,0 +1,2188 @@ +# Trados Cloud Platform API Add PerfectMatch Batch Mapping + +Add PerfectMatch Batch Mapping AddPerfectMatchBatchMapping POST /perfect-match-mappings/{mappingId}/batch-mappings + +- Friendly name: Add PerfectMatch Batch Mapping +- Operation ID: AddPerfectMatchBatchMapping +- HTTP Method: POST +- Path: /perfect-match-mappings/{mappingId}/batch-mappings + +Adds a new PerfectMatch batch mapping. + +When new source files are introduced to a mid-project, a new batch must be added to the current mapping to leverage PerfectMatch. This action triggers a background operation that identifies matching candidates for the newly added files. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: perfect-match-batch-mapping-update-request (see model section below) + +## Response + +### 200 + + + +- Content: application/json +- Schema: perfect-match-mapping-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* “conflict”: A pending batch mapping already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-batch-mapping-update-request + + +``` +type: object +properties: + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - files: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping-request + - matchingProjects: type: array + items: + type: string +``` + +## Model: perfect-match-mapping-response + + +``` +type: object +properties: + - id: type: string + - project: $ref: #/components/schemas/project + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: perfect-match-file-mapping-request + + +``` +type: object +properties: + - sourceFileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/target-language-request +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task AddPerfectMatchBatchMappingAsync(string mappingId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `PerfectMatchMappingApi` + +```java +// POST /perfect-match-mappings/{mappingId}/batch-mappings?fields={fields} +PerfectMatchMappingResponse addPerfectMatchBatchMapping(String mappingId, String fields, PerfectMatchBatchMappingUpdateRequest perfectMatchBatchMappingUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `fields` | `String` | no | +| `perfectMatchBatchMappingUpdateRequest` | `PerfectMatchBatchMappingUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddProjectsToGroup.md b/articles/LCPublicAPI/aidocs/reference/AddProjectsToGroup.md new file mode 100644 index 0000000..fff83d3 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddProjectsToGroup.md @@ -0,0 +1,211 @@ +# Trados Cloud Platform API Add Projects To Group + +Add Projects To Group AddProjectsToGroup POST /project-groups/{projectGroupId}/projects + +- Friendly name: Add Projects To Group +- Operation ID: AddProjectsToGroup +- HTTP Method: POST +- Path: /project-groups/{projectGroupId}/projects + +Adds projects to the project group. + +The projects are not added instantly. To check the status use the [Get Project Group](#/operations/GetProjectGroup) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: add-projects-to-group-request (see model section below) + +## Response + +### 202 + +Accepted + +- Content: application/json +- Schema: add-projects-to-group-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to add the projects to group. +* "forbidden": The projects are not found or the authenticated user does not have acces to them. +* "benefitNotAvailable": Your subscription does not include access to the requested type of benefit. +* "quotaReached": The maximum number of projects allowed for your project group has already been reached. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The project group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* “conflict”: A project with status "detaching" cannot be added. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: add-projects-to-group-request + + +``` +type: object + description: Input for adding projects to group. +properties: + - projects: type: array + items: + $ref: #/components/schemas/project-group-project-request +``` + +## Model: add-projects-to-group-response + + +``` +type: object + description: Add Projects To Group response. +properties: + - id: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - shortId: type: string + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-group-project-request + + +``` +type: object +properties: + - id: type: string +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task AddProjectsToGroupAsync(AddProjectsToGroupRequest projectGroupId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `AddProjectsToGroupRequest` | yes | +| `fields` | `string` | no | + +### Java — `ProjectGroupApi` + +```java +// POST /project-groups/{projectGroupId}/projects?fields={fields} +AddProjectsToGroupResponse addProjectsToGroup(String projectGroupId, AddProjectsToGroupRequest addProjectsToGroupRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `String` | yes | +| `addProjectsToGroupRequest` | `AddProjectsToGroupRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddSourceFile.md b/articles/LCPublicAPI/aidocs/reference/AddSourceFile.md new file mode 100644 index 0000000..e86789e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddSourceFile.md @@ -0,0 +1,216 @@ +# Trados Cloud Platform API Add Source File + +Add Source File AddSourceFile POST /projects/{projectId}/source-files + +- Friendly name: Add Source File +- Operation ID: AddSourceFile +- HTTP Method: POST +- Path: /projects/{projectId}/source-files + +Adds a source file to the project. Files can be uploaded before starting a project or after the project has started. When adding a `translatable` file after the project started, a new start project request should be performed. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. + +> Note: The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated. + +> Note: Zip files will be added as reference files. If you want to upload zip files, please use the [Upload Zip File](#/operations/UploadZipFile) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +For details on how to send multipart/form-data with `properties` see this [article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/source-file-request + - file: type: string (format: binary) +``` + +## Response + +### 201 + + + +- Content: application/json +- Schema: source-file (see model section below) + +### 400 + +Error responses: +* "invalid": invalid input on for the value mentioned in the “name” field on the error response. +* "empty": missing input for the value mentioned in the "name" field on the error response. +* "maxSize": maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to add a source file to the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": duplicate source file name inside a project is not allowed. +* "projectAlreadyCompleted": resource can not be added because the project it is in completed state. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file-request + + +``` +type: object + description: Source file properties sent as a JSON inside a text part. +properties: + - name: type: string + - role: type: string enum: [translatable, reference, unknown] + - type: type: string enum: [native, bcm, sdlxliff] + - language: $ref: #/components/schemas/language-request + - targetLanguages: type: array + items: + $ref: #/components/schemas/language-request + - path: type: array + items: + type: string +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task AddSourceFileAsync(string projectId, SourceFileRequest file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `file` | `SourceFileRequest` | yes | + +### Java — `SourceFileApi` + +```java +// POST /projects/{projectId}/source-files +SourceFile addSourceFile(String projectId, SourceFileRequest properties, File file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `properties` | `SourceFileRequest` | yes | +| `file` | `File` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddSourceFileVersion.md b/articles/LCPublicAPI/aidocs/reference/AddSourceFileVersion.md new file mode 100644 index 0000000..0b9f13c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddSourceFileVersion.md @@ -0,0 +1,188 @@ +# Trados Cloud Platform API Add Source File Version + +Add Source File Version AddSourceFileVersion POST /tasks/{taskId}/source-files/{sourceFileId}/versions + +- Friendly name: Add Source File Version +- Operation ID: AddSourceFileVersion +- HTTP Method: POST +- Path: /tasks/{taskId}/source-files/{sourceFileId}/versions + +Adds a new version of the source file in [BCM](../../BCM/BCM.NET_client_API.html) or native format. More information about file formats can be found on the [File formats](../docs/File-formats.html) page. + +The version is added on the task represented by `taskId`. To successfully execute the add operation the task should already be assigned and accepted by a user. If the task is automatic, it's possible to add a source file version only when the status of task is `inProgress`. + +The file versions added need to respect the output file type declared by the task type of the enclosing task. On the [Rules for sequencing tasks correctly](https://docs.rws.com/791595/885137/trados-enterprise/rules-for-sequencing-tasks-correctly) page from the official RWS Documentation Center, you can find out what output file type is supported by each task. + +For adding a source file version using an extension task, the configuration of the task must declare the `scope`'s value as "file". + +If the file type of the new added file is different than the supported source file type, the new `fileTypeSettingsId` must be specified in the body or an update of file type should be performed after the add operation, using the [Update Source File Properties](#/operations/UpdateSourceProperties). + +The value of `fileTypeSettingsId` is one of the identifiers listed by the [List File Type Settings](#/operations/ListFileTypeSettings) endpoint. + +The [List File Type Settings](#/operations/ListFileTypeSettings) endpoint must be called with the File Processing Configuration identifier of your project. + +The File Processing Configuration of your project can be retrieved from [Get Project](#/operations/GetProject) endpoint. + +The multipart parameters in the body should respect and strictly follow the order specified in our documentation. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when adding files. + + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/source-file-version-properties-create-request + - file: type: string (format: binary) +``` + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: source-file-version-response (see model section below) + +### 400 + +Error codes: +* "invalid": invalid input in the query parameter mentioned in the “name” field on the error response. +* "invalid": the provided document is not a valid BCM file. +* "invalid": invalid file format +* "multiPartOrder": the multipart order in body is not correct. `properties` must be the first, followed by `file`. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": \ + \- the specified task or the source file was not found.\ + \- the request is performed in a task that doesn't have the input file type as source file and is used a target file identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "noOwner": the task has no owner. +* "differentOwner": the authenticated user is not the owner of the task. +* "differentServiceUserOwner": the authenticated service user is not the owner of the task. +* "taskCompleted": adding source file version is not allowed when the task is completed. +* "unsupported" : you cannot add a source file version for this task. +* "duplicate": a file with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file-version-properties-create-request + + +``` +type: object + description: +properties: + - type: type: string enum: [bcm, native] + - fileTypeSettingsId: type: string +``` + +## Model: source-file-version-response + + +``` +type: object + description: +properties: + - id: type: string + - type: type: string enum: [native, bcm] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task AddSourceFileVersionAsync(string sourceFileId, string taskId, string fields = null, SourceFileVersionPropertiesCreateRequest properties, FileParameter file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `sourceFileId` | `string` | yes | +| `taskId` | `string` | yes | +| `fields` | `string` | no | +| `properties` | `SourceFileVersionPropertiesCreateRequest` | yes | +| `file` | `FileParameter` | yes | + +### Java — `SourceFileApi` + +```java +// POST /tasks/{taskId}/source-files/{sourceFileId}/versions?fields={fields} +SourceFileVersionResponse addSourceFileVersion(String sourceFileId, String taskId, SourceFileVersionPropertiesCreateRequest properties, File file, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `sourceFileId` | `String` | yes | +| `taskId` | `String` | yes | +| `properties` | `SourceFileVersionPropertiesCreateRequest` | yes | +| `file` | `File` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddSourceFiles.md b/articles/LCPublicAPI/aidocs/reference/AddSourceFiles.md new file mode 100644 index 0000000..b7397b1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddSourceFiles.md @@ -0,0 +1,251 @@ +# Trados Cloud Platform API Attach Source Files + +Attach Source Files AddSourceFiles POST /projects/{projectId}/source-files/attach-files + +- Friendly name: Attach Source Files +- Operation ID: AddSourceFiles +- HTTP Method: POST +- Path: /projects/{projectId}/source-files/attach-files + +This endpoint can only be used after files have been uploaded via the [Upload Zip File](#/operations/UploadZipFile) endpoint. It allows you to add multiple source files to a project. + + Each file must be individually attached by setting the `fileUrl` to the `associatedFiles.id` returned by the [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoint, once the `unzipStatus` is `extracted`. + +If a file is attached after the project has already been started, a new start project request must be made. + +> Note: The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated. + + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + + +- Content: application/json + +- Schema: source-file-attachment-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: source-file-attachment-response (see model section below) + +### 400 + +Error codes: +* "invalid": invalid input on for the value mentioned in the “name” field on the error response. +* "empty": missing input for the value mentioned in the "name" field on the error response. +* "maxSize": maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to attach a source file on the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": duplicate source file name inside a project is not allowed. +* "duplicate": duplicate fileUrl inside a project is not allowed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file-attachment-request + + +``` +type: object + description: +properties: + - sourceFilesAttachment: type: array + items: + $ref: #/components/schemas/source-file-attachment-request-item +``` + +## Model: source-file-attachment-response + + +``` +type: object + description: +properties: + - sourceFiles: type: array + items: + $ref: #/components/schemas/source-file +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: source-file-attachment-request-item + + +``` +type: object + description: Attached Source File properties referencing previously uploaded file +properties: + - name: type: string + - role: type: string enum: [translatable, reference, unknown] + - fileUrl: type: string + - type: type: string enum: [native, bcm, sdlxliff] + - language: $ref: #/components/schemas/source-language-request + - targetLanguages: type: array + items: + $ref: #/components/schemas/target-language-request + - path: type: array + items: + type: string +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task AddSourceFilesAsync(SourceFileAttachmentRequest projectId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `SourceFileAttachmentRequest` | yes | +| `fields` | `string` | no | + +### Java — `SourceFileApi` + +```java +// POST /projects/{projectId}/source-files/attach-files?fields={fields} +SourceFileAttachmentResponse addSourceFiles(String projectId, SourceFileAttachmentRequest sourceFileAttachmentRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFileAttachmentRequest` | `SourceFileAttachmentRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AddTargetFileVersion.md b/articles/LCPublicAPI/aidocs/reference/AddTargetFileVersion.md new file mode 100644 index 0000000..5fe71e3 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AddTargetFileVersion.md @@ -0,0 +1,178 @@ +# Trados Cloud Platform API Add Target File Version + +Add Target File Version AddTargetFileVersion POST /tasks/{taskId}/target-files/{targetFileId}/versions + +- Friendly name: Add Target File Version +- Operation ID: AddTargetFileVersion +- HTTP Method: POST +- Path: /tasks/{taskId}/target-files/{targetFileId}/versions + +Adds a new version of the target file. Only the `native` and `bcm` file formats are accepted. For the `sdlxliff` files, you should use the [Import Target File endpoint](#/operations/ImportTargetFileVersion). More information about file formats can be found on the [File formats](../docs/File-formats.html) page. Additional details on BCM files can be found [here](../../BCM/BCM.NET_client_API.html). + +The version is added on the task represented by `taskId`. To be able to execute the add operation the task should be assigned and accepted by user. If the task is automatic, it is possible to add a target file version only if the status is `inProgress`. + +The added file versions need to respect the output file type declared by the task type of the enclosing task. On the [Rules for sequencing tasks correctly](https://docs.rws.com/791595/885137/trados-enterprise/rules-for-sequencing-tasks-correctly) page from the official RWS Documentation Center, you can find out what output file type is supported by each task. + +For adding a target file version using an extension task, the configuration of the task type must declare the `scope`'s value as "file". + +The multipart parameters in the body should respect and strictly follow the order specified in our documentation. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/target-file-version-properties-create-request + - file: type: string (format: binary) +``` + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: target-file-version-response (see model section below) + +### 400 + +Error codes: + +* "invalid": invalid input in the query parameter mentioned in the “name” field on the error response. +* "invalid": the provided document is not a valid BCM file. +* "invalid": invalid file format +* "multiPartOrder": the multipart order in the body is not correct. The `properties` must be first and then, file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to add a version for the target file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": \ + \- the specified task or the target file was not found.\ + \- the request is performed in a task that doesn't have the input file type as target file and is used a source file identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "noOwner": the task has no owner. +* "differentOwner": the authenticated user is not the owner of the task. +* "differentServiceUserOwner": the authenticated service user is not the owner of the task. +* "taskCompleted": adding target file version is not allowed when the task is completed. +* "duplicate": a file with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: target-file-version-properties-create-request + + +``` +type: object + description: +properties: + - type: type: string enum: [bcm, native] +``` + +## Model: target-file-version-response + + +``` +type: object + description: +properties: + - id: type: string + - type: type: string enum: [native, bcm] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task AddTargetFileVersionAsync(string taskId, string targetFileId, string fields = null, TargetFileVersionPropertiesCreateRequest properties, FileParameter file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fields` | `string` | no | +| `properties` | `TargetFileVersionPropertiesCreateRequest` | yes | +| `file` | `FileParameter` | yes | + +### Java — `TargetFileApi` + +```java +// POST /tasks/{taskId}/target-files/{targetFileId}/versions?fields={fields} +TargetFileVersionResponse addTargetFileVersion(String taskId, String targetFileId, TargetFileVersionPropertiesCreateRequest properties, File file, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `properties` | `TargetFileVersionPropertiesCreateRequest` | yes | +| `file` | `File` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/AssignTask.md b/articles/LCPublicAPI/aidocs/reference/AssignTask.md new file mode 100644 index 0000000..b4d4548 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/AssignTask.md @@ -0,0 +1,142 @@ +# Trados Cloud Platform API Assign Task + +Assign Task AssignTask PUT /tasks/{taskId}/assign + +- Friendly name: Assign Task +- Operation ID: AssignTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/assign + +Assigns a task. The task assignees will be updated. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: task-assign-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input mentioned in the “name” field on the error response. +* "limit.exceeded": a maximum number of users per task was assigned + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to assign the task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": the current task's status doesn't permit the operation. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: task-assign-request + + +``` +type: object + description: Properties of task assignment. +
Total assignee count is limited. See more at [Maximum number of task assignees](https://docs.rws.com/791595/1137562/trados-enterprise---accelerate/maximum-number-of-task-assignees). +properties: + - assignees: type: array + items: + $ref: #/components/schemas/task-assignee-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task-assignee-request + + +``` +type: object +properties: + - id: type: string + - type: type: string enum: [user, group, vendorOrderTemplate, projectManager, projectCreator] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task AssignTaskAsync(TaskAssignRequest taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `TaskAssignRequest` | yes | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/assign +void assignTask(String taskId, TaskAssignRequest taskAssignRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `taskAssignRequest` | `TaskAssignRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CancelProjectFile.md b/articles/LCPublicAPI/aidocs/reference/CancelProjectFile.md new file mode 100644 index 0000000..ce84005 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CancelProjectFile.md @@ -0,0 +1,110 @@ +# Trados Cloud Platform API Cancel Project File + +Cancel Project File CancelProjectFile PUT /projects/{projectId}/files/{fileId}/cancel + +- Friendly name: Cancel Project File +- Operation ID: CancelProjectFile +- HTTP Method: PUT +- Path: /projects/{projectId}/files/{fileId}/cancel + +Cancels a project file. + +The `fileId` path parameter can be either a source file identifier or a target file identifier. Use the [List Source Files](#/operations/ListSourceFiles) endpoint to obtain source file identifiers, or the [List Target Files](#/operations/ListTargetFiles) endpoint to obtain target file identifiers. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read resource + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "alreadyCanceled": the file was already cancelled. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task CancelProjectFileAsync(string projectId, string fileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `fileId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/files/{fileId}/cancel +void cancelProjectFile(String projectId, String fileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `fileId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CompleteProject.md b/articles/LCPublicAPI/aidocs/reference/CompleteProject.md new file mode 100644 index 0000000..918472a --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CompleteProject.md @@ -0,0 +1,114 @@ +# Trados Cloud Platform API Complete Project + +Complete Project CompleteProject PUT /projects/{projectId}/complete + +- Friendly name: Complete Project +- Operation ID: CompleteProject +- HTTP Method: PUT +- Path: /projects/{projectId}/complete + +Marks a project as "completed". + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to complete the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "projectAlreadyCompleted": the project it is already in completed state. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task CompleteProjectAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/complete +void completeProject(String projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CompleteTask.md b/articles/LCPublicAPI/aidocs/reference/CompleteTask.md new file mode 100644 index 0000000..048c8eb --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CompleteTask.md @@ -0,0 +1,130 @@ +# Trados Cloud Platform API Complete Task + +Complete Task CompleteTask PUT /tasks/{taskId}/complete + +- Friendly name: Complete Task +- Operation ID: CompleteTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/complete + +Completes a task. The task is required to be in "inProgress" state and will be marked as "completed". + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: task-complete-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “maxSize“: Maximum size exceeded for the value mentioned in the “name“ field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to complete the task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": The current task status doesn't permit this operation. +* "noOwner": The current task was not accepted in advance. +* "differentOwner": The current task is accepted by another user. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: task-complete-request + + +``` +type: object + description: Properties of task completion. +properties: + - outcome: type: string + - comment: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task CompleteTaskAsync(TaskCompleteRequest taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `TaskCompleteRequest` | yes | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/complete +void completeTask(String taskId, TaskCompleteRequest taskCompleteRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `taskCompleteRequest` | `TaskCompleteRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ConvertTermbaseTemplate.md b/articles/LCPublicAPI/aidocs/reference/ConvertTermbaseTemplate.md new file mode 100644 index 0000000..ebbc2a9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ConvertTermbaseTemplate.md @@ -0,0 +1,168 @@ +# Trados Cloud Platform API Convert XDT to Termbase Structure + +Convert XDT to Termbase Structure ConvertTermbaseTemplate POST /termbase-templates/convert-xdt + +- Friendly name: Convert XDT to Termbase Structure +- Operation ID: ConvertTermbaseTemplate +- HTTP Method: POST +- Path: /termbase-templates/convert-xdt + +Converts a termbase definition (XDT file) to a termbase structure that will be returned in the response.
+The structure will not be stored in the Trados Cloud Platform. + +## Parameters + +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - file: type: string (format: binary) +``` + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-structure (see model section below) + +### 400 + +Error code “invalid” in case of: + * Empty or missing file in request + * Not valid multipart request + * File parameter contains other extension than the one expected by specification. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +Unauthorized + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-structure + + +``` +type: object + description: The termbase structure. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task ConvertTermbaseTemplateAsync(string fields = null, FileParameter file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | +| `file` | `FileParameter` | yes | + +### Java — `TermbaseTemplateApi` + +```java +// POST /termbase-templates/convert-xdt?fields={fields} +TermbaseStructure convertTermbaseTemplate(File file, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `file` | `File` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CopyTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/CopyTranslationMemory.md new file mode 100644 index 0000000..8a83c8d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CopyTranslationMemory.md @@ -0,0 +1,413 @@ +# Trados Cloud Platform API Copy Translation Memory + +Copy Translation Memory CopyTranslationMemory POST /translation-memory/{translationMemoryId}/copy + +- Friendly name: Copy Translation Memory +- Operation ID: CopyTranslationMemory +- HTTP Method: POST +- Path: /translation-memory/{translationMemoryId}/copy + +Creates a copy of a Translation Memory. The name will be suffixed with ' (Copy) ' + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: translation-memory (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation memory could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder + - languageDirections: type: array + items: + $ref: #/components/schemas/translation-memory-language-direction + - languageProcessingRule: $ref: #/components/schemas/language-processing-rule + - fieldTemplate: $ref: #/components/schemas/translation-memory-field-template + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastRecomputedAt: type: string (format: date-time) + - lastReIndexedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-language-direction + + +``` +type: object + description: A language direction representation specific to translation memories. +properties: + - languageDirection: $ref: #/components/schemas/simple-language-direction + - translationUnits: type: integer + - unalignedTranslationUnits: type: integer +``` + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: simple-language-direction + + +``` +type: object + description: A basic language direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task CopyTranslationMemoryAsync(string translationMemoryId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// POST /translation-memory/{translationMemoryId}/copy?fields={fields} +TranslationMemory copyTranslationMemory(String translationMemoryId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateApplication.md b/articles/LCPublicAPI/aidocs/reference/CreateApplication.md new file mode 100644 index 0000000..7721908 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateApplication.md @@ -0,0 +1,303 @@ +# Trados Cloud Platform API Create Application + +Create Application CreateApplication POST /applications + +- Friendly name: Create Application +- Operation ID: CreateApplication +- HTTP Method: POST +- Path: /applications + +Creates a new integration application. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: application-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: application (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "maxSize": The maximum size was exceeded for the value mentioned in the "name" field +* "empty": Empty mandatory value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: application-create-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - enableApiAccess: type: boolean + - serviceUserId: type: string +``` + +## Model: application + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - enableApiAccess: type: boolean + - serviceUser: $ref: #/components/schemas/user + - apiAccess: type: object + description: API Access details. + properties: + - clientId: type: string + - clientSecret: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IIntegrationClient` + +```csharp +Task CreateApplicationAsync(ApplicationCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `ApplicationCreateRequest` | no | + +### Java — `IntegrationApi` + +```java +// POST /applications?fields={fields} +Application createApplication(String fields, ApplicationCreateRequest applicationCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `applicationCreateRequest` | `ApplicationCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateCustomer.md b/articles/LCPublicAPI/aidocs/reference/CreateCustomer.md new file mode 100644 index 0000000..1e0ef10 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateCustomer.md @@ -0,0 +1,353 @@ +# Trados Cloud Platform API Create Customer + +Create Customer CreateCustomer POST /customers + +- Friendly name: Create Customer +- Operation ID: CreateCustomer +- HTTP Method: POST +- Path: /customers + +Create customer in a tenant. + +For adding a customer to a tenant the authenticated user must have 'Create Customer' permission. + +To also create an account for the key contact, you need to have the specific entitlements. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: customer-create-request (see model section below) + +## Response + +### 201 + +The customer was successfully created. + +- Content: application/json +- Schema: customer (see model section below) + +### 400 + +Error responses: + +* “invalid”: invalid input specified in the error details. +* "empty": empty input for required field specified in the error details. +* "maxSize": The maximum size was exceeded for the value mentioned in the "name" field. +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +"forbidden": +- The authenticated user is not allowed to create a customer or if you intend to create the key contact account, you might not have sufficient permissions. + +- Content: application/json +- Schema: error-response (see model section below) + +### 408 + +Error responses: + + * "timeout": The request took longer than expected. The system might be overloaded. You might try again. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error responses: + +* “duplicate”: duplicate value for the field mentioned in the error details. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + + +## Model: customer-create-request + + +``` +type: object + description: Input for Customer creation. + + It will create an invitation for an account user account. +properties: + - name: type: string + - location: type: string + - firstName: type: string + - lastName: type: string + - email: type: string +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ICustomerClient` + +```csharp +Task CreateCustomerAsync(CustomerCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `CustomerCreateRequest` | no | + +### Java — `CustomerApi` + +```java +// POST /customers?fields={fields} +Customer createCustomer(CustomerCreateRequest customerCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerCreateRequest` | `CustomerCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateGroup.md b/articles/LCPublicAPI/aidocs/reference/CreateGroup.md new file mode 100644 index 0000000..63f25c0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateGroup.md @@ -0,0 +1,340 @@ +# Trados Cloud Platform API Create Group + +Create Group CreateGroup POST /groups + +- Friendly name: Create Group +- Operation ID: CreateGroup +- HTTP Method: POST +- Path: /groups + +Creates a group. Group roles will take effect based on the location, where the group is being created. Read more at [How to use location and folders](../docs/How-to-use-location-and-folders.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: group-create-request (see model section below) + +## Response + +### 201 + +Created. + +- Content: application/json +- Schema: group (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the parameter mentioned in the “name” field on the error response. +* “maxSize”: Character number or List size exceeds the maximum allowed value for the “name” field on the error response. +* “minSize”: Character number or List size insufficient for the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed create a group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Location/Roles could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the request is conflicting with existing data. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: group-create-request + + +``` +type: object + description: Group of users. +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: group-update-request + + +``` +type: object + description: Group of users. +properties: + - name: type: string + - description: type: string + - roles: type: array + items: + type: string + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles-request + - users: type: array + items: + type: string + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: group-additional-roles-request + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: type: string + - roles: type: array + items: + type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IGroupClient` + +```csharp +Task CreateGroupAsync(GroupCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `GroupCreateRequest` | no | + +### Java — `GroupApi` + +```java +// POST /groups?fields={fields} +Group createGroup(GroupCreateRequest groupCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupCreateRequest` | `GroupCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreatePerfectMatchMapping.md b/articles/LCPublicAPI/aidocs/reference/CreatePerfectMatchMapping.md new file mode 100644 index 0000000..d0139cd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreatePerfectMatchMapping.md @@ -0,0 +1,2155 @@ +# Trados Cloud Platform API Create PerfectMatch Mapping + +Create PerfectMatch Mapping CreatePerfectMatchMapping POST /perfect-match-mappings + +- Friendly name: Create PerfectMatch Mapping +- Operation ID: CreatePerfectMatchMapping +- HTTP Method: POST +- Path: /perfect-match-mappings + +For more details on the PerfectMatch feature please consult the [official documentation](https://docs.rws.com/791595/1155478/trados-enterprise---accelerate/perfectmatch-general-information). + +After creating a mapping, target files from the `matchingProjects` are automatically matched to the source files in the new project. This is a long-running background operation, and its `status` can be tracked by polling the [Get PerfectMatch Mapping](#/operations/GetPerfectMatchMapping) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + + +- Content: application/json + +- Schema: perfect-match-mapping-create-request (see model section below) + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: perfect-match-mapping-create-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the project has no source files. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-mapping-create-request + + +``` +type: object + description: A request to create a new PerfectMatch mapping. +properties: + - projectId: type: string + - matchingProjects: type: array + items: + type: string +``` + +## Model: perfect-match-mapping-create-response + + +``` +type: object +properties: + - id: type: string + - project: $ref: #/components/schemas/project + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping-created-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: perfect-match-batch-mapping-created-response + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task CreatePerfectMatchMappingAsync(PerfectMatchMappingCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `PerfectMatchMappingCreateRequest` | no | + +### Java — `PerfectMatchMappingApi` + +```java +// POST /perfect-match-mappings?fields={fields} +PerfectMatchMappingCreateResponse createPerfectMatchMapping(String fields, PerfectMatchMappingCreateRequest perfectMatchMappingCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `perfectMatchMappingCreateRequest` | `PerfectMatchMappingCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreatePricingModel.md b/articles/LCPublicAPI/aidocs/reference/CreatePricingModel.md new file mode 100644 index 0000000..da9f18a --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreatePricingModel.md @@ -0,0 +1,384 @@ +# Trados Cloud Platform API Create Pricing Model + +Create Pricing Model CreatePricingModel POST /pricing-models + +- Friendly name: Create Pricing Model +- Operation ID: CreatePricingModel +- HTTP Method: POST +- Path: /pricing-models + +Creates a new pricing model. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: pricing-model-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: pricing-model (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* “forbidden”: The authenticated user is not allowed to create the pricing model + + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: pricing-model-create-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - currencyCode: type: string + - location: type: string + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost-request + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost-request +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-cost-request + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost-request +``` + +## Model: project-cost-request + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost-request + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## SDK + +### .NET — `IPricingModelClient` + +```csharp +Task CreatePricingModelAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `PricingModelApi` + +```java +// POST /pricing-models?fields={fields} +PricingModel createPricingModel(String fields, PricingModelCreateRequest pricingModelCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `pricingModelCreateRequest` | `PricingModelCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateProject.md b/articles/LCPublicAPI/aidocs/reference/CreateProject.md new file mode 100644 index 0000000..66967a1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateProject.md @@ -0,0 +1,2239 @@ +# Trados Cloud Platform API Create Project + +Create Project CreateProject POST /projects + +- Friendly name: Create Project +- Operation ID: CreateProject +- HTTP Method: POST +- Path: /projects + +Creates a new project. + +When creating a project using a project template that supports multiple source languages, you must supply the `languageDirections`. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when creating projects. + +The values from a selected project template will take precedence over the individual resources when creating a new project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: project-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: project (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +"forbidden": +- The authenticated user is not allowed to create the project in the specified location. +- Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-create-request + + +``` +type: object + description: Input for Project creation. + +Before starting the project, the required configuration resources (translation engine, file processing configuration and workflow) should be set either explicitly or through a project template that contains references to these configuration resources. +properties: + - name: type: string + - description: type: string + - dueBy: $ref: #/components/schemas/date-time + - projectTemplate: $ref: #/components/schemas/object-id-request + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - location: type: string + - translationEngine: $ref: #/components/schemas/configuration-resource-request + - fileProcessingConfiguration: $ref: #/components/schemas/configuration-resource-request + - workflow: $ref: #/components/schemas/configuration-resource-request + - pricingModel: $ref: #/components/schemas/configuration-resource-request + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - tqaProfile: $ref: #/components/schemas/configuration-resource-request + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-request + - scheduleTemplate: $ref: #/components/schemas/configuration-resource-request + - settings: $ref: #/components/schemas/project-settings-create-request +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: object-id-request + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: configuration-resource-request + + +``` +type: object + description: Resource configuration properties. +properties: + - id: type: string + - strategy: type: string enum: [copy, use] +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: project-manager-request + + +``` +type: object +properties: + - id: type: string + - type: type: string enum: [group, user] +``` + +## Model: project-settings-create-request + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-request +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: project-settings-general-request + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task CreateProjectAsync(ProjectCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `ProjectCreateRequest` | no | + +### Java — `ProjectApi` + +```java +// POST /projects?fields={fields} +Project createProject(ProjectCreateRequest projectCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectCreateRequest` | `ProjectCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateProjectGroup.md b/articles/LCPublicAPI/aidocs/reference/CreateProjectGroup.md new file mode 100644 index 0000000..3cab2e8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateProjectGroup.md @@ -0,0 +1,176 @@ +# Trados Cloud Platform API Create Project Group + +Create Project Group CreateProjectGroup POST /project-groups + +- Friendly name: Create Project Group +- Operation ID: CreateProjectGroup +- HTTP Method: POST +- Path: /project-groups + +Creates a new project group. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: project-group-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: project-group-create-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to create the project group in the specified location. +* "benefitNotAvailable": Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": Project group with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-group-create-request + + +``` +type: object + description: Input for project group creation. +properties: + - name: type: string + - description: type: string + - location: type: string +``` + +## Model: project-group-create-response + + +``` +type: object + description: The Project Group Create response. +properties: + - id: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - location: $ref: #/components/schemas/folder-v2 + - shortId: type: string + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task CreateProjectGroupAsync(ProjectGroupCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `ProjectGroupCreateRequest` | no | + +### Java — `ProjectGroupApi` + +```java +// POST /project-groups?fields={fields} +ProjectGroupCreateResponse createProjectGroup(ProjectGroupCreateRequest projectGroupCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupCreateRequest` | `ProjectGroupCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateProjectTemplate.md b/articles/LCPublicAPI/aidocs/reference/CreateProjectTemplate.md new file mode 100644 index 0000000..b3eac74 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateProjectTemplate.md @@ -0,0 +1,1648 @@ +# Trados Cloud Platform API Create Project Template + +Create Project Template CreateProjectTemplate POST /project-templates + +- Friendly name: Create Project Template +- Operation ID: CreateProjectTemplate +- HTTP Method: POST +- Path: /project-templates + +Creates a new project template. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: project-template-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: project-template-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input mentioned in the “name” field on the error response. +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to create a project template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": A project template with the same name already exists in the same location. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-template-create-request + + +``` +type: object + description: Input for Project Template creation. +properties: + - name: type: string + - description: type: string + - location: type: string + - fileProcessingConfiguration: $ref: #/components/schemas/configuration-resource-request + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-request + - scheduleTemplate: $ref: #/components/schemas/configuration-resource-request + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - translationEngine: $ref: #/components/schemas/configuration-resource-request + - pricingModel: $ref: #/components/schemas/configuration-resource-request + - workflow: $ref: #/components/schemas/configuration-resource-request + - settings: $ref: #/components/schemas/project-template-settings-request +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: configuration-resource-request + + +``` +type: object + description: Resource configuration properties. +properties: + - id: type: string + - strategy: type: string enum: [copy, use] +``` + +## Model: project-manager-request + + +``` +type: object +properties: + - id: type: string + - type: type: string enum: [group, user] +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: project-template-settings-request + + +``` +type: object + description: Input for Project Template settings. +properties: + - general: $ref: #/components/schemas/project-template-general-settings-request + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: project-template-general-settings-request + + +``` +type: object + description: General settings +properties: + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/configuration-resource-request + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-quality-management-settings + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/configuration-resource-request +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectTemplateClient` + +```csharp +Task CreateProjectTemplateAsync(ProjectTemplateCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `ProjectTemplateCreateRequest` | no | + +### Java — `ProjectTemplateApi` + +```java +// POST /project-templates?fields={fields} +ProjectTemplateResponse createProjectTemplate(ProjectTemplateCreateRequest projectTemplateCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateCreateRequest` | `ProjectTemplateCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateRole.md b/articles/LCPublicAPI/aidocs/reference/CreateRole.md new file mode 100644 index 0000000..1961234 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateRole.md @@ -0,0 +1,186 @@ +# Trados Cloud Platform API Create Role + +Create Role CreateRole POST /roles + +- Friendly name: Create Role +- Operation ID: CreateRole +- HTTP Method: POST +- Path: /roles + +Creates a custom role. + +See [List Permissions](#/operations/ListPermissions) for available permission names. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: role-create-request (see model section below) + +## Response + +### 200 + + + +- Content: application/json +- Schema: role (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the request mentioned in the “name” field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to create the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* “duplicate”: Role with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: role-create-request + + +``` +type: object + description: Role create request. +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: role-update-request + + +``` +type: object + description: Role update request. +properties: + - name: type: string + - description: type: string + - permissions: type: array + items: + type: string +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task CreateRoleAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `RoleAndPermissionApi` + +```java +// POST /roles?fields={fields} +Role createRole(String fields, RoleCreateRequest roleCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `roleCreateRequest` | `RoleCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateScheduleTemplate.md b/articles/LCPublicAPI/aidocs/reference/CreateScheduleTemplate.md new file mode 100644 index 0000000..f83f906 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateScheduleTemplate.md @@ -0,0 +1,237 @@ +# Trados Cloud Platform API Create Schedule Template + +Create Schedule Template CreateScheduleTemplate POST /schedule-templates + +- Friendly name: Create Schedule Template +- Operation ID: CreateScheduleTemplate +- HTTP Method: POST +- Path: /schedule-templates + +Creates a new schedule template. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: schedule-template-create-request (see model section below) + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: schedule-template (see model section below) + +### 400 + +Error responses: + +* “invalid”: invalid input on update schedule template model. +* "invalidLanguage": The language used in configurations is invalid. Check the error message for more details. +* "maxSize": The maximum size was exceeded for the value mentioned in the "name" or in the "description" fields. +* "invalidType": The value provided for the "taskTypeId" field is invalid. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to create a schedule template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": A schedule template with the same name already exists in the same location. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + + +## Model: schedule-template-create-request + + +``` +type: object + description: Schedule Template create request model +properties: + - name: type: string + - description: type: string + - location: type: string + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-request + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: schedule-template-configuration-request + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IScheduleTemplateClient` + +```csharp +Task CreateScheduleTemplateAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `ScheduleTemplateApi` + +```java +// POST /schedule-templates?fields={fields} +ScheduleTemplate createScheduleTemplate(String fields, ScheduleTemplateCreateRequest scheduleTemplateCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `scheduleTemplateCreateRequest` | `ScheduleTemplateCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateTermbase.md b/articles/LCPublicAPI/aidocs/reference/CreateTermbase.md new file mode 100644 index 0000000..6c0b4d0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateTermbase.md @@ -0,0 +1,291 @@ +# Trados Cloud Platform API Create Termbase + +Create Termbase CreateTermbase POST /termbases + +- Friendly name: Create Termbase +- Operation ID: CreateTermbase +- HTTP Method: POST +- Path: /termbases + +Creates a new termbase. +The termbase can be created with a termbase template by providing the templateId or by providing a custom termbaseStructure. +If only a `termbaseTemplateId` was provided, the termbase will be created using data from the template. +If only a `termbaseStructure` was provided, the termbase will be created using data from the structure. +If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + + +- Content: application/json + +- Schema: termbase-create-request (see model section below) + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: termbase (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to create a termbase. +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. +* "quotaReached": - You have reached the maximum allowable number of termbases for your account. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified location was not found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": There is already a termbase with the same name. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-create-request + + +``` +type: object + description: Termbase create request. +properties: + - name: type: string + - description: type: string + - copyright: type: string + - location: type: string + - termbaseTemplateId: type: string + - termbaseStructure: $ref: #/components/schemas/termbase-structure-create-request +``` + +## Model: termbase + + +``` +type: object + description: The termbase. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - termbaseStructure: $ref: #/components/schemas/termbase-structure + - numberOfEntries: type: number + - status: type: string enum: [ready, processingContent, exportingContent, deletingContent] + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-structure-create-request + + +``` +type: object + description: The termbase structure create request. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language-request + - fields: type: array + items: + $ref: #/components/schemas/termbase-field-create-request +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: termbase-structure + + +``` +type: object + description: The termbase structure. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-field-create-request + + +``` +type: object + description: The termbase field request. + +If dataType is `picklist` and pickListValues array is empty `allowCustomValues` must be true. +properties: + - name: type: string + - description: type: string + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task CreateTermbaseAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `TermbaseApi` + +```java +// POST /termbases?fields={fields} +Termbase createTermbase(String fields, TermbaseCreateRequest termbaseCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `termbaseCreateRequest` | `TermbaseCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateTermbaseEntry.md b/articles/LCPublicAPI/aidocs/reference/CreateTermbaseEntry.md new file mode 100644 index 0000000..6be3b63 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateTermbaseEntry.md @@ -0,0 +1,494 @@ +# Trados Cloud Platform API Create Termbase Entry + +Create Termbase Entry CreateTermbaseEntry POST /termbases/{termbaseId}/entries + +- Friendly name: Create Termbase Entry +- Operation ID: CreateTermbaseEntry +- HTTP Method: POST +- Path: /termbases/{termbaseId}/entries + +Creates a new termbase entry. For more information about how to use `fieldValueLinks` see [`Create termbase entry`](../docs/termbase/Termbase-entries.html#creating-a-termbase-entry). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: termbase-entry-create-request (see model section below) + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: termbase-entry (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "invalidLevel" : The termbaseFieldId is invalid for the current termbaseField type +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to create an entry. +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": The termbase cannot be updated as is currently being processed. +* "duplicate" : An entry with the same value already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-entry-create-request + + +``` +type: object + description: The termbase entry create request. +properties: + - humanReadableId: type: string + - languages: type: array + items: + $ref: #/components/schemas/termbase-entry-language-create-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-create-request +``` + +## Model: termbase-entry + + +``` +type: object + description: The termbase entry. +properties: + - id: type: string + - humanReadableId: type: string + - languages: type: array + items: + $ref: #/components/schemas/termbase-entry-language + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-entry-language-create-request + + +``` +type: object + description: The termbase entry language create request. +properties: + - language: $ref: #/components/schemas/language-request + - terms: type: array + items: + $ref: #/components/schemas/termbase-term-create-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-create-request +``` + +## Model: termbase-field-value-create-request + + +``` +type: object + description: The termbase field value create request. +properties: + - termbaseFieldId: type: string + - value: type: string + - fieldValueLinks: type: array + items: + $ref: #/components/schemas/termbase-field-value-link-create-request +``` + +## Model: termbase-entry-language + + +``` +type: object + description: The termbase entry language. +properties: + - id: type: string + - language: $ref: #/components/schemas/language + - terms: type: array + items: + $ref: #/components/schemas/termbase-entry-term + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifedBy: $ref: #/components/schemas/user +``` + +## Model: termbase-field-value + + +``` +type: object + description: The termbase field value. +properties: + - id: type: string + - name: type: string + - termbaseFieldId: type: string + - value: type: string + - fieldValueLinks: type: array + items: + $ref: #/components/schemas/termbase-field-value-link + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-term-create-request + + +``` +type: object + description: The termbase entry term request. +properties: + - text: type: string + - systemStatus: $ref: #/components/schemas/termbase-entry-term-system-status-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-create-request +``` + +## Model: termbase-field-value-link-create-request + + +``` +type: object + description: The field value link create request. +properties: + - type: type: string enum: [term, entry, external] + - value: type: string +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-entry-term + + +``` +type: object + description: The termbase entry term. +properties: + - id: type: string + - text: type: string + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user + - systemStatus: $ref: #/components/schemas/termbase-entry-term-system-status +``` + +## Model: termbase-field-value-link + + +``` +type: object + description: The field value link. +properties: + - type: type: string enum: [term, entry, external] + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: termbase-entry-term-system-status-request + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## Model: termbase-entry-term-system-status + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task CreateTermbaseEntryAsync(string termbaseId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TermbaseApi` + +```java +// POST /termbases/{termbaseId}/entries?fields={fields} +TermbaseEntry createTermbaseEntry(String termbaseId, String fields, TermbaseEntryCreateRequest termbaseEntryCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `fields` | `String` | no | +| `termbaseEntryCreateRequest` | `TermbaseEntryCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateTermbaseTemplate.md b/articles/LCPublicAPI/aidocs/reference/CreateTermbaseTemplate.md new file mode 100644 index 0000000..59b4738 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateTermbaseTemplate.md @@ -0,0 +1,264 @@ +# Trados Cloud Platform API Create Termbase Template + +Create Termbase Template CreateTermbaseTemplate POST /termbase-templates + +- Friendly name: Create Termbase Template +- Operation ID: CreateTermbaseTemplate +- HTTP Method: POST +- Path: /termbase-templates + +Creates a new termbase template. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: termbase-template-create-request (see model section below) + +## Response + +### 201 + +Created + +- Content: application/json +- Schema: termbase-template (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "duplicate": The field name must be unique within the list. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to create a termbase template in the specified location. +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified location was not found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": There is already a termbase template with the same name. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-template-create-request + + +``` +type: object + description: The termbase template create request. +properties: + - name: type: string + - description: type: string + - copyright: type: string + - location: type: string + - languages: type: array + items: + $ref: #/components/schemas/language-request + - fields: type: array + items: + $ref: #/components/schemas/termbase-field-create-request +``` + +## Model: termbase-template + + +``` +type: object + description: The termbase template. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) + - type: type: string enum: [system, userDefined] + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-field-create-request + + +``` +type: object + description: The termbase field request. + +If dataType is `picklist` and pickListValues array is empty `allowCustomValues` must be true. +properties: + - name: type: string + - description: type: string + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task CreateTermbaseTemplateAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `TermbaseTemplateApi` + +```java +// POST /termbase-templates?fields={fields} +TermbaseTemplate createTermbaseTemplate(String fields, TermbaseTemplateCreateRequest termbaseTemplateCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `termbaseTemplateCreateRequest` | `TermbaseTemplateCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/CreateTranslationMemory.md new file mode 100644 index 0000000..e26c504 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateTranslationMemory.md @@ -0,0 +1,455 @@ +# Trados Cloud Platform API Create Translation Memory + +Create Translation Memory CreateTranslationMemory POST /translation-memory + +- Friendly name: Create Translation Memory +- Operation ID: CreateTranslationMemory +- HTTP Method: POST +- Path: /translation-memory + +Create a new Translation Memory. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: translation-memory-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: translation-memory-base (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "minSize": Minimum size not met for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-create-request + + +``` +type: object + description: The model to use when creating a new Translation Memory. +properties: + - name: type: string + - description: type: string + - copyright: type: string + - location: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - languageProcessingRuleId: type: string + - fieldTemplateId: type: string +``` + +## Model: translation-memory-base + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder + - languageDirections: type: array + items: + $ref: #/components/schemas/translation-memory-language-direction + - languageProcessingRule: $ref: #/components/schemas/language-processing-rule + - fieldTemplate: $ref: #/components/schemas/translation-memory-field-template + - createdDateTime: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-language-direction + + +``` +type: object + description: A language direction representation specific to translation memories. +properties: + - languageDirection: $ref: #/components/schemas/simple-language-direction + - translationUnits: type: integer + - unalignedTranslationUnits: type: integer +``` + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: simple-language-direction + + +``` +type: object + description: A basic language direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task CreateTranslationMemoryAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// POST /translation-memory?fields={fields} +TranslationMemoryBase createTranslationMemory(String fields, TranslationMemoryCreateRequest translationMemoryCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `translationMemoryCreateRequest` | `TranslationMemoryCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateUser.md b/articles/LCPublicAPI/aidocs/reference/CreateUser.md new file mode 100644 index 0000000..08a26e6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateUser.md @@ -0,0 +1,339 @@ +# Trados Cloud Platform API Create User + +Create User CreateUser POST /users + +- Friendly name: Create User +- Operation ID: CreateUser +- HTTP Method: POST +- Path: /users + +Creates a new user in an account. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: user-create-request (see model section below) + +## Response + +### 201 + + + +- Content: application/json +- Schema: user (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in “name” field on the error response. +* “maxSize“: The maximum size was exceeded for the value mentioned in the "name" field. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error responses: +* “duplicate”: duplicate value for the field mentioned in the error details. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: user-create-request + + +``` +type: object + description: If you need to create a Service User, send only the `serviceUserDetails` object and omit the `userDetails`object, vice-versa for a normal user. +properties: + - groups: type: array + items: + $ref: #/components/schemas/object-id + - location: type: string + - serviceUserDetails: $ref: #/components/schemas/service-user-details + - userDetails: $ref: #/components/schemas/user-details +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: object-id + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: service-user-details + + +``` +type: object + description: The account details. Provide these to create a Service User. +properties: + - name: type: string + - description: type: string +``` + +## Model: user-details + + +``` +type: object + description: The account details. Provide these to invite a user. +properties: + - membership: $ref: #/components/schemas/account-membership-type + - email: type: string (format: email) + - firstName: type: string + - lastName: type: string + - invitationMessage: type: string + - sendInvitationEmail: type: boolean + - inviteInCustomerPortal: type: boolean +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task CreateUserAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `UserApi` + +```java +// POST /users?fields={fields} +User createUser(String fields, UserCreateRequest userCreateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `userCreateRequest` | `UserCreateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateVendor.md b/articles/LCPublicAPI/aidocs/reference/CreateVendor.md new file mode 100644 index 0000000..d63417b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateVendor.md @@ -0,0 +1,387 @@ +# Trados Cloud Platform API Create Vendor + +Create Vendor CreateVendor POST /vendors + +- Friendly name: Create Vendor +- Operation ID: CreateVendor +- HTTP Method: POST +- Path: /vendors + +Creates a new vendor organization. A vendor represents an external LSP that can be assigned translation tasks. The key contact provided will become the primary point of contact for the vendor. + +Creating a vendor automatically provisions a dedicated folder and a `VendorProjectManager` group within the account hierarchy. + +**Managing vendor members:** Users can be added to a vendor by inviting them via the [Create User](#/operations/CreateUser) endpoint, specifying the auto-created `VendorProjectManager` group as one of the `groups` in the request. Users can be removed from the vendor by removing them from that group using the [Update Group](#/operations/UpdateGroup) or [Update User](#/operations/UpdateUser) endpoints. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: vendor-create-request (see model section below) + +## Response + +### 201 + +Vendor created successfully. + +- Content: application/json +- Schema: vendor (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. +* "empty": Empty input in the body parameter mentioned in the "name" field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to create vendor order templates. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* “duplicate”: duplicate value for the field mentioned in the error details. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor-create-request + + +``` +type: object + description: Request body for creating a new vendor. Creating a vendor automatically provisions a dedicated folder and a `VendorProjectManager` group. +properties: + - name: type: string + - description: type: string + - keyContact: $ref: #/components/schemas/key-contact + - selfManaged: type: boolean + - quoteTemplateId: type: string + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request +``` + +## Model: vendor + + +``` +type: object + description: Represents an external LSP (Language Service Provider) organization that can be assigned translation tasks through vendor order templates. +properties: + - id: type: string + - name: type: string + - description: type: string + - keyContact: $ref: #/components/schemas/user + - vendorFolder: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - selfManaged: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - members: type: array + items: + $ref: #/components/schemas/user + - customFields: type: array + items: + $ref: #/components/schemas/custom-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: key-contact + + +``` +type: object + description: The key contact of a vendor — the primary point of contact within the LSP organization. +properties: + - firstName: type: string + - lastName: type: string + - email: type: string (format: email) +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task CreateVendorAsync(VendorCreateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `VendorCreateRequest` | no | + +### Java — `VendorApi` + +```java +// POST /vendors?fields={fields} +Vendor createVendor(VendorCreateRequest vendorCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorCreateRequest` | `VendorCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/CreateVendorOrderTemplate.md b/articles/LCPublicAPI/aidocs/reference/CreateVendorOrderTemplate.md new file mode 100644 index 0000000..3a8409a --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/CreateVendorOrderTemplate.md @@ -0,0 +1,625 @@ +# Trados Cloud Platform API Create Vendor Order Template + +Create Vendor Order Template CreateVendorOrderTemplate POST /vendors/{vendorId}/order-templates + +- Friendly name: Create Vendor Order Template +- Operation ID: CreateVendorOrderTemplate +- HTTP Method: POST +- Path: /vendors/{vendorId}/order-templates + +Creates a new vendor order template for the specified vendor. + +For more information on creating vendor order templates, see [Creating order templates for vendors](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/creating-order-templates-for-vendors-708439). + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: vendor-order-template-create-request (see model section below) + +## Response + +### 201 + +Vendor Order Template created successfully. + +- Content: application/json +- Schema: vendor-order-template-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. +* "empty": Empty input in the body parameter mentioned in the "name" field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to create vendor order templates. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor-order-template-create-request + + +``` +type: object + description: Request body for creating a new vendor order template. +properties: + - name: type: string + - description: type: string + - allowQuoteEditing: type: boolean + - serviceTypes: type: array + items: + type: string + - pricingModelId: type: string + - quoteConfiguration: $ref: #/components/schemas/vendor-order-template-quote-configuration + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - languagePairs: type: array + items: + $ref: #/components/schemas/language-pair + - assignments: type: array + items: + $ref: #/components/schemas/vot-configuration +``` + +## Model: vendor-order-template-response + + +``` +type: object + description: A vendor order template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - allowQuoteEditing: type: boolean + - serviceTypes: type: array + items: + $ref: #/components/schemas/translation-service-type + - pricingModel: $ref: #/components/schemas/pricing-model + - quoteConfiguration: $ref: #/components/schemas/vendor-order-template-quote-configuration + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - languagePairs: type: array + items: + $ref: #/components/schemas/language-pair + - assignments: type: array + items: + $ref: #/components/schemas/vot-configuration-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: vendor-order-template-quote-configuration + + +``` +type: object + description: Controls when and how the vendor quote is generated. +properties: + - behaviour: $ref: #/components/schemas/vot-quote-behaviour + - holdingDelay: type: integer +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: vot-configuration + + +``` +type: object + description: Assignee and manager assignment for a specific language pair. Every language pair listed in `languagePairs` must have exactly one corresponding entry in `assignments`. +properties: + - languagePair: $ref: #/components/schemas/language-pair + - managers: type: array + items: + $ref: #/components/schemas/vot-person-request + - assignees: type: array + items: + $ref: #/components/schemas/vot-person-request +``` + +## Model: translation-service-type + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: vot-configuration-response + + +``` +type: object + description: Assignee and manager assignment for a specific language pair. Every language pair listed in `languagePairs` must have exactly one corresponding entry in `assignments`. +properties: + - languagePair: $ref: #/components/schemas/language-pair + - managers: type: array + items: + $ref: #/components/schemas/vot-person-response + - assignees: type: array + items: + $ref: #/components/schemas/vot-person-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: vot-quote-behaviour + + +``` +type: string enum: [waitForAllFiles, perFileQuote, finalQuoteAfterBatchCompleted, quoteBeforeCustomerQuoteGeneration] +``` + +## Model: vot-person-request + + +``` +type: object + description: A user or group assigned as a manager or assignee on a vendor order template. When `type` is `user`, `id` is the identifier of a user present in the vendor's `members` list. When `type` is `group`, `id` is the identifier of a group present in the vendor's `groups` list. +properties: + - type: type: string enum: [user, group] + - id: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: vot-person-response + + +``` +type: object + description: A user or group assigned as a manager or assignee on a vendor order template. When `type` is `user`, the `user` object is populated. When `type` is `group`, the `group` object is populated. +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task CreateVendorOrderTemplateAsync(VendorOrderTemplateCreateRequest vendorId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `VendorOrderTemplateCreateRequest` | yes | +| `fields` | `string` | no | + +### Java — `VendorApi` + +```java +// POST /vendors/{vendorId}/order-templates?fields={fields} +VendorOrderTemplateResponse createVendorOrderTemplate(String vendorId, VendorOrderTemplateCreateRequest vendorOrderTemplateCreateRequest, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `vendorOrderTemplateCreateRequest` | `VendorOrderTemplateCreateRequest` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteApplication.md b/articles/LCPublicAPI/aidocs/reference/DeleteApplication.md new file mode 100644 index 0000000..c3bf654 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteApplication.md @@ -0,0 +1,90 @@ +# Trados Cloud Platform API Delete Application + +Delete Application DeleteApplication DELETE /applications/{applicationId} + +- Friendly name: Delete Application +- Operation ID: DeleteApplication +- HTTP Method: DELETE +- Path: /applications/{applicationId} + +Deletes an integration application. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IIntegrationClient` + +```csharp +Task DeleteApplicationAsync(string applicationId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `string` | yes | + +### Java — `IntegrationApi` + +```java +// DELETE /applications/{applicationId} +void deleteApplication(String applicationId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteCustomer.md b/articles/LCPublicAPI/aidocs/reference/DeleteCustomer.md new file mode 100644 index 0000000..b99d201 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteCustomer.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Delete Customer + +Delete Customer DeleteCustomer DELETE /customers/{customerId} + +- Friendly name: Delete Customer +- Operation ID: DeleteCustomer +- HTTP Method: DELETE +- Path: /customers/{customerId} + +Deletes a customer. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the customer. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the customer could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": there might be resources that are still `attached`. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ICustomerClient` + +```csharp +Task DeleteCustomerAsync(string customerId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `string` | yes | + +### Java — `CustomerApi` + +```java +// DELETE /customers/{customerId} +void deleteCustomer(String customerId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteGroup.md b/articles/LCPublicAPI/aidocs/reference/DeleteGroup.md new file mode 100644 index 0000000..9d4b4b9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteGroup.md @@ -0,0 +1,99 @@ +# Trados Cloud Platform API Delete Group + +Delete Group DeleteGroup DELETE /groups/{groupId} + +- Friendly name: Delete Group +- Operation ID: DeleteGroup +- HTTP Method: DELETE +- Path: /groups/{groupId} + +Deletes a group by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + + +### 400 + +Error codes: +* “invalid”: Invalid input in the parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the Group. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IGroupClient` + +```csharp +Task DeleteGroupAsync(string groupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `string` | yes | + +### Java — `GroupApi` + +```java +// DELETE /groups/{groupId} +void deleteGroup(String groupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeletePerfectMatchFileMappingForFile.md b/articles/LCPublicAPI/aidocs/reference/DeletePerfectMatchFileMappingForFile.md new file mode 100644 index 0000000..5554d22 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeletePerfectMatchFileMappingForFile.md @@ -0,0 +1,104 @@ +# Trados Cloud Platform API Delete PerfectMatch File Mapping For a File + +Delete PerfectMatch File Mapping For a File DeletePerfectMatchFileMappingForFile DELETE /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage} + +- Friendly name: Delete PerfectMatch File Mapping For a File +- Operation ID: DeletePerfectMatchFileMappingForFile +- HTTP Method: DELETE +- Path: /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage} + +Deletes a PerfectMatch file mapping for a specific file and target language. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task DeletePerfectMatchFileMappingForFileAsync(string mappingId, string batchMappingId, string fileMappingId, string targetLanguage); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `batchMappingId` | `string` | yes | +| `fileMappingId` | `string` | yes | +| `targetLanguage` | `string` | yes | + +### Java — `PerfectMatchMappingApi` + +```java +// DELETE /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage} +void deletePerfectMatchFileMappingForFile(String mappingId, String batchMappingId, String fileMappingId, String targetLanguage); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `batchMappingId` | `String` | yes | +| `fileMappingId` | `String` | yes | +| `targetLanguage` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeletePricingModel.md b/articles/LCPublicAPI/aidocs/reference/DeletePricingModel.md new file mode 100644 index 0000000..eb6547d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeletePricingModel.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Delete Pricing Model + +Delete Pricing Model DeletePricingModel DELETE /pricing-models/{pricingModelId} + +- Friendly name: Delete Pricing Model +- Operation ID: DeletePricingModel +- HTTP Method: DELETE +- Path: /pricing-models/{pricingModelId} + +Deletes a pricing model. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the pricing model. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the pricing model could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPricingModelClient` + +```csharp +Task DeletePricingModelAsync(string pricingModelId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `string` | yes | + +### Java — `PricingModelApi` + +```java +// DELETE /pricing-models/{pricingModelId} +void deletePricingModel(String pricingModelId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteProject.md b/articles/LCPublicAPI/aidocs/reference/DeleteProject.md new file mode 100644 index 0000000..daad16e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteProject.md @@ -0,0 +1,98 @@ +# Trados Cloud Platform API Delete Project + +Delete Project DeleteProject DELETE /projects/{projectId} + +- Friendly name: Delete Project +- Operation ID: DeleteProject +- HTTP Method: DELETE +- Path: /projects/{projectId} + +Deletes a project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task DeleteProjectAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// DELETE /projects/{projectId} +void deleteProject(String projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteProjectGroup.md b/articles/LCPublicAPI/aidocs/reference/DeleteProjectGroup.md new file mode 100644 index 0000000..6c71a0d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteProjectGroup.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Delete Project Group + +Delete Project Group DeleteProjectGroup DELETE /project-groups/{projectGroupId} + +- Friendly name: Delete Project Group +- Operation ID: DeleteProjectGroup +- HTTP Method: DELETE +- Path: /project-groups/{projectGroupId} + +Deletes a project group. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the project group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": there might be projects that are still `attaching`. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task DeleteProjectGroupAsync(string projectGroupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `string` | yes | + +### Java — `ProjectGroupApi` + +```java +// DELETE /project-groups/{projectGroupId} +void deleteProjectGroup(String projectGroupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteProjectTemplate.md b/articles/LCPublicAPI/aidocs/reference/DeleteProjectTemplate.md new file mode 100644 index 0000000..87e1a5f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteProjectTemplate.md @@ -0,0 +1,98 @@ +# Trados Cloud Platform API Delete Project Template + +Delete Project Template DeleteProjectTemplate DELETE /project-templates/{projectTemplateId} + +- Friendly name: Delete Project Template +- Operation ID: DeleteProjectTemplate +- HTTP Method: DELETE +- Path: /project-templates/{projectTemplateId} + +Deletes a project template by id. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the project template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectTemplateClient` + +```csharp +Task DeleteProjectTemplateAsync(string projectTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `string` | yes | + +### Java — `ProjectTemplateApi` + +```java +// DELETE /project-templates/{projectTemplateId} +void deleteProjectTemplate(String projectTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteRole.md b/articles/LCPublicAPI/aidocs/reference/DeleteRole.md new file mode 100644 index 0000000..79e201b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteRole.md @@ -0,0 +1,109 @@ +# Trados Cloud Platform API Delete Role + +Delete Role DeleteRole DELETE /roles/{roleId} + +- Friendly name: Delete Role +- Operation ID: DeleteRole +- HTTP Method: DELETE +- Path: /roles/{roleId} + +Deletes a role by identifier. + +> Note: Only custom roles can be deleted. Provisioned roles cannot be removed. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response, or provisioned roles cannot be deleted. +* "empty": Empty input for the "roleId" path parameter variable. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the role. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the role could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task DeleteRoleAsync(string roleId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `string` | yes | + +### Java — `RoleAndPermissionApi` + +```java +// DELETE /roles/{roleId} +void deleteRole(String roleId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteScheduleTemplate.md b/articles/LCPublicAPI/aidocs/reference/DeleteScheduleTemplate.md new file mode 100644 index 0000000..c8617a3 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteScheduleTemplate.md @@ -0,0 +1,98 @@ +# Trados Cloud Platform API Delete Schedule Template + +Delete Schedule Template DeleteScheduleTemplate DELETE /schedule-templates/{scheduleTemplateId} + +- Friendly name: Delete Schedule Template +- Operation ID: DeleteScheduleTemplate +- HTTP Method: DELETE +- Path: /schedule-templates/{scheduleTemplateId} + +Deletes a schedule template. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the schedule template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the schedule template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IScheduleTemplateClient` + +```csharp +Task DeleteScheduleTemplateAsync(string scheduleTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `string` | yes | + +### Java — `ScheduleTemplateApi` + +```java +// DELETE /schedule-templates/{scheduleTemplateId} +void deleteScheduleTemplate(String scheduleTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteTermbase.md b/articles/LCPublicAPI/aidocs/reference/DeleteTermbase.md new file mode 100644 index 0000000..6c33468 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteTermbase.md @@ -0,0 +1,107 @@ +# Trados Cloud Platform API Delete Termbase + +Delete Termbase DeleteTermbase DELETE /termbases/{termbaseId} + +- Friendly name: Delete Termbase +- Operation ID: DeleteTermbase +- HTTP Method: DELETE +- Path: /termbases/{termbaseId} + +Deletes a termbase by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the termbase +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the termbase could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": The termbase cannot be deleted as is currently being processed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task DeleteTermbaseAsync(string termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// DELETE /termbases/{termbaseId} +void deleteTermbase(String termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntries.md b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntries.md new file mode 100644 index 0000000..f80451b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntries.md @@ -0,0 +1,91 @@ +# Trados Cloud Platform API Delete Termbase Entries + +Delete Termbase Entries DeleteTermbaseEntries DELETE /termbases/{termbaseId}/entries + +- Friendly name: Delete Termbase Entries +- Operation ID: DeleteTermbaseEntries +- HTTP Method: DELETE +- Path: /termbases/{termbaseId}/entries + +Deletes all the entries in the termbase. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to delete an entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task DeleteTermbaseEntriesAsync(string termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// DELETE /termbases/{termbaseId}/entries +void deleteTermbaseEntries(String termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntry.md b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntry.md new file mode 100644 index 0000000..b9d238e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseEntry.md @@ -0,0 +1,93 @@ +# Trados Cloud Platform API Delete Termbase Entry + +Delete Termbase Entry DeleteTermbaseEntry DELETE /termbases/{termbaseId}/entries/{entryId} + +- Friendly name: Delete Termbase Entry +- Operation ID: DeleteTermbaseEntry +- HTTP Method: DELETE +- Path: /termbases/{termbaseId}/entries/{entryId} + +Deletes a termbase entry. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to delete the termbase entries. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task DeleteTermbaseEntryAsync(string termbaseId, string entryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `entryId` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// DELETE /termbases/{termbaseId}/entries/{entryId} +void deleteTermbaseEntry(String termbaseId, String entryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `entryId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseTemplate.md b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseTemplate.md new file mode 100644 index 0000000..4640e21 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteTermbaseTemplate.md @@ -0,0 +1,107 @@ +# Trados Cloud Platform API Delete Termbase Template + +Delete Termbase Template DeleteTermbaseTemplate DELETE /termbase-templates/{termbaseTemplateId} + +- Friendly name: Delete Termbase Template +- Operation ID: DeleteTermbaseTemplate +- HTTP Method: DELETE +- Path: /termbase-templates/{termbaseTemplateId} + +Deletes a termbase template by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the termbase template +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the termbase template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": cannot delete system termbase templates + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task DeleteTermbaseTemplateAsync(string termbaseTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `string` | yes | + +### Java — `TermbaseTemplateApi` + +```java +// DELETE /termbase-templates/{termbaseTemplateId} +void deleteTermbaseTemplate(String termbaseTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/DeleteTranslationMemory.md new file mode 100644 index 0000000..ee8acb7 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteTranslationMemory.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Delete Translation Memory + +Delete Translation Memory DeleteTranslationMemory DELETE /translation-memory/{translationMemoryId} + +- Friendly name: Delete Translation Memory +- Operation ID: DeleteTranslationMemory +- HTTP Method: DELETE +- Path: /translation-memory/{translationMemoryId} + +Deletes a Translation Memory. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation memory could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task DeleteTranslationMemoryAsync(string translationMemoryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | + +### Java — `TranslationMemoryApi` + +```java +// DELETE /translation-memory/{translationMemoryId} +void deleteTranslationMemory(String translationMemoryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteUser.md b/articles/LCPublicAPI/aidocs/reference/DeleteUser.md new file mode 100644 index 0000000..ee7b951 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteUser.md @@ -0,0 +1,89 @@ +# Trados Cloud Platform API Delete User + +Delete User DeleteUser DELETE /users/{userId} + +- Friendly name: Delete User +- Operation ID: DeleteUser +- HTTP Method: DELETE +- Path: /users/{userId} + +Deletes a user. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Invalid input in userId field. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task DeleteUserAsync(string userId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `string` | yes | + +### Java — `UserApi` + +```java +// DELETE /users/{userId} +void deleteUser(String userId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteVendor.md b/articles/LCPublicAPI/aidocs/reference/DeleteVendor.md new file mode 100644 index 0000000..4b95438 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteVendor.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Delete Vendor + +Delete Vendor DeleteVendor DELETE /vendors/{vendorId} + +- Friendly name: Delete Vendor +- Operation ID: DeleteVendor +- HTTP Method: DELETE +- Path: /vendors/{vendorId} + +Deletes a vendor by identifier. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the vendor. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the vendor cannot be deleted because its folder contains resources that must be removed first. The error details describe which resources are blocking deletion. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task DeleteVendorAsync(string vendorId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `string` | yes | + +### Java — `VendorApi` + +```java +// DELETE /vendors/{vendorId} +void deleteVendor(String vendorId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DeleteVendorOrderTemplate.md b/articles/LCPublicAPI/aidocs/reference/DeleteVendorOrderTemplate.md new file mode 100644 index 0000000..22f2774 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DeleteVendorOrderTemplate.md @@ -0,0 +1,108 @@ +# Trados Cloud Platform API Delete Vendor Order Template + +Delete Vendor Order Template DeleteVendorOrderTemplate DELETE /vendors/{vendorId}/order-templates/{orderTemplateId} + +- Friendly name: Delete Vendor Order Template +- Operation ID: DeleteVendorOrderTemplate +- HTTP Method: DELETE +- Path: /vendors/{vendorId}/order-templates/{orderTemplateId} + +Deletes a vendor order template by identifier. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to delete the vendor order template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor order template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task DeleteVendorOrderTemplateAsync(string vendorId, string orderTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `string` | yes | +| `orderTemplateId` | `string` | yes | + +### Java — `VendorApi` + +```java +// DELETE /vendors/{vendorId}/order-templates/{orderTemplateId} +void deleteVendorOrderTemplate(String vendorId, String orderTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `orderTemplateId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadExportedPackage.md b/articles/LCPublicAPI/aidocs/reference/DownloadExportedPackage.md new file mode 100644 index 0000000..13a8c0d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadExportedPackage.md @@ -0,0 +1,113 @@ +# Trados Cloud Platform API Download Exported Package + +Download Exported Package DownloadExportedPackage GET /packages/export/download/{exportId} + +- Friendly name: Download Exported Package +- Operation ID: DownloadExportedPackage +- HTTP Method: GET +- Path: /packages/export/download/{exportId} + +Downloads an exported package with the .sdlppx extension. + +## Parameters + +- **exportId** (path, string) - required: The export operation identifier. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to view task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Package could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": Cannot download package export if status is not done. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPackageClient` + +```csharp +Task DownloadExportedPackageAsync(string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `string` | yes | + +### Java — `PackageApi` + +```java +// GET /packages/export/download/{exportId} +void downloadExportedPackage(String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadExportedTargetFileVersion.md b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTargetFileVersion.md new file mode 100644 index 0000000..dbe0db6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTargetFileVersion.md @@ -0,0 +1,118 @@ +# Trados Cloud Platform API Download Exported Target File Version + +Download Exported Target File Version DownloadExportedTargetFileVersion GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId}/download + +- Friendly name: Download Exported Target File Version +- Operation ID: DownloadExportedTargetFileVersion +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId}/download + +Downloads a completed target file version via an export operation. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": not allowed to download the exported target file + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": the export is not completed +* "conflict": the export is not in a downloadable state due to another export, or the workflow has progressed since this export was requested + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task DownloadExportedTargetFileVersionAsync(string projectId, string targetFileId, string fileVersionId, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | +| `exportId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId}/download +FileResponse downloadExportedTargetFileVersion(String projectId, String targetFileId, String fileVersionId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadExportedTermbase.md b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTermbase.md new file mode 100644 index 0000000..f837d81 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTermbase.md @@ -0,0 +1,105 @@ +# Trados Cloud Platform API Download Exported Termbase + +Download Exported Termbase DownloadExportedTermbase GET /termbases/{termbaseId}/exports/{exportId}/download + +- Friendly name: Download Exported Termbase +- Operation ID: DownloadExportedTermbase +- HTTP Method: GET +- Path: /termbases/{termbaseId}/exports/{exportId}/download + +Downloads the exported termbase when the poll operation status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified termbase or export was not found. + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseExportClient` + +```csharp +Task DownloadExportedTermbaseAsync(string termbaseId, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `exportId` | `string` | yes | + +### Java — `TermbaseExportApi` + +```java +// GET /termbases/{termbaseId}/exports/{exportId}/download +File downloadExportedTermbase(String termbaseId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadExportedTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTranslationMemory.md new file mode 100644 index 0000000..e791750 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadExportedTranslationMemory.md @@ -0,0 +1,111 @@ +# Trados Cloud Platform API Download Exported Translation Memory + +Download Exported Translation Memory DownloadExportedTranslationMemory GET /translation-memory/exports/{exportId}/download + +- Friendly name: Download Exported Translation Memory +- Operation ID: DownloadExportedTranslationMemory +- HTTP Method: GET +- Path: /translation-memory/exports/{exportId}/download + +Downloads the exported translation memory in the `tmx.gz` format when the poll operation status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 400 + +Error codes: +* "invalid": Invalid `exportId` in the path parameters. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryExportClient` + +```csharp +Task DownloadExportedTranslationMemoryAsync(string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `string` | yes | + +### Java — `TranslationMemoryExportApi` + +```java +// GET /translation-memory/exports/{exportId}/download +File downloadExportedTranslationMemory(String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadFile.md b/articles/LCPublicAPI/aidocs/reference/DownloadFile.md new file mode 100644 index 0000000..605f959 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadFile.md @@ -0,0 +1,127 @@ +# Trados Cloud Platform API Download Exported Project Files + +Download Exported Project Files DownloadFile GET /projects/{projectId}/files/exports/{exportId}/download + +- Friendly name: Download Exported Project Files +- Operation ID: DownloadFile +- HTTP Method: GET +- Path: /projects/{projectId}/files/exports/{exportId}/download + +Downloads the generated `zip` file containing the files according to initial export operation parameters. + +The final ZIP file will be named using the project name. + + When the export operation is performed with `downloadFlat=true` and one target language specified, the resulting ZIP file name will be a combination of the project name and the target language code, as defined by the [Export Project Files](#/operations/ExportProjectFiles) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the file could not be found by identifier. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the export operation is not done yet. + + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task DownloadFileAsync(string projectId, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `exportId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// GET /projects/{projectId}/files/exports/{exportId}/download +FileResponse downloadFile(String projectId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadFileVersion.md b/articles/LCPublicAPI/aidocs/reference/DownloadFileVersion.md new file mode 100644 index 0000000..5f02469 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadFileVersion.md @@ -0,0 +1,125 @@ +# Trados Cloud Platform API Download Target File Version + +Download Target File Version DownloadFileVersion GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download + +- Friendly name: Download Target File Version +- Operation ID: DownloadFileVersion +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download + +Downloads the file version (native or BCM). + +If the `fileVersionId` path parameter represents a native file version, the native file will be downloaded. If the `fileVersionId` is an identifier of a version in [BCM format](../../BCM/BCM.NET_client_API.html), the BCM file will be downloaded. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": not allowed to download the file version. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the file version could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +error codes: +* "invalidType": the type of the file version cannot be downloaded. + +- Content: application/json +- Schema: error-response (see model section below) + +### 422 + +error codes: +* "maliciousContent": the file contains malicious content. The infected file cannot be downloaded. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task DownloadFileVersionAsync(string projectId, string targetFileId, string fileVersionId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download +FileResponse downloadFileVersion(String projectId, String targetFileId, String fileVersionId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadQuoteReport.md b/articles/LCPublicAPI/aidocs/reference/DownloadQuoteReport.md new file mode 100644 index 0000000..c6fbe23 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadQuoteReport.md @@ -0,0 +1,119 @@ +# Trados Cloud Platform API Download Exported Quote Report + +Download Exported Quote Report DownloadQuoteReport GET /projects/{projectId}/quote-report/download + +- Friendly name: Download Exported Quote Report +- Operation ID: DownloadQuoteReport +- HTTP Method: GET +- Path: /projects/{projectId}/quote-report/download + +Downloads a quote report generated by the [asynchronous export operation](#/operations/ExportQuoteReport). + +If the `exportId` query parameter is not provided, the last generated export quote will be downloaded. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **format** (query, string) - optional: The file format of the quote report. +- **exportId** (query, string) - optional: The export identifier. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IQuoteClient` + +```csharp +Task DownloadQuoteReportAsync(string projectId, Format2? format = null, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `format` | `Format2` | no | +| `exportId` | `string` | yes | + +### Java — `QuoteApi` + +```java +// GET /projects/{projectId}/quote-report/download?format={format}&exportId={exportId} +File downloadQuoteReport(String projectId, String format, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `format` | `String` | no | +| `exportId` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadSourceFileVersion.md b/articles/LCPublicAPI/aidocs/reference/DownloadSourceFileVersion.md new file mode 100644 index 0000000..366bfb5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadSourceFileVersion.md @@ -0,0 +1,116 @@ +# Trados Cloud Platform API Download Source File Version + +Download Source File Version DownloadSourceFileVersion GET /projects/{projectId}/source-files/{sourceFileId}/versions/{fileVersionId}/download + +- Friendly name: Download Source File Version +- Operation ID: DownloadSourceFileVersion +- HTTP Method: GET +- Path: /projects/{projectId}/source-files/{sourceFileId}/versions/{fileVersionId}/download + +Downloads a source file version. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project, the source file or the file version could not be found by identifier. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 422 + +error codes: +* "maliciousContent": the file contains malicious content. The infected file cannot be downloaded. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task DownloadSourceFileVersionAsync(string projectId, string sourceFileId, string fileVersionId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `sourceFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | + +### Java — `SourceFileApi` + +```java +// GET /projects/{projectId}/source-files/{sourceFileId}/versions/{fileVersionId}/download +FileResponse downloadSourceFileVersion(String projectId, String sourceFileId, String fileVersionId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseDefinition.md b/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseDefinition.md new file mode 100644 index 0000000..099d9fa --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseDefinition.md @@ -0,0 +1,95 @@ +# Trados Cloud Platform API Export Termbase Template + +Export Termbase Template DownloadTermbaseDefinition GET /termbases/{termbaseId}/export-template + +- Friendly name: Export Termbase Template +- Operation ID: DownloadTermbaseDefinition +- HTTP Method: GET +- Path: /termbases/{termbaseId}/export-template + +Downloads the termbase definition. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseExportClient` + +```csharp +Task DownloadTermbaseDefinitionAsync(string termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | + +### Java — `TermbaseExportApi` + +```java +// GET /termbases/{termbaseId}/export-template +File downloadTermbaseDefinition(String termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseImportLog.md b/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseImportLog.md new file mode 100644 index 0000000..2dc578d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/DownloadTermbaseImportLog.md @@ -0,0 +1,111 @@ +# Trados Cloud Platform API Download Termbase Import Logs + +Download Termbase Import Logs DownloadTermbaseImportLog GET /termbases/{termbaseId}/imports/{importId}/logs + +- Friendly name: Download Termbase Import Logs +- Operation ID: DownloadTermbaseImportLog +- HTTP Method: GET +- Path: /termbases/{termbaseId}/imports/{importId}/logs + +Downloads the termbase import logs. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/octet-stream +``` +type: string (format: binary) +``` + +### 400 + +Error code: + * "invalid": the value specified in the field "name" of the errorDetails is not an accepted value. + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseImportClient` + +```csharp +Task DownloadTermbaseImportLogAsync(string termbaseId, string importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `importId` | `string` | yes | + +### Java — `TermbaseImportApi` + +```java +// GET /termbases/{termbaseId}/imports/{importId}/logs +File downloadTermbaseImportLog(String termbaseId, String importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `importId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportPackage.md b/articles/LCPublicAPI/aidocs/reference/ExportPackage.md new file mode 100644 index 0000000..2921c2e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportPackage.md @@ -0,0 +1,122 @@ +# Trados Cloud Platform API Export Package + +Export Package ExportPackage POST /packages/export + +- Friendly name: Export Package +- Operation ID: ExportPackage +- HTTP Method: POST +- Path: /packages/export + +Creates a task for exporting the selected tasks in a given number of packages, for more information check the [documentation](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/downloading-packages-for-translation-719552) on downloading packages for translation + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: package-export-request (see model section below) + +## Response + +### 200 + + + +- Content: application/json +``` +type: object +properties: + - exportIds: type: array + items: + type: string +``` + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to export the package. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: package-export-request + + +``` +type: object +properties: + - projectId: type: string + - taskIds: type: array + items: + type: string + - onlinePackage: type: boolean + - includeTM: type: boolean + - includeReferenceFiles: type: boolean + - splitByLanguage: type: boolean + - filesPerPackage: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPackageClient` + +```csharp +Task ExportPackageAsync(); +``` + +### Java — `PackageApi` + +```java +// POST /packages/export +ExportPackage200Response exportPackage(PackageExportRequest packageExportRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `packageExportRequest` | `PackageExportRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md b/articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md new file mode 100644 index 0000000..27aaf54 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md @@ -0,0 +1,161 @@ +# Trados Cloud Platform API Export Project Files + +Export Project Files ExportProjectFiles POST /projects/{projectId}/files/exports + +- Friendly name: Export Project Files +- Operation ID: ExportProjectFiles +- HTTP Method: POST +- Path: /projects/{projectId}/files/exports + +Generates an asynchronous export operation. To monitor the progress until completion, use the [Poll Project Files Export](../api/Public-API.v1-fv.html#/operations/ExportProjectFilesStatus) endpoint. + +This operation triggers the packaging of the project files into a `zip` format. + +> **WARNING** +> The export ID has a time-to-live (TTL) of 20 minutes, starting from when this export operation is initiated (not when the underlying async operation completes). Ensure you poll and download the export within this timeframe, or you will receive a `404 Not Found` error. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: zip-file-export-request (see model section below) + +## Response + +### 200 + +Export Operation was triggered successfully + +- Content: application/json +- Schema: zip-file-export-response (see model section below) + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to trigger an export on the specified project, or does not have access to the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: zip-file-export-request + + +``` +type: object +properties: + - referenceFiles: $ref: #/components/schemas/zip-file-export-reference-files-request + - targetFiles: $ref: #/components/schemas/zip-file-export-target-files-request +``` + +## Model: zip-file-export-response + + +``` +type: object +properties: + - exportId: type: string + - state: type: string enum: [created, processing, done, error] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: zip-file-export-reference-files-request + + +``` +type: object + description: Reference files associated with the project. +properties: + - include: type: boolean +``` + +## Model: zip-file-export-target-files-request + + +``` +type: object + description: Target files associated with the project. +properties: + - includeVersions: type: string enum: [currentVersion, none, nativeVersion] + - targetLanguages: type: array + items: + type: string + - downloadFlat: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task ExportProjectFilesAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// POST /projects/{projectId}/files/exports +ZipFileExportResponse exportProjectFiles(String projectId, ZipFileExportRequest zipFileExportRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `zipFileExportRequest` | `ZipFileExportRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportProjectFilesStatus.md b/articles/LCPublicAPI/aidocs/reference/ExportProjectFilesStatus.md new file mode 100644 index 0000000..42bbe81 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportProjectFilesStatus.md @@ -0,0 +1,127 @@ +# Trados Cloud Platform API Poll Project Files Export + +Poll Project Files Export ExportProjectFilesStatus GET /projects/{projectId}/files/exports/{exportId} + +- Friendly name: Poll Project Files Export +- Operation ID: ExportProjectFilesStatus +- HTTP Method: GET +- Path: /projects/{projectId}/files/exports/{exportId} + +Retrieves the state of the export operation. + + Once the state is marked as `done`, you can download the generated `zip` file using the following endpoint: [Download Exported Project Files](../api/Public-API.v1-fv.html#/operations/DownloadFile). + +> **WARNING** +> The export ID has a time-to-live (TTL) of 20 minutes, starting from when the export operation was initiated (not when the underlying async operation completes). If the TTL expires, this endpoint will return a `404 Not Found` error. Ensure you poll and download the export within this timeframe. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **exportId** (path, string) - required: The export identifier. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: zip-file-export-response (see model section below) + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to retrieve the details of the export. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the export operation could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: zip-file-export-response + + +``` +type: object +properties: + - exportId: type: string + - state: type: string enum: [created, processing, done, error] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task ExportProjectFilesStatusAsync(string exportId, string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `string` | yes | +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// GET /projects/{projectId}/files/exports/{exportId} +ZipFileExportResponse exportProjectFilesStatus(String projectId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportQuoteReport.md b/articles/LCPublicAPI/aidocs/reference/ExportQuoteReport.md new file mode 100644 index 0000000..7c06124 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportQuoteReport.md @@ -0,0 +1,138 @@ +# Trados Cloud Platform API Export Quote Report + +Export Quote Report ExportQuoteReport POST /projects/{projectId}/quote-report/export + +- Friendly name: Export Quote Report +- Operation ID: ExportQuoteReport +- HTTP Method: POST +- Path: /projects/{projectId}/quote-report/export + +Generates an asynchronous quote export operation for the project in either PDF or Excel format. Use the [polling endpoint](../api/Public-API.v1-fv.html#/operations/PollQuoteReportExport) to check when the export is completed.

+Built-in quotes are only available in the same languages as the user interface. See [this page](https://docs.rws.com/791595/1084405/trados-enterprise---accelerate/ui-languages) for more information.
+Customers who use non-default quote templates are responsible for the implementation of a suitable localization approach. + +> **WARNING** +> The export ID has a time-to-live (TTL) of 20 minutes, starting from when this export operation is initiated (not when the underlying async operation completes). Ensure you poll and download the export within this timeframe, or you will receive a `404 Not Found` error. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **format** (query, string) - optional: The file format of the quote report. +- **languageId** (query, string) - optional: The language used for localization. + +## Request body + +No request body. + +## Response + +### 202 + +Accepted + +- Content: application/json +- Schema: export-quote-report-response (see model section below) + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the project is in a phase which doesn’t allow the quote to be exported. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: export-quote-report-response + + +``` +type: object + description: Export quote report response. +properties: + - id: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IQuoteClient` + +```csharp +Task ExportQuoteReportAsync(string projectId, Format2? format = null, string languageId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `format` | `Format2` | no | +| `languageId` | `string` | yes | + +### Java — `QuoteApi` + +```java +// POST /projects/{projectId}/quote-report/export?format={format}&languageId={languageId} +ExportQuoteReportResponse exportQuoteReport(String projectId, String format, String languageId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `format` | `String` | no | +| `languageId` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportTargetFileVersion.md b/articles/LCPublicAPI/aidocs/reference/ExportTargetFileVersion.md new file mode 100644 index 0000000..04ade0c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportTargetFileVersion.md @@ -0,0 +1,146 @@ +# Trados Cloud Platform API Export Target File Version + +Export Target File Version ExportTargetFileVersion POST /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports + +- Friendly name: Export Target File Version +- Operation ID: ExportTargetFileVersion +- HTTP Method: POST +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports + +Generates an asynchronous export operation. Use the [Get Target File Version Export](#/operations/PollTargetFileVersionExport) endpoint to poll until the export is completed. Used only for [BCM](../../BCM/BCM.NET_client_API.html) file versions. + +This operation triggers a conversion of the BCM target file version in a native or SDLXLIFF format, based on the value of the `format` query parameter used. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **format** (query, string) - optional: The file format. + +## Request body + +No request body. + +## Response + +### 202 + + + +- Content: application/json +- Schema: file-version-export (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to export the target file version. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project, the target file or the version could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidType": The type of the target file doesn't allow the export operation. +* "conflict": A target file version export is already in progress. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-version-export + + +``` +allOf: + - part0: + $ref: #/components/schemas/asynchronous-result + - part1: + type: object + properties: + - downloadUrl: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: asynchronous-result + + +``` +type: object + description: Represents the result of an asynchronous operation, including status and potential error information. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed] + - errorMessage: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task ExportTargetFileVersionAsync(string projectId, string targetFileId, string fileVersionId, Format? format = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | +| `format` | `Format` | no | + +### Java — `TargetFileApi` + +```java +// POST /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports?format={format} +FileVersionExport exportTargetFileVersion(String projectId, String targetFileId, String fileVersionId, String format); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | +| `format` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportTermbase.md b/articles/LCPublicAPI/aidocs/reference/ExportTermbase.md new file mode 100644 index 0000000..fd737ea --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportTermbase.md @@ -0,0 +1,139 @@ +# Trados Cloud Platform API Export Termbase + +Export Termbase ExportTermbase POST /termbases/{termbaseId}/exports + +- Friendly name: Export Termbase +- Operation ID: ExportTermbase +- HTTP Method: POST +- Path: /termbases/{termbaseId}/exports + +Generates an asynchronous export operation.
+Use the [Poll Export Termbase](#/operations/PollExportTermbase) endpoint to poll until the export status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +``` +type: object +properties: + - format: type: string enum: [xml, tbx] + - properties: $ref: #/components/schemas/termbase-export-properties-request +``` + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-export-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified termbase was not found. + + +## Model: termbase-export-properties-request + + +``` +type: object +properties: + - downloadCompressed: type: boolean +``` + +## Model: termbase-export-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, processing, done, cancelled, error] + - errorMessage: type: string + - downloadUrl: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseExportClient` + +```csharp +Task ExportTermbaseAsync(string termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | + +### Java — `TermbaseExportApi` + +```java +// POST /termbases/{termbaseId}/exports +TermbaseExportResponse exportTermbase(String termbaseId, ExportTermbaseRequest exportTermbaseRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `exportTermbaseRequest` | `ExportTermbaseRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ExportTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/ExportTranslationMemory.md new file mode 100644 index 0000000..db4c994 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ExportTranslationMemory.md @@ -0,0 +1,170 @@ +# Trados Cloud Platform API Export Translation Memory + +Export Translation Memory ExportTranslationMemory POST /translation-memory/{translationMemoryId}/exports + +- Friendly name: Export Translation Memory +- Operation ID: ExportTranslationMemory +- HTTP Method: POST +- Path: /translation-memory/{translationMemoryId}/exports + +Generates an asynchronous export operation. +Use the [Poll Translation Memory Export](#/operations/PollTranslationMemoryExport) endpoint to poll until the export status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: translation-memory-export-request (see model section below) + +## Response + +### 200 + +OK - returned when the `status` field has one of the following values: `failed`, `done`, `cancelled` + +- Content: application/json +- Schema: translation-memory-export-response (see model section below) + +### 202 + +Accepted - returned when the `status` field has one of the following values: `queued`, `inProgress` + +- Content: application/json +- Schema: translation-memory-export-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the request parameters. Either the `translationMemoryId` or the `sourceLanguageCode`/`targetLanguageCode` are invalid. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to export the translation memory. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-export-request + + +``` +type: object + description: +properties: + - languageDirection: $ref: #/components/schemas/translation-memory-export-language-direction +``` + +## Model: translation-memory-export-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, inProgress, failed, done, cancelled] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory-export-language-direction + + +``` +type: object + description: +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryExportClient` + +```csharp +Task ExportTranslationMemoryAsync(string translationMemoryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | + +### Java — `TranslationMemoryExportApi` + +```java +// POST /translation-memory/{translationMemoryId}/exports +TranslationMemoryExportResponse exportTranslationMemory(String translationMemoryId, TranslationMemoryExportRequest translationMemoryExportRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `translationMemoryExportRequest` | `TranslationMemoryExportRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetApplication.md b/articles/LCPublicAPI/aidocs/reference/GetApplication.md new file mode 100644 index 0000000..5df498d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetApplication.md @@ -0,0 +1,295 @@ +# Trados Cloud Platform API Get Application + +Get Application GetApplication GET /applications/{applicationId} + +- Friendly name: Get Application +- Operation ID: GetApplication +- HTTP Method: GET +- Path: /applications/{applicationId} + +Retrieves an integration application by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: application (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: application + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - enableApiAccess: type: boolean + - serviceUser: $ref: #/components/schemas/user + - apiAccess: type: object + description: API Access details. + properties: + - clientId: type: string + - clientSecret: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IIntegrationClient` + +```csharp +Task GetApplicationAsync(string applicationId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `IntegrationApi` + +```java +// GET /applications/{applicationId}?fields={fields} +Application getApplication(String applicationId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetCustomField.md b/articles/LCPublicAPI/aidocs/reference/GetCustomField.md new file mode 100644 index 0000000..235ebec --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetCustomField.md @@ -0,0 +1,165 @@ +# Trados Cloud Platform API Get Custom Field Definition + +Get Custom Field Definition GetCustomField GET /custom-field-definitions/{customFieldDefinitionId} + +- Friendly name: Get Custom Field Definition +- Operation ID: GetCustomField +- HTTP Method: GET +- Path: /custom-field-definitions/{customFieldDefinitionId} + +Retrieves a Custom Field by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: custom-field-definition (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to get the custom field definition. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: custom-field-definition + + +``` +type: object + description: The Custom Field definition. +properties: + - id: type: string + - name: type: string + - key: type: string + - description: type: string + - type: type: string enum: [long, double, boolean, date, string, checkbox, longtext, picklist, multiSelectPicklist] + - pickListOptions: type: array + items: + type: string + - resourceType: type: string enum: [project, customer, vendor, vendorOrderTemplate] + - isReadOnly: type: boolean + - defaultValue: type: string + - isMandatory: type: boolean + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ICustomFieldClient` + +```csharp +Task GetCustomFieldAsync(string customFieldDefinitionId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customFieldDefinitionId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `CustomFieldApi` + +```java +// GET /custom-field-definitions/{customFieldDefinitionId}?fields={fields} +CustomFieldDefinition getCustomField(String customFieldDefinitionId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customFieldDefinitionId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetCustomer.md b/articles/LCPublicAPI/aidocs/reference/GetCustomer.md new file mode 100644 index 0000000..db6e36c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetCustomer.md @@ -0,0 +1,316 @@ +# Trados Cloud Platform API Get Customer + +Get Customer GetCustomer GET /customers/{customerId} + +- Friendly name: Get Customer +- Operation ID: GetCustomer +- HTTP Method: GET +- Path: /customers/{customerId} + +Retrieves a customer by identifier. + +## Parameters + +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: customer (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + + + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ICustomerClient` + +```csharp +Task GetCustomerAsync(string customerId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `CustomerApi` + +```java +// GET /customers/{customerId}?fields={fields} +Customer getCustomer(String customerId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetFieldTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetFieldTemplate.md new file mode 100644 index 0000000..0c6cf5b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetFieldTemplate.md @@ -0,0 +1,183 @@ +# Trados Cloud Platform API Get Field Template + +Get Field Template GetFieldTemplate GET /translation-memory/field-templates/{fieldTemplateId} + +- Friendly name: Get Field Template +- Operation ID: GetFieldTemplate +- HTTP Method: GET +- Path: /translation-memory/field-templates/{fieldTemplateId} + +Get a single Field Template by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: translation-memory-field-template (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task GetFieldTemplateAsync(string fieldTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fieldTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// GET /translation-memory/field-templates/{fieldTemplateId}?fields={fields} +TranslationMemoryFieldTemplate getFieldTemplate(String fieldTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fieldTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetFileProcessingConfiguration.md b/articles/LCPublicAPI/aidocs/reference/GetFileProcessingConfiguration.md new file mode 100644 index 0000000..136ebab --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetFileProcessingConfiguration.md @@ -0,0 +1,155 @@ +# Trados Cloud Platform API Get File Processing Configuration + +Get File Processing Configuration GetFileProcessingConfiguration GET /file-processing-configurations/{fileProcessingConfigurationId} + +- Friendly name: Get File Processing Configuration +- Operation ID: GetFileProcessingConfiguration +- HTTP Method: GET +- Path: /file-processing-configurations/{fileProcessingConfigurationId} + +Retrieves a file processing configuration by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-processing-configuration (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": not allowed to read file processing configuration. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes +* "notFound": file processing configuration could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IFileProcessingConfigurationClient` + +```csharp +Task GetFileProcessingConfigurationAsync(string fileProcessingConfigurationId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `FileProcessingConfigurationApi` + +```java +// GET /file-processing-configurations/{fileProcessingConfigurationId}?fields={fields} +FileProcessingConfiguration getFileProcessingConfiguration(String fileProcessingConfigurationId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetFileTypeSetting.md b/articles/LCPublicAPI/aidocs/reference/GetFileTypeSetting.md new file mode 100644 index 0000000..2a7d0ae --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetFileTypeSetting.md @@ -0,0 +1,137 @@ +# Trados Cloud Platform API Get File Type Setting + +Get File Type Setting GetFileTypeSetting GET /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings/{fileTypeSettingId} + +- Friendly name: Get File Type Setting +- Operation ID: GetFileTypeSetting +- HTTP Method: GET +- Path: /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings/{fileTypeSettingId} + +Retrieves a file type setting by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-type-setting (see model section below) + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": not allowed to read file type setting. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes +* "notFound": file type setting could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-type-setting + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - typeId: type: string + - enabled: type: boolean + - excluded: type: boolean + - deprecated: type: boolean + - orderNumber: type: integer + - extensions: type: array + items: + type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileProcessingConfigurationClient` + +```csharp +Task GetFileTypeSettingAsync(string fileProcessingConfigurationId, string fileTypeSettingId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `string` | yes | +| `fileTypeSettingId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `FileProcessingConfigurationApi` + +```java +// GET /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings/{fileTypeSettingId}?fields={fields} +FileTypeSetting getFileTypeSetting(String fileProcessingConfigurationId, String fileTypeSettingId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `String` | yes | +| `fileTypeSettingId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetFolder.md b/articles/LCPublicAPI/aidocs/reference/GetFolder.md new file mode 100644 index 0000000..04120c8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetFolder.md @@ -0,0 +1,143 @@ +# Trados Cloud Platform API Get Folder + +Get Folder GetFolder GET /folders/{folderId} + +- Friendly name: Get Folder +- Operation ID: GetFolder +- HTTP Method: GET +- Path: /folders/{folderId} + +Retrieves a folder by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: folder (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the folder. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Folder could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFolderClient` + +```csharp +Task GetFolderAsync(string folderId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `folderId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `FolderApi` + +```java +// GET /folders/{folderId}?fields={fields} +Folder getFolder(String folderId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `folderId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetGroup.md b/articles/LCPublicAPI/aidocs/reference/GetGroup.md new file mode 100644 index 0000000..6fef4f9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetGroup.md @@ -0,0 +1,285 @@ +# Trados Cloud Platform API Get Group + +Get Group GetGroup GET /groups/{groupId} + +- Friendly name: Get Group +- Operation ID: GetGroup +- HTTP Method: GET +- Path: /groups/{groupId} + +Retrieves a group by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: group (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the Group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IGroupClient` + +```csharp +Task GetGroupAsync(string groupId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `GroupApi` + +```java +// GET /groups/{groupId}?fields={fields} +Group getGroup(String groupId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetImportHistory.md b/articles/LCPublicAPI/aidocs/reference/GetImportHistory.md new file mode 100644 index 0000000..d6e6127 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetImportHistory.md @@ -0,0 +1,146 @@ +# Trados Cloud Platform API Get Termbase Import History + +Get Termbase Import History GetImportHistory GET /termbases/{termbaseId}/imports + +- Friendly name: Get Termbase Import History +- Operation ID: GetImportHistory +- HTTP Method: GET +- Path: /termbases/{termbaseId}/imports + +Gets the import history for a termbase. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbase-import-history (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbase-import-history + + +``` +type: object +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase-import-history-response + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-import-history-response + + +``` +type: object +properties: + - id: type: string + - fileName: type: string + - fileSize: type: integer (format: int64) + - status: type: string enum: [pending, queued, processing, done, cancelled, failed, error] + - createdAt: $ref: #/components/schemas/date-time + - elapsedTime: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## SDK + +### .NET — `ITermbaseImportClient` + +```csharp +Task GetImportHistoryAsync(string termbaseId, string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `TermbaseImportApi` + +```java +// GET /termbases/{termbaseId}/imports?fields={fields}&top={top}&skip={skip} +ListTermbaseImportHistory getImportHistory(String termbaseId, String fields, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `fields` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetLanguageProcessingRule.md b/articles/LCPublicAPI/aidocs/reference/GetLanguageProcessingRule.md new file mode 100644 index 0000000..3f40d33 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetLanguageProcessingRule.md @@ -0,0 +1,126 @@ +# Trados Cloud Platform API Get Language Processing Rule + +Get Language Processing Rule GetLanguageProcessingRule GET /language-processing-rules/{languageProcessingRuleId} + +- Friendly name: Get Language Processing Rule +- Operation ID: GetLanguageProcessingRule +- HTTP Method: GET +- Path: /language-processing-rules/{languageProcessingRuleId} + +Returns a Language Processing Rule by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: language-processing-rule (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ILanguageProcessingClient` + +```csharp +Task GetLanguageProcessingRuleAsync(string languageProcessingRuleId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `languageProcessingRuleId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `LanguageProcessingApi` + +```java +// GET /language-processing-rules/{languageProcessingRuleId}?fields={fields} +LanguageProcessingRule getLanguageProcessingRule(String languageProcessingRuleId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `languageProcessingRuleId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetMyUser.md b/articles/LCPublicAPI/aidocs/reference/GetMyUser.md new file mode 100644 index 0000000..217aa12 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetMyUser.md @@ -0,0 +1,267 @@ +# Trados Cloud Platform API Get my User + +Get my User GetMyUser GET /users/me + +- Friendly name: Get my User +- Operation ID: GetMyUser +- HTTP Method: GET +- Path: /users/me + +Retrieves the authenticated user. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: user (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task GetMyUserAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `UserApi` + +```java +// GET /users/me?fields={fields} +User getMyUser(String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchCandidates.md b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchCandidates.md new file mode 100644 index 0000000..ba8f91d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchCandidates.md @@ -0,0 +1,2132 @@ +# Trados Cloud Platform API Get PerfectMatch Candidates + +Get PerfectMatch Candidates GetPerfectMatchCandidates GET /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage}/candidates + +- Friendly name: Get PerfectMatch Candidates +- Operation ID: GetPerfectMatchCandidates +- HTTP Method: GET +- Path: /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage}/candidates + +Retrieves a list of file candidates that can be selected for PerfectMatch. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-perfect-match-candidates-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-perfect-match-candidates-response + + +``` +type: object + description: A response for the Get PerfectMatch Candidates endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/perfect-match-candidate +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: perfect-match-candidate + + +``` +type: object + description: A project file that can be used as a match for PerfectMatch +properties: + - score: type: number (format: double) + - fileId: type: string + - project: $ref: #/components/schemas/project +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task GetPerfectMatchCandidatesAsync(string mappingId, string batchMappingId, string fileMappingId, string targetLanguage, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `batchMappingId` | `string` | yes | +| `fileMappingId` | `string` | yes | +| `targetLanguage` | `string` | yes | +| `fields` | `string` | no | + +### Java — `PerfectMatchMappingApi` + +```java +// GET /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage}/candidates?fields={fields} +ListPerfectMatchCandidatesResponse getPerfectMatchCandidates(String mappingId, String batchMappingId, String fileMappingId, String targetLanguage, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `batchMappingId` | `String` | yes | +| `fileMappingId` | `String` | yes | +| `targetLanguage` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchMapping.md b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchMapping.md new file mode 100644 index 0000000..522a80d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchMapping.md @@ -0,0 +1,2115 @@ +# Trados Cloud Platform API Get PerfectMatch Mapping + +Get PerfectMatch Mapping GetPerfectMatchMapping GET /perfect-match-mappings/{mappingId} + +- Friendly name: Get PerfectMatch Mapping +- Operation ID: GetPerfectMatchMapping +- HTTP Method: GET +- Path: /perfect-match-mappings/{mappingId} + +Retrieves the details of a PerfectMatch mapping. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: perfect-match-mapping-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-mapping-response + + +``` +type: object +properties: + - id: type: string + - project: $ref: #/components/schemas/project + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task GetPerfectMatchMappingAsync(string mappingId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `PerfectMatchMappingApi` + +```java +// GET /perfect-match-mappings/{mappingId}?fields={fields} +PerfectMatchMappingResponse getPerfectMatchMapping(String mappingId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetPricingModel.md b/articles/LCPublicAPI/aidocs/reference/GetPricingModel.md new file mode 100644 index 0000000..f104c67 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetPricingModel.md @@ -0,0 +1,301 @@ +# Trados Cloud Platform API Get Pricing Model + +Get Pricing Model GetPricingModel GET /pricing-models/{pricingModelId} + +- Friendly name: Get Pricing Model +- Operation ID: GetPricingModel +- HTTP Method: GET +- Path: /pricing-models/{pricingModelId} + +Retrieves a pricing model by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: pricing-model (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the pricing model. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## SDK + +### .NET — `IPricingModelClient` + +```csharp +Task GetPricingModelAsync(string pricingModelId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `PricingModelApi` + +```java +// GET /pricing-models/{pricingModelId}?fields={fields} +PricingModel getPricingModel(String pricingModelId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetProject.md b/articles/LCPublicAPI/aidocs/reference/GetProject.md new file mode 100644 index 0000000..9d28603 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetProject.md @@ -0,0 +1,2103 @@ +# Trados Cloud Platform API Get Project + +Get Project GetProject GET /projects/{projectId} + +- Friendly name: Get Project +- Operation ID: GetProject +- HTTP Method: GET +- Path: /projects/{projectId} + +Retrieves a project by identifier. + +For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). + +## Parameters + +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: project (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task GetProjectAsync(string projectId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `ProjectApi` + +```java +// GET /projects/{projectId}?fields={fields} +Project getProject(String projectId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetProjectConfiguration.md b/articles/LCPublicAPI/aidocs/reference/GetProjectConfiguration.md new file mode 100644 index 0000000..9d44a58 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetProjectConfiguration.md @@ -0,0 +1,179 @@ +# Trados Cloud Platform API Get Project Configuration + +Get Project Configuration GetProjectConfiguration GET /projects/{projectId}/configuration + +- Friendly name: Get Project Configuration +- Operation ID: GetProjectConfiguration +- HTTP Method: GET +- Path: /projects/{projectId}/configuration + +Get the configuration settings of an existing project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: project-configuration (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to get the project configuration. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-configuration + + +``` +type: object + description: The configuration settings for a project. +properties: + - translationMemoryFields: $ref: #/components/schemas/translation-memory-fields + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory-fields + + +``` +type: object +properties: + - settings: type: array + items: + $ref: #/components/schemas/translation-memory-fields-settings +``` + +## Model: update-translation-memory + + +``` +type: object +properties: + - settings: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-memory-fields-settings + + +``` +type: object + description: The configuration settings for Translation Memory Fields. +properties: + - name: type: string + - values: type: array + items: + type: string + - type: $ref: #/components/schemas/translation-memory-field-update-type +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: translation-memory-field-update-type + + +``` +type: string enum: [dateTime, singlePicklist, multiplePicklist, integer, singleString, multipleString] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task GetProjectConfigurationAsync(string projectId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `ProjectApi` + +```java +// GET /projects/{projectId}/configuration?fields={fields} +ProjectConfiguration getProjectConfiguration(String projectId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetProjectGroup.md b/articles/LCPublicAPI/aidocs/reference/GetProjectGroup.md new file mode 100644 index 0000000..31dd30f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetProjectGroup.md @@ -0,0 +1,174 @@ +# Trados Cloud Platform API Get Project Group + +Get Project Group GetProjectGroup GET /project-groups/{projectGroupId} + +- Friendly name: Get Project Group +- Operation ID: GetProjectGroup +- HTTP Method: GET +- Path: /project-groups/{projectGroupId} + +Retrieves a project group by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: project-group (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the project group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The project group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task GetProjectGroupAsync(string projectGroupId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `ProjectGroupApi` + +```java +// GET /project-groups/{projectGroupId}?fields={fields} +ProjectGroup getProjectGroup(String projectGroupId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetProjectTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetProjectTemplate.md new file mode 100644 index 0000000..5ed6de7 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetProjectTemplate.md @@ -0,0 +1,1524 @@ +# Trados Cloud Platform API Get Project Template + +Get Project Template GetProjectTemplate GET /project-templates/{projectTemplateId} + +- Friendly name: Get Project Template +- Operation ID: GetProjectTemplate +- HTTP Method: GET +- Path: /project-templates/{projectTemplateId} + +Retrieves a project template by identifier. + +For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: project-template-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the project template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectTemplateClient` + +```csharp +Task GetProjectTemplateAsync(string projectTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `ProjectTemplateApi` + +```java +// GET /project-templates/{projectTemplateId}?fields={fields} +ProjectTemplateResponse getProjectTemplate(String projectTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetPublicKey.md b/articles/LCPublicAPI/aidocs/reference/GetPublicKey.md new file mode 100644 index 0000000..7581654 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetPublicKey.md @@ -0,0 +1,102 @@ +# Trados Cloud Platform API Get Public Key + +Get Public Key GetPublicKey GET /.well-known/jwks.json/{kid} + +- Friendly name: Get Public Key +- Operation ID: GetPublicKey +- HTTP Method: GET +- Path: /.well-known/jwks.json/{kid} + +Retrieves a public key by it's identifier. + +## Parameters + +No parameters. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: jwk (see model section below) + +### 404 + +Error codes: +* "notFound": the public key could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: jwk + + +``` +type: object + description: A Json Web Key. +
+See https://datatracker.ietf.org/doc/html/rfc7517 for details. +properties: + - kty: type: string + - n: type: string + - e: type: string + - alg: type: string + - kid: type: string + - use: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPublicKeysClient` + +```csharp +Task GetPublicKeyAsync(string kid); +``` + +| Parameter | Type | Required | +|---|---|---| +| `kid` | `string` | yes | + +### Java — `PublicKeysApi` + +```java +// GET /.well-known/jwks.json/{kid} +Jwk getPublicKey(String kid); +``` + +| Parameter | Type | Required | +|---|---|---| +| `kid` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetQuoteTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetQuoteTemplate.md new file mode 100644 index 0000000..5170a8c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetQuoteTemplate.md @@ -0,0 +1,156 @@ +# Trados Cloud Platform API Get Quote Template + +Get Quote Template GetQuoteTemplate GET /quote-templates/{quoteTemplateId} + +- Friendly name: Get Quote Template +- Operation ID: GetQuoteTemplate +- HTTP Method: GET +- Path: /quote-templates/{quoteTemplateId} + +Retrieves a quote template by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: project-quote-template (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the quote template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IQuoteTemplateClient` + +```csharp +Task GetQuoteTemplateAsync(string quoteTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `quoteTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `QuoteTemplateApi` + +```java +// GET /quote-templates/{quoteTemplateId}?fields={fields} +ProjectQuoteTemplate getQuoteTemplate(String quoteTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `quoteTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetRole.md b/articles/LCPublicAPI/aidocs/reference/GetRole.md new file mode 100644 index 0000000..ae2f9e8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetRole.md @@ -0,0 +1,159 @@ +# Trados Cloud Platform API Get Role + +Get Role GetRole GET /roles/{roleId} + +- Friendly name: Get Role +- Operation ID: GetRole +- HTTP Method: GET +- Path: /roles/{roleId} + +Retrieves a role by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: role (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* “empty”: Empty input for the “roleId” path parameter variable. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the role. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the role could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task GetRoleAsync(string roleId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `RoleAndPermissionApi` + +```java +// GET /roles/{roleId}?fields={fields} +Role getRole(String roleId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetRootFolder.md b/articles/LCPublicAPI/aidocs/reference/GetRootFolder.md new file mode 100644 index 0000000..aad7329 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetRootFolder.md @@ -0,0 +1,133 @@ +# Trados Cloud Platform API Get Root Folder + +Get Root Folder GetRootFolder GET /folders/root + +- Friendly name: Get Root Folder +- Operation ID: GetRootFolder +- HTTP Method: GET +- Path: /folders/root + +Retrieves the Root folder in the account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: folder (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFolderClient` + +```csharp +Task GetRootFolderAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `FolderApi` + +```java +// GET /folders/root?fields={fields} +Folder getRootFolder(String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetScheduleTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetScheduleTemplate.md new file mode 100644 index 0000000..4c24c52 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetScheduleTemplate.md @@ -0,0 +1,202 @@ +# Trados Cloud Platform API Get Schedule Template + +Get Schedule Template GetScheduleTemplate GET /schedule-templates/{scheduleTemplateId} + +- Friendly name: Get Schedule Template +- Operation ID: GetScheduleTemplate +- HTTP Method: GET +- Path: /schedule-templates/{scheduleTemplateId} + +Retrieves a schedule template by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: schedule-template (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* “empty”: Empty input for the “scheduleTemplateId” path parameter variable. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the schedule template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the schedule template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## SDK + +### .NET — `IScheduleTemplateClient` + +```csharp +Task GetScheduleTemplateAsync(string scheduleTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `ScheduleTemplateApi` + +```java +// GET /schedule-templates/{scheduleTemplateId}?fields={fields} +ScheduleTemplate getScheduleTemplate(String scheduleTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetSourceFile.md b/articles/LCPublicAPI/aidocs/reference/GetSourceFile.md new file mode 100644 index 0000000..112b840 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetSourceFile.md @@ -0,0 +1,176 @@ +# Trados Cloud Platform API Get Source File + +Get Source File GetSourceFile GET /projects/{projectId}/source-files/{sourceFileId} + +- Friendly name: Get Source File +- Operation ID: GetSourceFile +- HTTP Method: GET +- Path: /projects/{projectId}/source-files/{sourceFileId} + +Retrieves a source file from the project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: source-file (see model section below) + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project or the source file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task GetSourceFileAsync(string projectId, string sourceFileId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `sourceFileId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `SourceFileApi` + +```java +// GET /projects/{projectId}/source-files/{sourceFileId}?fields={fields} +SourceFile getSourceFile(String projectId, String sourceFileId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFileId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetSourceFileProperties.md b/articles/LCPublicAPI/aidocs/reference/GetSourceFileProperties.md new file mode 100644 index 0000000..c5e32c9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetSourceFileProperties.md @@ -0,0 +1,115 @@ +# Trados Cloud Platform API Get Source File Properties + +Get Source File Properties GetSourceFileProperties GET /tasks/{taskId}/source-files/{sourceFileId} + +- Friendly name: Get Source File Properties +- Operation ID: GetSourceFileProperties +- HTTP Method: GET +- Path: /tasks/{taskId}/source-files/{sourceFileId} + +Retrieves the properties for a source file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: source-file-properties-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task or source file could not be found by id. + + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file-properties-response + + +``` +type: object + description: +properties: + - fileRole: type: string enum: [translatable, reference] + - fileTypeSettingsId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task GetSourceFilePropertiesAsync(string taskId, string sourceFileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | +| `sourceFileId` | `string` | yes | + +### Java — `SourceFileApi` + +```java +// GET /tasks/{taskId}/source-files/{sourceFileId} +SourceFilePropertiesResponse getSourceFileProperties(String taskId, String sourceFileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `sourceFileId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTMImportHistory.md b/articles/LCPublicAPI/aidocs/reference/GetTMImportHistory.md new file mode 100644 index 0000000..665b97a --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTMImportHistory.md @@ -0,0 +1,166 @@ +# Trados Cloud Platform API Get Translation Memory Import History + +Get Translation Memory Import History GetTMImportHistory GET /translation-memory/{translationMemoryId}/imports + +- Friendly name: Get Translation Memory Import History +- Operation ID: GetTMImportHistory +- HTTP Method: GET +- Path: /translation-memory/{translationMemoryId}/imports + +Gets the import history for a translation memory. It returns the history of last 7 days. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-translation-memory-import-history (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the entry. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-translation-memory-import-history + + +``` +type: object +properties: + - items: type: array + items: + $ref: #/components/schemas/translation-memory-import-history-response + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory-import-history-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, inProgress, failed, done, cancelled] + - displayName: type: string + - settings: $ref: #/components/schemas/translation-memory-import-settings + - createdAt: type: string (format: date-time) + - updatedAt: type: string (format: date-time) + - ownerId: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-memory-import-settings + + +``` +type: object + description: The properties provided by the client, when the Import Operation was triggered. +properties: + - onlyImportSegmentsWithConfirmationLevels: type: array + items: + type: string enum: [translated, approvedTranslation, approvedSignOff, draft, rejectedTranslation, rejectedSignOff] + - unknownFieldsOption: type: string enum: [skipTranslationUnit, ignore, addToTranslationMemory, failTranslationUnitImport] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, leaveUnchanged, keepMostRecent] + - importAsPlainText: type: boolean + - exportInvalidTranslationUnits: type: boolean + - triggerRecomputeStatistics: type: boolean + - fileName: type: string + - sourceLanguageCode: type: string + - targetLanguageCode: type: string + - traceId: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryImportClient` + +```csharp +Task GetTMImportHistoryAsync(string translationMemoryId, string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `TranslationMemoryImportApi` + +```java +// GET /translation-memory/{translationMemoryId}/imports?fields={fields}&top={top}&skip={skip} +ListTranslationMemoryImportHistory getTMImportHistory(String translationMemoryId, String fields, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `fields` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTargetFile.md b/articles/LCPublicAPI/aidocs/reference/GetTargetFile.md new file mode 100644 index 0000000..ccea8da --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTargetFile.md @@ -0,0 +1,273 @@ +# Trados Cloud Platform API Get Target File + +Get Target File GetTargetFile GET /projects/{projectId}/target-files/{targetFileId} + +- Friendly name: Get Target File +- Operation ID: GetTargetFile +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId} + +Retrieves a target file from a project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: target-file (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project or the target file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: target-file + + +``` +type: object + description: Target File. +properties: + - id: type: string + - name: type: string + - languageDirection: $ref: #/components/schemas/language-direction + - sourceFile: $ref: #/components/schemas/source-file + - latestVersion: $ref: #/components/schemas/target-file-latest-version + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - status: type: string enum: [inProgress, finished, canceled] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: target-file-latest-version + + +``` +type: object + description: Target File Latest Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - version: type: integer +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task GetTargetFileAsync(string projectId, string targetFileId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}?fields={fields} +TargetFile getTargetFile(String projectId, String targetFileId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTargetFileVersion.md b/articles/LCPublicAPI/aidocs/reference/GetTargetFileVersion.md new file mode 100644 index 0000000..951efdc --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTargetFileVersion.md @@ -0,0 +1,133 @@ +# Trados Cloud Platform API Get Target File Version + +Get Target File Version GetTargetFileVersion GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId} + +- Friendly name: Get Target File Version +- Operation ID: GetTargetFileVersion +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId} + +Retrieves one version of a target file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: target-file-version (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project, the target file or its version could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: target-file-version + + +``` +type: object + description: Target File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task GetTargetFileVersionAsync(string projectId, string targetFileId, string fileVersionId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}?fields={fields} +TargetFileVersion getTargetFileVersion(String projectId, String targetFileId, String fileVersionId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTask.md b/articles/LCPublicAPI/aidocs/reference/GetTask.md new file mode 100644 index 0000000..af6364f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTask.md @@ -0,0 +1,2327 @@ +# Trados Cloud Platform API Get Task + +Get Task GetTask GET /tasks/{taskId} + +- Friendly name: Get Task +- Operation ID: GetTask +- HTTP Method: GET +- Path: /tasks/{taskId} + +Retrieves a task. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: task (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: task + + +``` +type: object + description: Task. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed, skipped, canceled] + - taskType: $ref: #/components/schemas/task-type + - input: $ref: #/components/schemas/task-input + - inputFiles: type: array + items: + $ref: #/components/schemas/task-input-file + - owner: $ref: #/components/schemas/task-owner + - assignees: type: array + items: + $ref: #/components/schemas/task-assignee + - dueBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - applicableOutcomes: type: array + items: + $ref: #/components/schemas/task-outcome + - outcome: type: string + - comment: type: string + - project: $ref: #/components/schemas/project + - failedTask: $ref: #/components/schemas/failed-task + - completedAt: $ref: #/components/schemas/date-time + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: task-input + + +``` +type: object + description: Task input. Based on the "type", the following fields can be retrieved: "project", "sourceFile", "targetFile". +properties: + - type: type: string enum: [project, sourceFile, targetFile, languageDirection] + - project: $ref: #/components/schemas/project + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file + - languageDirection: $ref: #/components/schemas/language-direction + - vendorOrder: $ref: #/components/schemas/vendor-order +``` + +## Model: task-input-file + + +``` +type: object + description: Task input file. Based on the "type", only the "sourceFile" or "targetFile" can be retrieved. +properties: + - type: type: string enum: [sourceFile, targetFile] + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file +``` + +## Model: task-owner + + +``` +type: object + description: Task owner. Based on the "type", the following properties can be retrieved: "user" or "group". +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: allOf: + - part0: + $ref: #/components/schemas/account + - location: allOf: + - part0: + $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: allOf: + - part0: + $ref: #/components/schemas/user-type + - status: allOf: + - part0: + $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: allOf: + - part0: + $ref: #/components/schemas/account-membership-type +``` + +## Model: task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", the following properties can be retrieved: "user", "group" or "vendorOrderTemplate". For "projectCreator" and "projectManager" no other properties are available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: task-outcome + + +``` +type: object + description: Outcome a task can be completed with. List will be populated after the task is accepted. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: failed-task + + +``` +type: object + description: Failed Task. +properties: + - id: type: string + - name: type: string + - errors: type: array + items: + $ref: #/components/schemas/task-error +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: target-file + + +``` +type: object + description: Target File. +properties: + - id: type: string + - name: type: string + - languageDirection: $ref: #/components/schemas/language-direction + - sourceFile: $ref: #/components/schemas/source-file + - latestVersion: $ref: #/components/schemas/target-file-latest-version + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - status: type: string enum: [inProgress, finished, canceled] +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: vendor-order + + +``` +type: object + description: A vendor order resource. +properties: + - id: type: string + - quote: $ref: #/components/schemas/quote +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: task-error + + +``` +type: object + description: Task Error. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: target-file-latest-version + + +``` +type: object + description: Target File Latest Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - version: type: integer +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task GetTaskAsync(string taskId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TaskApi` + +```java +// GET /tasks/{taskId}?fields={fields} +Task getTask(String taskId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTaskType.md b/articles/LCPublicAPI/aidocs/reference/GetTaskType.md new file mode 100644 index 0000000..7b63306 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTaskType.md @@ -0,0 +1,212 @@ +# Trados Cloud Platform API Get Task Type + +Get Task Type GetTaskType GET /task-types/{taskTypeId} + +- Friendly name: Get Task Type +- Operation ID: GetTaskType +- HTTP Method: GET +- Path: /task-types/{taskTypeId} + +Retrieves a task type by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: task-type (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the task type. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITaskTypeClient` + +```csharp +Task GetTaskTypeAsync(string taskTypeId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskTypeId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TaskTypeApi` + +```java +// GET /task-types/{taskTypeId}?fields={fields} +TaskType getTaskType(String taskTypeId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskTypeId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTermbase.md b/articles/LCPublicAPI/aidocs/reference/GetTermbase.md new file mode 100644 index 0000000..4f49d41 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTermbase.md @@ -0,0 +1,198 @@ +# Trados Cloud Platform API Get Termbase + +Get Termbase GetTermbase GET /termbases/{termbaseId} + +- Friendly name: Get Termbase +- Operation ID: GetTermbase +- HTTP Method: GET +- Path: /termbases/{termbaseId} + +Retrieves a termbase by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the resource. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase + + +``` +type: object + description: The termbase. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - termbaseStructure: $ref: #/components/schemas/termbase-structure + - numberOfEntries: type: number + - status: type: string enum: [ready, processingContent, exportingContent, deletingContent] + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: termbase-structure + + +``` +type: object + description: The termbase structure. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task GetTermbaseAsync(string termbaseId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TermbaseApi` + +```java +// GET /termbases/{termbaseId}?fields={fields} +Termbase getTermbase(String termbaseId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTermbaseEntry.md b/articles/LCPublicAPI/aidocs/reference/GetTermbaseEntry.md new file mode 100644 index 0000000..959d8e9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTermbaseEntry.md @@ -0,0 +1,402 @@ +# Trados Cloud Platform API Get Termbase Entry + +Get Termbase Entry GetTermbaseEntry GET /termbases/{termbaseId}/entries/{entryId} + +- Friendly name: Get Termbase Entry +- Operation ID: GetTermbaseEntry +- HTTP Method: GET +- Path: /termbases/{termbaseId}/entries/{entryId} + +Retrieves a termbase entry by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-entry (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the entry could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-entry + + +``` +type: object + description: The termbase entry. +properties: + - id: type: string + - humanReadableId: type: string + - languages: type: array + items: + $ref: #/components/schemas/termbase-entry-language + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-entry-language + + +``` +type: object + description: The termbase entry language. +properties: + - id: type: string + - language: $ref: #/components/schemas/language + - terms: type: array + items: + $ref: #/components/schemas/termbase-entry-term + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifedBy: $ref: #/components/schemas/user +``` + +## Model: termbase-field-value + + +``` +type: object + description: The termbase field value. +properties: + - id: type: string + - name: type: string + - termbaseFieldId: type: string + - value: type: string + - fieldValueLinks: type: array + items: + $ref: #/components/schemas/termbase-field-value-link + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-entry-term + + +``` +type: object + description: The termbase entry term. +properties: + - id: type: string + - text: type: string + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user + - systemStatus: $ref: #/components/schemas/termbase-entry-term-system-status +``` + +## Model: termbase-field-value-link + + +``` +type: object + description: The field value link. +properties: + - type: type: string enum: [term, entry, external] + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: termbase-entry-term-system-status + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task GetTermbaseEntryAsync(string termbaseId, string entryId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `entryId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TermbaseApi` + +```java +// GET /termbases/{termbaseId}/entries/{entryId}?fields={fields} +TermbaseEntry getTermbaseEntry(String termbaseId, String entryId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `entryId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTermbaseTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetTermbaseTemplate.md new file mode 100644 index 0000000..a08762e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTermbaseTemplate.md @@ -0,0 +1,196 @@ +# Trados Cloud Platform API Get Termbase Template + +Get Termbase Template GetTermbaseTemplate GET /termbase-templates/{termbaseTemplateId} + +- Friendly name: Get Termbase Template +- Operation ID: GetTermbaseTemplate +- HTTP Method: GET +- Path: /termbase-templates/{termbaseTemplateId} + +Get a termbase template by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-template (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: + +* "forbidden": - The authenticated user is not allowed to read resource +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the termbase template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-template + + +``` +type: object + description: The termbase template. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) + - type: type: string enum: [system, userDefined] + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task GetTermbaseTemplateAsync(string termbaseTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TermbaseTemplateApi` + +```java +// GET /termbase-templates/{termbaseTemplateId}?fields={fields} +TermbaseTemplate getTermbaseTemplate(String termbaseTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTqaProfile.md b/articles/LCPublicAPI/aidocs/reference/GetTqaProfile.md new file mode 100644 index 0000000..c6b219c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTqaProfile.md @@ -0,0 +1,238 @@ +# Trados Cloud Platform API Get TQA Profile + +Get TQA Profile GetTqaProfile GET /tqa-profiles/{profileId} + +- Friendly name: Get TQA Profile +- Operation ID: GetTqaProfile +- HTTP Method: GET +- Path: /tqa-profiles/{profileId} + +Get a TQA Profile By identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: tqa-profile (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the User could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITQAProfileClient` + +```csharp +Task GetTqaProfileAsync(string profileId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `profileId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TqaProfileApi` + +```java +// GET /tqa-profiles/{profileId}?fields={fields} +TqaProfile getTqaProfile(String profileId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `profileId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTranslationEngine.md b/articles/LCPublicAPI/aidocs/reference/GetTranslationEngine.md new file mode 100644 index 0000000..97d9efd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTranslationEngine.md @@ -0,0 +1,226 @@ +# Trados Cloud Platform API Get Translation Engine + +Get Translation Engine GetTranslationEngine GET /translation-engines/{translationEngineId} + +- Friendly name: Get Translation Engine +- Operation ID: GetTranslationEngine +- HTTP Method: GET +- Path: /translation-engines/{translationEngineId} + +Retrieves a translation engine. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: translation-engine (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: + +* "forbidden": - The authenticated user is not allowed to read resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation engine could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## SDK + +### .NET — `ITranslationEngineClient` + +```csharp +Task GetTranslationEngineAsync(string translationEngineId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationEngineId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TranslationEngineApi` + +```java +// GET /translation-engines/{translationEngineId}?fields={fields} +TranslationEngine getTranslationEngine(String translationEngineId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationEngineId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/GetTranslationMemory.md new file mode 100644 index 0000000..dceb448 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetTranslationMemory.md @@ -0,0 +1,413 @@ +# Trados Cloud Platform API Get Translation Memory + +Get Translation Memory GetTranslationMemory GET /translation-memory/{translationMemoryId} + +- Friendly name: Get Translation Memory +- Operation ID: GetTranslationMemory +- HTTP Method: GET +- Path: /translation-memory/{translationMemoryId} + +Get a single Translation Memory by identifier. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: translation-memory (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation memory could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder + - languageDirections: type: array + items: + $ref: #/components/schemas/translation-memory-language-direction + - languageProcessingRule: $ref: #/components/schemas/language-processing-rule + - fieldTemplate: $ref: #/components/schemas/translation-memory-field-template + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastRecomputedAt: type: string (format: date-time) + - lastReIndexedAt: type: string (format: date-time) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-language-direction + + +``` +type: object + description: A language direction representation specific to translation memories. +properties: + - languageDirection: $ref: #/components/schemas/simple-language-direction + - translationUnits: type: integer + - unalignedTranslationUnits: type: integer +``` + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: simple-language-direction + + +``` +type: object + description: A basic language direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task GetTranslationMemoryAsync(string translationMemoryId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// GET /translation-memory/{translationMemoryId}?fields={fields} +TranslationMemory getTranslationMemory(String translationMemoryId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetUser.md b/articles/LCPublicAPI/aidocs/reference/GetUser.md new file mode 100644 index 0000000..561c0cb --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetUser.md @@ -0,0 +1,285 @@ +# Trados Cloud Platform API Get User + +Get User GetUser GET /users/{userId} + +- Friendly name: Get User +- Operation ID: GetUser +- HTTP Method: GET +- Path: /users/{userId} + +Retrieves a user by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: user (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +error codes: +* "notFound": the User could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task GetUserAsync(string userId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `UserApi` + +```java +// GET /users/{userId}?fields={fields} +User getUser(String userId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetVendor.md b/articles/LCPublicAPI/aidocs/reference/GetVendor.md new file mode 100644 index 0000000..8768326 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetVendor.md @@ -0,0 +1,339 @@ +# Trados Cloud Platform API Get Vendor + +Get Vendor GetVendor GET /vendors/{vendorId} + +- Friendly name: Get Vendor +- Operation ID: GetVendor +- HTTP Method: GET +- Path: /vendors/{vendorId} + +Retrieves a vendor by identifier. + +Use the `fields` query parameter to include optional nested resources such as `members`. The `members` field returns the users in the vendor's `VendorProjectManager` group. To manage vendor members, use the [Create User](#/operations/CreateUser), [Update User](#/operations/UpdateUser), or [Update Group](#/operations/UpdateGroup) endpoints. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: vendor (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the vendor. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor + + +``` +type: object + description: Represents an external LSP (Language Service Provider) organization that can be assigned translation tasks through vendor order templates. +properties: + - id: type: string + - name: type: string + - description: type: string + - keyContact: $ref: #/components/schemas/user + - vendorFolder: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - selfManaged: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - members: type: array + items: + $ref: #/components/schemas/user + - customFields: type: array + items: + $ref: #/components/schemas/custom-field +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task GetVendorAsync(string vendorId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `VendorApi` + +```java +// GET /vendors/{vendorId}?fields={fields} +Vendor getVendor(String vendorId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetVendorOrderTemplate.md b/articles/LCPublicAPI/aidocs/reference/GetVendorOrderTemplate.md new file mode 100644 index 0000000..2d6cefc --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetVendorOrderTemplate.md @@ -0,0 +1,553 @@ +# Trados Cloud Platform API Get Vendor Order Template + +Get Vendor Order Template GetVendorOrderTemplate GET /vendors/{vendorId}/order-templates/{orderTemplateId} + +- Friendly name: Get Vendor Order Template +- Operation ID: GetVendorOrderTemplate +- HTTP Method: GET +- Path: /vendors/{vendorId}/order-templates/{orderTemplateId} + +Retrieves a vendor order template by identifier. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: vendor-order-template-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the vendor order template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor order template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor-order-template-response + + +``` +type: object + description: A vendor order template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - allowQuoteEditing: type: boolean + - serviceTypes: type: array + items: + $ref: #/components/schemas/translation-service-type + - pricingModel: $ref: #/components/schemas/pricing-model + - quoteConfiguration: $ref: #/components/schemas/vendor-order-template-quote-configuration + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - languagePairs: type: array + items: + $ref: #/components/schemas/language-pair + - assignments: type: array + items: + $ref: #/components/schemas/vot-configuration-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-service-type + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: vendor-order-template-quote-configuration + + +``` +type: object + description: Controls when and how the vendor quote is generated. +properties: + - behaviour: $ref: #/components/schemas/vot-quote-behaviour + - holdingDelay: type: integer +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: vot-configuration-response + + +``` +type: object + description: Assignee and manager assignment for a specific language pair. Every language pair listed in `languagePairs` must have exactly one corresponding entry in `assignments`. +properties: + - languagePair: $ref: #/components/schemas/language-pair + - managers: type: array + items: + $ref: #/components/schemas/vot-person-response + - assignees: type: array + items: + $ref: #/components/schemas/vot-person-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: vot-quote-behaviour + + +``` +type: string enum: [waitForAllFiles, perFileQuote, finalQuoteAfterBatchCompleted, quoteBeforeCustomerQuoteGeneration] +``` + +## Model: vot-person-response + + +``` +type: object + description: A user or group assigned as a manager or assignee on a vendor order template. When `type` is `user`, the `user` object is populated. When `type` is `group`, the `group` object is populated. +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task GetVendorOrderTemplateAsync(string vendorId, string orderTemplateId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `string` | yes | +| `orderTemplateId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `VendorApi` + +```java +// GET /vendors/{vendorId}/order-templates/{orderTemplateId}?fields={fields} +VendorOrderTemplateResponse getVendorOrderTemplate(String vendorId, String orderTemplateId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `orderTemplateId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/GetWorkflow.md b/articles/LCPublicAPI/aidocs/reference/GetWorkflow.md new file mode 100644 index 0000000..88f2ee8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/GetWorkflow.md @@ -0,0 +1,572 @@ +# Trados Cloud Platform API Get Workflow + +Get Workflow GetWorkflow GET /workflows/{workflowId} + +- Friendly name: Get Workflow +- Operation ID: GetWorkflow +- HTTP Method: GET +- Path: /workflows/{workflowId} + +Retrieves a workflow by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: workflow (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the workflow. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IWorkflowClient` + +```csharp +Task GetWorkflowAsync(string workflowId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `workflowId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `WorkflowApi` + +```java +// GET /workflows/{workflowId}?fields={fields} +Workflow getWorkflow(String workflowId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `workflowId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ImportPackage.md b/articles/LCPublicAPI/aidocs/reference/ImportPackage.md new file mode 100644 index 0000000..b65668f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ImportPackage.md @@ -0,0 +1,120 @@ +# Trados Cloud Platform API Import Package + +Import Package ImportPackage POST /packages/import + +- Friendly name: Import Package +- Operation ID: ImportPackage +- HTTP Method: POST +- Path: /packages/import + +Creates an operation for importing a translation package. The accepted file types are .sdlppx and .sdlrpx. The system associates the imported package with the appropriate project and task automatically based on its contents, using the information contained in the file. You can also check the related [documentation](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/returning-translation-packages-719556). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: package-import-request (see model section below) + +## Response + +### 200 + + + +- Content: application/json +``` +type: object +properties: + - importId: type: string +``` + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to import a package. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Package could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: package-import-request + + +``` +type: object +properties: + - file: type: string (format: binary) +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPackageClient` + +```csharp +Task ImportPackageAsync(); +``` + +### Java — `PackageApi` + +```java +// POST /packages/import +ImportPackage200Response importPackage(PackageImportRequest packageImportRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `packageImportRequest` | `PackageImportRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ImportTargetFileVersion.md b/articles/LCPublicAPI/aidocs/reference/ImportTargetFileVersion.md new file mode 100644 index 0000000..a069c61 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ImportTargetFileVersion.md @@ -0,0 +1,152 @@ +# Trados Cloud Platform API Import Target File Version + +Import Target File Version ImportTargetFileVersion POST /projects/{projectId}/target-files/{targetFileId}/versions/imports + +- Friendly name: Import Target File Version +- Operation ID: ImportTargetFileVersion +- HTTP Method: POST +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/imports + +Generates an asynchronous import operation. Use [Poll Target File Version Import endpoint](#/operations/PollTargetFileVersionImport) to poll until the import is completed. Only `sdlxliff` files can be imported. + +Import should be used when a file is downloaded as an `sdlxliff`, processed and then, replaced. +The import operation triggers internally the update of the [BCM](../../BCM/BCM.NET_client_API.html) file associated with the imported file. It should mostly be used for offline work. + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - file: type: string (format: binary) +``` + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-version-import (see model section below) + +### 400 + +Error code “invalid” in case of: + * Empty or missing file in request + * Not valid multipart request + * File parameter contains other extension than the one expected by specification. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to execute operation. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - the specified project or target file was not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-version-import + + +``` +allOf: + - part0: + $ref: #/components/schemas/asynchronous-result + - part1: + type: object + properties: + - fileVersionId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: asynchronous-result + + +``` +type: object + description: Represents the result of an asynchronous operation, including status and potential error information. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed] + - errorMessage: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task ImportTargetFileVersionAsync(string projectId, string targetFileId, FileParameter file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `file` | `FileParameter` | yes | + +### Java — `TargetFileApi` + +```java +// POST /projects/{projectId}/target-files/{targetFileId}/versions/imports +FileVersionImport importTargetFileVersion(String projectId, String targetFileId, File file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `file` | `File` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ImportTermbase.md b/articles/LCPublicAPI/aidocs/reference/ImportTermbase.md new file mode 100644 index 0000000..c57b2e5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ImportTermbase.md @@ -0,0 +1,172 @@ +# Trados Cloud Platform API Import Termbase + +Import Termbase ImportTermbase POST /termbases/{termbaseId}/imports + +- Friendly name: Import Termbase +- Operation ID: ImportTermbase +- HTTP Method: POST +- Path: /termbases/{termbaseId}/imports + +Generates an asynchronous import operation.
+Use the Poll Import Termbase endpoint to poll until the import status is `done`.
+ +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **strictImport** (query, boolean) - optional: Specifies if the entries are only imported into the exact language that matches your imported file.
`true` - The import will only occur if the language in your import file matches exactly with a language in your termbase.
`false` - The import will occur even there are non-matching languages, by trying to match them to a relevant main language or language variant, if available. +- **duplicateEntriesStrategy** (query, string) - optional: The strategy for duplicate entries. Determines how the duplicate entries will be handled.
`ignore` - The content of the current entry with the same identifier will be kept, and the new entry will be ignored
`merge` - The content of the current entry with the same identifier will be merged with the imported entry. If the identifier is not provided the content will be merged by text.
`overwrite` - The content of the current entry with the same identifier will be replaced by the imported entry. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/termbase-import-request + - file: type: string (format: binary) +``` + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-import-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": Cannot import as the termbase is currently being processed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-import-request + + +``` +type: object + description: Properties required for system status mapping +properties: + - statusMapping: type: array + items: + $ref: #/components/schemas/termbase-system-status-mapping +``` + +## Model: termbase-import-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, processing, done, cancelled, failed, error] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-system-status-mapping + + +``` +type: object + description: A mapping between a termbase term system status and termbase statuses. +properties: + - systemStatusValue: $ref: #/components/schemas/termbase-entry-term-system-status-request + - statuses: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: termbase-entry-term-system-status-request + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## SDK + +### .NET — `ITermbaseImportClient` + +```csharp +Task ImportTermbaseAsync(string termbaseId, bool? strictImport = null, DuplicateEntriesStrategy? duplicateEntriesStrategy = null, TermbaseImportRequest file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `strictImport` | `bool` | no | +| `duplicateEntriesStrategy` | `DuplicateEntriesStrategy` | no | +| `file` | `TermbaseImportRequest` | yes | + +### Java — `TermbaseImportApi` + +```java +// POST /termbases/{termbaseId}/imports?strictImport={strictImport}&duplicateEntriesStrategy={duplicateEntriesStrategy} +TermbaseImportResponse importTermbase(String termbaseId, File file, Boolean strictImport, String duplicateEntriesStrategy, TermbaseImportRequest properties); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `file` | `File` | yes | +| `strictImport` | `Boolean` | no | +| `duplicateEntriesStrategy` | `String` | no | +| `properties` | `TermbaseImportRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ImportTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/ImportTranslationMemory.md new file mode 100644 index 0000000..44c0f1d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ImportTranslationMemory.md @@ -0,0 +1,167 @@ +# Trados Cloud Platform API Import Translation Memory + +Import Translation Memory ImportTranslationMemory POST /translation-memory/{translationMemoryId}/imports + +- Friendly name: Import Translation Memory +- Operation ID: ImportTranslationMemory +- HTTP Method: POST +- Path: /translation-memory/{translationMemoryId}/imports + +Generates an asynchronous import operation. +
+
Read more about prerequisites and limitations on the [official documentation center](https://docs.rws.com/791595/741139/trados-enterprise/importing-tm-content). +
+Note: The order of the multipart form parameter must be implemented as such: properties first, file second. +
+Use the Poll Translation Memory Import endpoint to poll until the import status is `done`.
+To track the progress of the import please refer to [Poll Translation Memory Import](#/operations/PollTMImport). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/translation-memory-import-request + - file: type: string (format: binary) +``` + +## Response + +### 200 + +OK - returned when the `status` field has one of the following values: `failed`, `done`, `cancelled` + +- Content: application/json +- Schema: translation-memory-import-response (see model section below) + +### 202 + +Accepted - returned when the `status` field has one of the following values: `queued`, `inProgress` + +- Content: application/json +- Schema: translation-memory-import-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query/form parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "multiPartOrder": The multipart order in the body is not correct. The `properties` must be first and then, file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": Not authorized to import translation memories. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-import-request + + +``` +type: object + description: Translation Memory Import properties sent as a JSON inside a text part. +properties: + - sourceLanguageCode: type: string + - targetLanguageCode: type: string + - importAsPlainText: type: boolean + - exportInvalidTranslationUnits: type: boolean + - triggerRecomputeStatistics: type: boolean + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, leaveUnchanged, keepMostRecent] + - unknownFieldsOption: type: string enum: [skipTranslationUnit, ignore, addToTranslationMemory, failTranslationUnitImport] + - onlyImportSegmentsWithConfirmationLevels: type: array + items: + type: string enum: [translated, approvedTranslation, approvedSignOff, draft, rejectedTranslation, rejectedSignOff] +``` + +## Model: translation-memory-import-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, inProgress, failed, done, cancelled] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryImportClient` + +```csharp +Task ImportTranslationMemoryAsync(string translationMemoryId, TranslationMemoryImportRequest file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | +| `file` | `TranslationMemoryImportRequest` | yes | + +### Java — `TranslationMemoryImportApi` + +```java +// POST /translation-memory/{translationMemoryId}/imports +TranslationMemoryImportResponse importTranslationMemory(String translationMemoryId, TranslationMemoryImportRequest properties, File file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `properties` | `TranslationMemoryImportRequest` | yes | +| `file` | `File` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/Index.md b/articles/LCPublicAPI/aidocs/reference/Index.md new file mode 100644 index 0000000..8bb13ba --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/Index.md @@ -0,0 +1,421 @@ +# Trados Cloud Platform API - Index + +## Account + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/accounts` | [ListMyAccounts](./ListMyAccounts.md) | Retrieves the accounts the authenticated user is part of. > For service users only the account where the user is defined is returned. | | + +## Integration + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/applications` | [CreateApplication](./CreateApplication.md) | Creates a new integration application. | | +| GET | `/applications` | [ListApplications](./ListApplications.md) | Retrieves a list of applications the authenticated user has access to. | | +| PUT | `/applications/{applicationId}` | [UpdateApplication](./UpdateApplication.md) | Updates an integration application. | | +| GET | `/applications/{applicationId}` | [GetApplication](./GetApplication.md) | Retrieves an integration application by identifier. | | +| DELETE | `/applications/{applicationId}` | [DeleteApplication](./DeleteApplication.md) | Deletes an integration application. | | + +## Connected AI + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/connected-ai/llm-configurations` | [ListLlmConfigurations](./ListLlmConfigurations.md) | List the account configured Large Language Models. | | + +## Customer + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| PUT | `/customers/{customerId}` | [UpdateCustomer](./UpdateCustomer.md) | Updates a customer by identifier. | | +| GET | `/customers/{customerId}` | [GetCustomer](./GetCustomer.md) | Retrieves a customer by identifier. | | +| DELETE | `/customers/{customerId}` | [DeleteCustomer](./DeleteCustomer.md) | Deletes a customer. | | +| GET | `/customers` | [ListCustomers](./ListCustomers.md) | Retrieves a list of all the customers in an account. | | +| POST | `/customers` | [CreateCustomer](./CreateCustomer.md) | Create customer in a tenant. For adding a customer to a tenant the authenticated user must have 'Create Customer' permission. To also create an account for the key contact, you need to have the specific entitlements. | | + +## Custom Field + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/custom-field-definitions` | [ListCustomFields](./ListCustomFields.md) | Retrieves a list of all the custom field definitions. | | +| GET | `/custom-field-definitions/{customFieldDefinitionId}` | [GetCustomField](./GetCustomField.md) | Retrieves a Custom Field by identifier. | | + +## File Processing Configuration + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/file-processing-configurations/{fileProcessingConfigurationId}` | [GetFileProcessingConfiguration](./GetFileProcessingConfiguration.md) | Retrieves a file processing configuration by identifier. | | +| GET | `/file-processing-configurations` | [ListFileProcessingConfigurations](./ListFileProcessingConfigurations.md) | Retrieves a list of all the file processing configurations in an account. | | +| GET | `/file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings/{fileTypeSettingId}` | [GetFileTypeSetting](./GetFileTypeSetting.md) | Retrieves a file type setting by identifier. | | +| GET | `/file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings` | [ListFileTypeSettings](./ListFileTypeSettings.md) | Retrieves a list of all the file type settings in a file processing configuration. | | + +## File + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/files` | [UploadZipFile](./UploadZipFile.md) | Uploads an archive containing source files in `.zip` format, which will be extracted and used during project creation. Status of the upload operation can be tracked using the [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoint. Once this Upload Zip File operation has finished extracting the files, they can be added to the desired project using the [Attach Source Files](#/operations/AddSourceFiles) endpoint. Alternatively, they can be used to [Request File Analysis](#/operations/RequestFileAnalysis) details like word counts and estimated costs. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. | | +| POST | `/files/analysis` | [RequestFileAnalysis](./RequestFileAnalysis.md) | This endpoint allows you to request the word count and an estimated cost for your files. Use the [Upload Zip File](#/operations/UploadZipFile) / [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoints to upload your files and get the `fileIds`. Send these `fileIds` together with the `languageProcessingRuleId` and `sourceLanguage` to receive the word count. Optionally, send the `quotingOptions` object to receive the `estimatedCosts`. Use the [Poll File Analysis](#/operations/PollFileAnalysis) endpoint to monitor the operation and receive the analysis results. > File analysis results will be available for 24 hours after generation. | | +| GET | `/files/analysis/{operationId}` | [PollFileAnalysis](./PollFileAnalysis.md) | Monitor the [File Analysis](#/operations/RequestFileAnalysis) operation and receive the analysis results. > File analysis results will be available for 24 hours after generation. | | +| GET | `/files/{fileId}` | [PollUploadZipFile](./PollUploadZipFile.md) | Monitors the unzipping operation for a previously uploaded archive and retrieves details about the extracted files. Once the [Upload Zip File](#/operations/UploadZipFile) operation has finished extracting the files, they can be added to the desired project using the [Attach Source Files](#/operations/AddSourceFiles) endpoint. Alternatively, they can be used to [Request File Analysis](#/operations/RequestFileAnalysis) details like word counts and estimated costs. | | + +## Folder + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/folders/{folderId}` | [GetFolder](./GetFolder.md) | Retrieves a folder by identifier. | | +| GET | `/folders/root` | [GetRootFolder](./GetRootFolder.md) | Retrieves the Root folder in the account. | | +| GET | `/folders` | [ListFolders](./ListFolders.md) | Retrieves a list of all the folders in an account. | | + +## Group + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/groups/{groupId}` | [GetGroup](./GetGroup.md) | Retrieves a group by identifier. | | +| PUT | `/groups/{groupId}` | [UpdateGroup](./UpdateGroup.md) | Updates a group. We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.html). | | +| DELETE | `/groups/{groupId}` | [DeleteGroup](./DeleteGroup.md) | Deletes a group by identifier. | | +| GET | `/groups` | [ListGroups](./ListGroups.md) | Retrieves a list of all the groups in an account. | | +| POST | `/groups` | [CreateGroup](./CreateGroup.md) | Creates a group. Group roles will take effect based on the location, where the group is being created. Read more at [How to use location and folders](../docs/How-to-use-location-and-folders.html). | | + +## Language + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/languages` | [ListLanguages](./ListLanguages.md) | Retrieves a list of all the languages. The supported values for language `type` filter are: "all", "specific" or "neutral".\ The "neutral" languages are the generic languages, e.g.: en -> English.\ The "specific" languages are the sub-languages, e.g.: en-150 -> English (Europe), en-us -> English (United States). | | + +## Language Processing + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/language-processing-rules` | [ListLanguageProcessingRules](./ListLanguageProcessingRules.md) | Returns a list of Language Processing Rules. | | +| GET | `/language-processing-rules/{languageProcessingRuleId}` | [GetLanguageProcessingRule](./GetLanguageProcessingRule.md) | Returns a Language Processing Rule by identifier. | | + +## PerfectMatch Mapping + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/perfect-match-mappings` | [CreatePerfectMatchMapping](./CreatePerfectMatchMapping.md) | For more details on the PerfectMatch feature please consult the [official documentation](https://docs.rws.com/791595/1155478/trados-enterprise---accelerate/perfectmatch-general-information). After creating a mapping, target files from the `matchingProjects` are automatically matched to the source files in the new project. This is a long-running background operation, and its `status` can be tracked by polling the [Get PerfectMatch Mapping](#/operations/GetPerfectMatchMapping) endpoint. | | +| GET | `/perfect-match-mappings/{mappingId}` | [GetPerfectMatchMapping](./GetPerfectMatchMapping.md) | Retrieves the details of a PerfectMatch mapping. | | +| POST | `/perfect-match-mappings/{mappingId}/batch-mappings` | [AddPerfectMatchBatchMapping](./AddPerfectMatchBatchMapping.md) | Adds a new PerfectMatch batch mapping. When new source files are introduced to a mid-project, a new batch must be added to the current mapping to leverage PerfectMatch. This action triggers a background operation that identifies matching candidates for the newly added files. | | +| PUT | `/perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}` | [UpdatePerfectMatchBatchMapping](./UpdatePerfectMatchBatchMapping.md) | Updates a PerfectMatch batch mapping. Pay special attention to how [updating works](../docs/Updating-data-with-PUT.html). | | +| PUT | `/perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/project-file` | [UpdatePerfectMatchFileMappingWithProjectFile](./UpdatePerfectMatchFileMappingWithProjectFile.md) | Updates a PerfectMatch file mapping with an existing target file from a PerfectMatch candidate. Only valid candidates can be used to request an update. Use the [Candidates](#/operations/GetPerfectMatchCandidates) endpoint to retrieve a list of valid `fileId` and `projectId` to provide as matching data. | | +| POST | `/perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/file` | [UpdatePerfectMatchFileMappingWithManuallyUploadedFile](./UpdatePerfectMatchFileMappingWithManuallyUploadedFile.md) | Updates a PerfectMatch file mapping with a manually uploaded file. | | +| DELETE | `/perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage}` | [DeletePerfectMatchFileMappingForFile](./DeletePerfectMatchFileMappingForFile.md) | Deletes a PerfectMatch file mapping for a specific file and target language. | | +| GET | `/perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/target-languages/{targetLanguage}/candidates` | [GetPerfectMatchCandidates](./GetPerfectMatchCandidates.md) | Retrieves a list of file candidates that can be selected for PerfectMatch. | | + +## Machine Translation + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/machine-translation` | [ListMachineTranslations](./ListMachineTranslations.md) | Retrieves a list of machine translations that can be used in a translation engine. | | + +## Package + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/packages/export` | [ExportPackage](./ExportPackage.md) | Creates a task for exporting the selected tasks in a given number of packages, for more information check the [documentation](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/downloading-packages-for-translation-719552) on downloading packages for translation | | +| GET | `/packages/export/{exportId}` | [PollExportPackage](./PollExportPackage.md) | Polls the status of the export operation created by the [Export Package operation](../api/Public-API.v1-fv.html#/operations/ExportPackage). | | +| GET | `/packages/export/download/{exportId}` | [DownloadExportedPackage](./DownloadExportedPackage.md) | Downloads an exported package with the .sdlppx extension. | | +| POST | `/packages/import` | [ImportPackage](./ImportPackage.md) | Creates an operation for importing a translation package. The accepted file types are .sdlppx and .sdlrpx. The system associates the imported package with the appropriate project and task automatically based on its contents, using the information contained in the file. You can also check the related [documentation](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/returning-translation-packages-719556). | | +| GET | `/packages/import/{importId}` | [PollImportPackage](./PollImportPackage.md) | Polls the status of the import operation created by the [Import Package operation](../api/Public-API.v1-fv.html#/operations/ImportPackage). | | + +## Pricing Model + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/pricing-models` | [ListPricingModels](./ListPricingModels.md) | Retrieves a list of all the pricing models in an account. Sorting is supported for the following fields: `name`, `description`, `currencyCode` and `location`. | | +| POST | `/pricing-models` | [CreatePricingModel](./CreatePricingModel.md) | Creates a new pricing model. | | +| GET | `/pricing-models/{pricingModelId}` | [GetPricingModel](./GetPricingModel.md) | Retrieves a pricing model by identifier. | | +| PUT | `/pricing-models/{pricingModelId}` | [UpdatePricingModel](./UpdatePricingModel.md) | Updates a pricing model. | | +| DELETE | `/pricing-models/{pricingModelId}` | [DeletePricingModel](./DeletePricingModel.md) | Deletes a pricing model. | | + +## Project + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/projects` | [ListProjects](./ListProjects.md) | Retrieves a list of all the projects in the account. | | +| POST | `/projects` | [CreateProject](./CreateProject.md) | Creates a new project. When creating a project using a project template that supports multiple source languages, you must supply the `languageDirections`. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when creating projects. The values from a selected project template will take precedence over the individual resources when creating a new project. | | +| GET | `/projects/{projectId}` | [GetProject](./GetProject.md) | Retrieves a project by identifier. For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). | | +| PUT | `/projects/{projectId}` | [UpdateProject](./UpdateProject.md) | Updates the project in terms of: name, description, due date, quote, and project resources. Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386). Project rescheduling (updating dueBy) is permitted only if: * there is no Customer Quote Approval task in the associated flow * at least one Customer Quote Approval was closed(in case multiple project batches) Update `projectPlan.taskConfigurations` are now permitted before project is started. Elements are now pre-populated at project creation time. For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). | | +| DELETE | `/projects/{projectId}` | [DeleteProject](./DeleteProject.md) | Deletes a project. | | +| GET | `/projects/{projectId}/configuration` | [GetProjectConfiguration](./GetProjectConfiguration.md) | Get the configuration settings of an existing project. | | +| PUT | `/projects/{projectId}/configuration` | [UpdateProjectConfiguration](./UpdateProjectConfiguration.md) | Updates the configuration settings for an existing project. | | +| PUT | `/projects/{projectId}/pricing-model` | [UpdateProjectPricingModel](./UpdateProjectPricingModel.md) | Update project pricing model only during Customer Quote Review task type. | | +| PUT | `/projects/{projectId}/start` | [StartProject](./StartProject.md) | Starts a project. Translatable files should be uploaded before starting the project. If the action is executed on an already started project, the new translatable files should be uploaded first. | | +| PUT | `/projects/{projectId}/complete` | [CompleteProject](./CompleteProject.md) | Marks a project as "completed". | | +| POST | `/projects/{projectId}/files/exports` | [ExportProjectFiles](./ExportProjectFiles.md) | Generates an asynchronous export operation. To monitor the progress until completion, use the [Poll Project Files Export](../api/Public-API.v1-fv.html#/operations/ExportProjectFilesStatus) endpoint. This operation triggers the packaging of the project files into a `zip` format. > **WARNING** > The export ID has a time-to-live (TTL) of 20 minutes, starting from when this export operation is initiated (not when the underlying async operation completes). Ensure you poll and download the export within this timeframe, or you will receive a `404 Not Found` error. | | +| GET | `/projects/{projectId}/files/exports/{exportId}` | [ExportProjectFilesStatus](./ExportProjectFilesStatus.md) | Retrieves the state of the export operation. Once the state is marked as `done`, you can download the generated `zip` file using the following endpoint: [Download Exported Project Files](../api/Public-API.v1-fv.html#/operations/DownloadFile). > **WARNING** > The export ID has a time-to-live (TTL) of 20 minutes, starting from when the export operation was initiated (not when the underlying async operation completes). If the TTL expires, this endpoint will return a `404 Not Found` error. Ensure you poll and download the export within this timeframe. | | +| GET | `/projects/{projectId}/files/exports/{exportId}/download` | [DownloadFile](./DownloadFile.md) | Downloads the generated `zip` file containing the files according to initial export operation parameters. The final ZIP file will be named using the project name. When the export operation is performed with `downloadFlat=true` and one target language specified, the resulting ZIP file name will be a combination of the project name and the target language code, as defined by the [Export Project Files](#/operations/ExportProjectFiles) endpoint. | | +| PUT | `/projects/{projectId}/files/{fileId}/cancel` | [CancelProjectFile](./CancelProjectFile.md) | Cancels a project file. The `fileId` path parameter can be either a source file identifier or a target file identifier. Use the [List Source Files](#/operations/ListSourceFiles) endpoint to obtain source file identifiers, or the [List Target Files](#/operations/ListTargetFiles) endpoint to obtain target file identifiers. | | +| GET | `/projects/{projectId}/tasks` | [ListProjectTasks](./ListProjectTasks.md) | Lists the tasks of a specific project. | | +| PATCH | `/projects/{projectId}/tasks/reschedule` | [RescheduleProjectTasks](./RescheduleProjectTasks.md) | Reschedules the tasks of a specific project. | | +| PUT | `/projects/{projectId}/custom-fields/{customFieldKey}` | [UpdateCustomField](./UpdateCustomField.md) | Allows updating individual custom fields on a project. | | + +## Source File + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/projects/{projectId}/source-files` | [ListSourceFiles](./ListSourceFiles.md) | Retrieves the source files in a project. | | +| POST | `/projects/{projectId}/source-files` | [AddSourceFile](./AddSourceFile.md) | Adds a source file to the project. Files can be uploaded before starting a project or after the project has started. When adding a `translatable` file after the project started, a new start project request should be performed. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. > Note: The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated. > Note: Zip files will be added as reference files. If you want to upload zip files, please use the [Upload Zip File](#/operations/UploadZipFile) endpoint. | | +| PUT | `/projects/{projectId}/source-files` | [UpdateSourceFiles](./UpdateSourceFiles.md) | Updates multiple source files. If any of the files fails to be updated, an error will be returned for each file. | | +| POST | `/projects/{projectId}/source-files/attach-files` | [AddSourceFiles](./AddSourceFiles.md) | This endpoint can only be used after files have been uploaded via the [Upload Zip File](#/operations/UploadZipFile) endpoint. It allows you to add multiple source files to a project. Each file must be individually attached by setting the `fileUrl` to the `associatedFiles.id` returned by the [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoint, once the `unzipStatus` is `extracted`. If a file is attached after the project has already been started, a new start project request must be made. > Note: The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated. | | +| GET | `/projects/{projectId}/source-files/{sourceFileId}` | [GetSourceFile](./GetSourceFile.md) | Retrieves a source file from the project. | | +| PUT | `/projects/{projectId}/source-files/{sourceFileId}` | [UpdateSourceFile](./UpdateSourceFile.md) | Updates a source file. | | +| GET | `/projects/{projectId}/source-files/{sourceFileId}/versions` | [ListSourceFileVersions](./ListSourceFileVersions.md) | Retrieves all the versions of a source file. | | +| POST | `/tasks/{taskId}/source-files/{sourceFileId}/versions` | [AddSourceFileVersion](./AddSourceFileVersion.md) | Adds a new version of the source file in [BCM](../../BCM/BCM.NET_client_API.html) or native format. More information about file formats can be found on the [File formats](../docs/File-formats.html) page. The version is added on the task represented by `taskId`. To successfully execute the add operation the task should already be assigned and accepted by a user. If the task is automatic, it's possible to add a source file version only when the status of task is `inProgress`. The file versions added need to respect the output file type declared by the task type of the enclosing task. On the [Rules for sequencing tasks correctly](https://docs.rws.com/791595/885137/trados-enterprise/rules-for-sequencing-tasks-correctly) page from the official RWS Documentation Center, you can find out what output file type is supported by each task. For adding a source file version using an extension task, the configuration of the task must declare the `scope`'s value as "file". If the file type of the new added file is different than the supported source file type, the new `fileTypeSettingsId` must be specified in the body or an update of file type should be performed after the add operation, using the [Update Source File Properties](#/operations/UpdateSourceProperties). The value of `fileTypeSettingsId` is one of the identifiers listed by the [List File Type Settings](#/operations/ListFileTypeSettings) endpoint. The [List File Type Settings](#/operations/ListFileTypeSettings) endpoint must be called with the File Processing Configuration identifier of your project. The File Processing Configuration of your project can be retrieved from [Get Project](#/operations/GetProject) endpoint. The multipart parameters in the body should respect and strictly follow the order specified in our documentation. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when adding files. | | +| GET | `/projects/{projectId}/source-files/{sourceFileId}/versions/{fileVersionId}/download` | [DownloadSourceFileVersion](./DownloadSourceFileVersion.md) | Downloads a source file version. | | +| GET | `/tasks/{taskId}/source-files/{sourceFileId}` | [GetSourceFileProperties](./GetSourceFileProperties.md) | Retrieves the properties for a source file. | | +| PUT | `/tasks/{taskId}/source-files/{sourceFileId}` | [UpdateSourceProperties](./UpdateSourceProperties.md) | Updates the properties of the source file. The value of `fileTypeSettingsId` should be one of the identifiers listed by the [List File Type Settings](#/operations/ListFileTypeSettings) endpoint called with an identifier of a File Processing Configuration that exists on the project. The list of File Processing Configurations from a project can be retrieved by using the [List File Processing Configurations](#/operations/ListFileProcessingConfigurations) endpoint. | | + +## Target File + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/projects/{projectId}/target-files/{targetFileId}` | [GetTargetFile](./GetTargetFile.md) | Retrieves a target file from a project. | | +| PUT | `/projects/{projectId}/target-files/{targetFileId}` | [UpdateTargetFile](./UpdateTargetFile.md) | Updates a target file. | | +| GET | `/projects/{projectId}/target-files` | [ListTargetFiles](./ListTargetFiles.md) | Retrieves the target files for a project. | | +| PUT | `/projects/{projectId}/target-files` | [UpdateTargetFiles](./UpdateTargetFiles.md) | Updates multiple target files. If any of the files fails to be updated, an error will be returned for each file. | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}` | [GetTargetFileVersion](./GetTargetFileVersion.md) | Retrieves one version of a target file. | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions` | [ListTargetFileVersions](./ListTargetFileVersions.md) | Retrieves the versions of a target file. | | +| POST | `/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports` | [ExportTargetFileVersion](./ExportTargetFileVersion.md) | Generates an asynchronous export operation. Use the [Get Target File Version Export](#/operations/PollTargetFileVersionExport) endpoint to poll until the export is completed. Used only for [BCM](../../BCM/BCM.NET_client_API.html) file versions. This operation triggers a conversion of the BCM target file version in a native or SDLXLIFF format, based on the value of the `format` query parameter used. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId}` | [PollTargetFileVersionExport](./PollTargetFileVersionExport.md) | Polls a target file version via an export operation. The new version can be downloaded once the status is "completed". | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId}/download` | [DownloadExportedTargetFileVersion](./DownloadExportedTargetFileVersion.md) | Downloads a completed target file version via an export operation. | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download` | [DownloadFileVersion](./DownloadFileVersion.md) | Downloads the file version (native or BCM). If the `fileVersionId` path parameter represents a native file version, the native file will be downloaded. If the `fileVersionId` is an identifier of a version in [BCM format](../../BCM/BCM.NET_client_API.html), the BCM file will be downloaded. | | +| POST | `/projects/{projectId}/target-files/{targetFileId}/versions/imports` | [ImportTargetFileVersion](./ImportTargetFileVersion.md) | Generates an asynchronous import operation. Use [Poll Target File Version Import endpoint](#/operations/PollTargetFileVersionImport) to poll until the import is completed. Only `sdlxliff` files can be imported. Import should be used when a file is downloaded as an `sdlxliff`, processed and then, replaced. The import operation triggers internally the update of the [BCM](../../BCM/BCM.NET_client_API.html) file associated with the imported file. It should mostly be used for offline work. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. | | +| GET | `/projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId}` | [PollTargetFileVersionImport](./PollTargetFileVersionImport.md) | Polls a target file version via an import operation. The new version can be seen on the file versions once the status is "completed". | | +| POST | `/tasks/{taskId}/target-files/{targetFileId}/versions` | [AddTargetFileVersion](./AddTargetFileVersion.md) | Adds a new version of the target file. Only the `native` and `bcm` file formats are accepted. For the `sdlxliff` files, you should use the [Import Target File endpoint](#/operations/ImportTargetFileVersion). More information about file formats can be found on the [File formats](../docs/File-formats.html) page. Additional details on BCM files can be found [here](../../BCM/BCM.NET_client_API.html). The version is added on the task represented by `taskId`. To be able to execute the add operation the task should be assigned and accepted by user. If the task is automatic, it is possible to add a target file version only if the status is `inProgress`. The added file versions need to respect the output file type declared by the task type of the enclosing task. On the [Rules for sequencing tasks correctly](https://docs.rws.com/791595/885137/trados-enterprise/rules-for-sequencing-tasks-correctly) page from the official RWS Documentation Center, you can find out what output file type is supported by each task. For adding a target file version using an extension task, the configuration of the task type must declare the `scope`'s value as "file". The multipart parameters in the body should respect and strictly follow the order specified in our documentation. Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. | | + +## Quote + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/projects/{projectId}/quote-report/export` | [ExportQuoteReport](./ExportQuoteReport.md) | Generates an asynchronous quote export operation for the project in either PDF or Excel format. Use the [polling endpoint](../api/Public-API.v1-fv.html#/operations/PollQuoteReportExport) to check when the export is completed.

Built-in quotes are only available in the same languages as the user interface. See [this page](https://docs.rws.com/791595/1084405/trados-enterprise---accelerate/ui-languages) for more information.
Customers who use non-default quote templates are responsible for the implementation of a suitable localization approach. > **WARNING** > The export ID has a time-to-live (TTL) of 20 minutes, starting from when this export operation is initiated (not when the underlying async operation completes). Ensure you poll and download the export within this timeframe, or you will receive a `404 Not Found` error. | | +| GET | `/projects/{projectId}/quote-report/export` | [PollQuoteReportExport](./PollQuoteReportExport.md) | Polls a quote report via an export operation. The quote report can be [downloaded](../api/Public-API.v1-fv.html#/operations/DownloadQuoteReport) once the status is "completed". The recommended polling interval is 20 seconds. If the `exportId` query parameter is not provided, the polling action will return the status for the last generated export. > **WARNING** > The export ID has a time-to-live (TTL) of 20 minutes, starting from when the export operation was initiated (not when the underlying async operation completes). If the TTL expires, this endpoint will return a `404 Not Found` error. Ensure you poll and download the export within this timeframe. | | +| GET | `/projects/{projectId}/quote-report/download` | [DownloadQuoteReport](./DownloadQuoteReport.md) | Downloads a quote report generated by the [asynchronous export operation](#/operations/ExportQuoteReport). If the `exportId` query parameter is not provided, the last generated export quote will be downloaded. | | + +## Project Group + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/project-groups` | [ListProjectGroups](./ListProjectGroups.md) | Retrieves a list of all the project groups in an account. | | +| POST | `/project-groups` | [CreateProjectGroup](./CreateProjectGroup.md) | Creates a new project group. | | +| GET | `/project-groups/{projectGroupId}` | [GetProjectGroup](./GetProjectGroup.md) | Retrieves a project group by identifier. | | +| PUT | `/project-groups/{projectGroupId}` | [UpdateProjectGroup](./UpdateProjectGroup.md) | Updates the project group. | | +| DELETE | `/project-groups/{projectGroupId}` | [DeleteProjectGroup](./DeleteProjectGroup.md) | Deletes a project group. | | +| POST | `/project-groups/{projectGroupId}/projects` | [AddProjectsToGroup](./AddProjectsToGroup.md) | Adds projects to the project group. The projects are not added instantly. To check the status use the [Get Project Group](#/operations/GetProjectGroup) endpoint. | | +| DELETE | `/project-groups/{projectGroupId}/projects` | [RemoveProjectsFromGroup](./RemoveProjectsFromGroup.md) | Removes projects from the project group. The projects are not removed instantly. To check the status use the [Get Project Group](#/operations/GetProjectGroup) endpoint. | | + +## Project Template + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/project-templates/{projectTemplateId}` | [GetProjectTemplate](./GetProjectTemplate.md) | Retrieves a project template by identifier. For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). | | +| PUT | `/project-templates/{projectTemplateId}` | [UpdateProjectTemplate](./UpdateProjectTemplate.md) | Updates a project template by id. For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). | | +| DELETE | `/project-templates/{projectTemplateId}` | [DeleteProjectTemplate](./DeleteProjectTemplate.md) | Deletes a project template by id. | | +| GET | `/project-templates` | [ListProjectTemplates](./ListProjectTemplates.md) | Retrieves a list of all the project templates in an account. | | +| POST | `/project-templates` | [CreateProjectTemplate](./CreateProjectTemplate.md) | Creates a new project template. | | + +## Quote Template + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/quote-templates` | [ListQuoteTemplates](./ListQuoteTemplates.md) | Retrieves a list of all the quote templates in an account. | | +| GET | `/quote-templates/{quoteTemplateId}` | [GetQuoteTemplate](./GetQuoteTemplate.md) | Retrieves a quote template by identifier. | | + +## Rate Limits + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/rate-limits` | [ListRateLimits](./ListRateLimits.md) | Retrieves a list of all rate limits applicable for an account. | | + +## Role and Permission + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/roles` | [ListRoles](./ListRoles.md) | Retrieves a list of all roles available for the account. | | +| POST | `/roles` | [CreateRole](./CreateRole.md) | Creates a custom role. See [List Permissions](#/operations/ListPermissions) for available permission names. | | +| GET | `/roles/{roleId}` | [GetRole](./GetRole.md) | Retrieves a role by identifier. | | +| PUT | `/roles/{roleId}` | [UpdateRole](./UpdateRole.md) | Updates a role by identifier. Pay special attention to how [updating](../docs/Updating-data-with-PUT.html) works. See [List Permissions](#/operations/ListPermissions) for available permission names. > Note: Only custom roles can be updated. Provisioned roles cannot be modified. | | +| DELETE | `/roles/{roleId}` | [DeleteRole](./DeleteRole.md) | Deletes a role by identifier. > Note: Only custom roles can be deleted. Provisioned roles cannot be removed. | | +| GET | `/permissions` | [ListPermissions](./ListPermissions.md) | Retrieves a list of all permissions available for the account. | | + +## Schedule Template + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/schedule-templates` | [ListScheduleTemplates](./ListScheduleTemplates.md) | Retrieves a list of all the schedule templates in an account. | | +| POST | `/schedule-templates` | [CreateScheduleTemplate](./CreateScheduleTemplate.md) | Creates a new schedule template. | | +| GET | `/schedule-templates/{scheduleTemplateId}` | [GetScheduleTemplate](./GetScheduleTemplate.md) | Retrieves a schedule template by identifier. | | +| DELETE | `/schedule-templates/{scheduleTemplateId}` | [DeleteScheduleTemplate](./DeleteScheduleTemplate.md) | Deletes a schedule template. | | +| PUT | `/schedule-templates/{scheduleTemplateId}` | [UpdateScheduleTemplate](./UpdateScheduleTemplate.md) | Updates the schedule template identified by `scheduleTemplateId`. | | + +## Task + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/tasks/{taskId}` | [GetTask](./GetTask.md) | Retrieves a task. | | +| GET | `/tasks/assigned` | [ListTasksAssignedToMe](./ListTasksAssignedToMe.md) | Retrieves the tasks assigned to the authenticated user. | | +| PUT | `/tasks/{taskId}/accept` | [AcceptTask](./AcceptTask.md) | Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. Optionally, the task can be accepted on behalf of a group by providing the `onBehalfOfGroup` query parameter. In this case, the authenticated user must be a member of the specified group, and the group must be present in the task's assignee list. The `onBehalfOfGroup` parameter is allowed only if the [task](#/operations/GetTask) has `configuration.CONCURRENT_EDITING_ENABLED = true`. | | +| PUT | `/tasks/{taskId}/reject` | [RejectTask](./RejectTask.md) | Rejects a task. The authenticated user will be removed from the task's list of available assignee users. | | +| PUT | `/tasks/{taskId}/complete` | [CompleteTask](./CompleteTask.md) | Completes a task. The task is required to be in "inProgress" state and will be marked as "completed". | | +| PUT | `/tasks/{taskId}/release` | [ReleaseTask](./ReleaseTask.md) | Releases the task from its owner so that other task assignees will be able to accept it. | | +| PUT | `/tasks/{taskId}/reclaim` | [ReclaimTask](./ReclaimTask.md) | The current owner of task is removed so that other assignees can accept it. The task is not reassigned automatically. | | +| PUT | `/tasks/{taskId}/assign` | [AssignTask](./AssignTask.md) | Assigns a task. The task assignees will be updated. | | + +## Task Type + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/task-types/{taskTypeId}` | [GetTaskType](./GetTaskType.md) | Retrieves a task type by identifier. | | +| GET | `/task-types` | [ListTaskTypes](./ListTaskTypes.md) | Retrieves all the task types in an account. | | + +## Translation Engine + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/translation-engines/{translationEngineId}` | [GetTranslationEngine](./GetTranslationEngine.md) | Retrieves a translation engine. | | +| PUT | `/translation-engines/{translationEngineId}` | [UpdateTranslationEngine](./UpdateTranslationEngine.md) | Updates a translation engine. It can be used to update a stand-alone translation engine or a project's translation engine. The identifier of a project's translation engine can be retrieved only by calling [Get Project](#/operations/GetProject) endpoint. Pay special attention that some properties can not be changed for a project's translation engine. These include: name, description, definition.languageProcessingId, and language pairs can not be added/removed from definition.languagePairDefinitions. Pay special attention to how [updating](../docs/Updating-data-with-PUT.html) works. | | +| GET | `/translation-engines` | [ListTranslationEngines](./ListTranslationEngines.md) | Retrieves all the translation engines in an account. | | + +## Termbase Entry Templates + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/termbases/{termbaseId}/entry-templates` | [ListTermbaseEntryTemplates](./ListTermbaseEntryTemplates.md) | Retrieves the entry templates that are linked to the termbase. | | + +## Termbase Template + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/termbase-templates` | [ListTermbaseTemplates](./ListTermbaseTemplates.md) | List termbase templates. | | +| POST | `/termbase-templates` | [CreateTermbaseTemplate](./CreateTermbaseTemplate.md) | Creates a new termbase template. | | +| GET | `/termbase-templates/{termbaseTemplateId}` | [GetTermbaseTemplate](./GetTermbaseTemplate.md) | Get a termbase template by identifier. | | +| DELETE | `/termbase-templates/{termbaseTemplateId}` | [DeleteTermbaseTemplate](./DeleteTermbaseTemplate.md) | Deletes a termbase template by identifier. | | +| PUT | `/termbase-templates/{termbaseTemplateId}` | [UpdateTermbaseTemplate](./UpdateTermbaseTemplate.md) | Updates the termbase template. | | +| POST | `/termbase-templates/convert-xdt` | [ConvertTermbaseTemplate](./ConvertTermbaseTemplate.md) | Converts a termbase definition (XDT file) to a termbase structure that will be returned in the response.
The structure will not be stored in the Trados Cloud Platform. | | + +## Termbase + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/termbases` | [ListTermbase](./ListTermbase.md) | List termbases. | | +| POST | `/termbases` | [CreateTermbase](./CreateTermbase.md) | Creates a new termbase. The termbase can be created with a termbase template by providing the templateId or by providing a custom termbaseStructure. If only a `termbaseTemplateId` was provided, the termbase will be created using data from the template. If only a `termbaseStructure` was provided, the termbase will be created using data from the structure. If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence. | | +| GET | `/termbases/{termbaseId}` | [GetTermbase](./GetTermbase.md) | Retrieves a termbase by identifier. | | +| DELETE | `/termbases/{termbaseId}` | [DeleteTermbase](./DeleteTermbase.md) | Deletes a termbase by identifier. | | +| PUT | `/termbases/{termbaseId}` | [UpdateTermbase](./UpdateTermbase.md) | Updates the termbase. The termbase can be updated with a termbase template by providing the termbaseTemplateId or by providing a custom termbaseStructure. If only a `termbaseTemplateId ` was provided, the termbase will be updated using data from the template. If only a `termbaseStructure` was provided, the termbase will be updated using data from the structure. If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence. | | +| POST | `/termbases/{termbaseId}/entries` | [CreateTermbaseEntry](./CreateTermbaseEntry.md) | Creates a new termbase entry. For more information about how to use `fieldValueLinks` see [`Create termbase entry`](../docs/termbase/Termbase-entries.html#creating-a-termbase-entry). | | +| GET | `/termbases/{termbaseId}/entries` | [ListTermbaseEntries](./ListTermbaseEntries.md) | Retrieves a list of all the entries in a termbase. | | +| DELETE | `/termbases/{termbaseId}/entries` | [DeleteTermbaseEntries](./DeleteTermbaseEntries.md) | Deletes all the entries in the termbase. | | +| GET | `/termbases/{termbaseId}/entries/{entryId}` | [GetTermbaseEntry](./GetTermbaseEntry.md) | Retrieves a termbase entry by identifier. | | +| PUT | `/termbases/{termbaseId}/entries/{entryId}` | [UpdateTermbaseEntry](./UpdateTermbaseEntry.md) | Updates a termbase entry by identifier. The request body will overwrite the existing data. | | +| DELETE | `/termbases/{termbaseId}/entries/{entryId}` | [DeleteTermbaseEntry](./DeleteTermbaseEntry.md) | Deletes a termbase entry. | | +| GET | `/termbases/{termbaseId}/terms/{sourceLanguageCode}` | [ListTermbaseTerms](./ListTermbaseTerms.md) | Retrieves a list of all the terms of the termbase. Search types: - normal: Use normal search to look for terms that match the text exactly as entered. - linguistic: Use linguistic search to look for terms that are similar to the search term. Linguistic search is based on stemming and other language-dependent aspects. - fuzzy: Use fuzzy search to look for terms that are similar to the search term. Fuzzy search is more fault-tolerant than linguistic search. | | + +## Termbase Export + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/termbases/{termbaseId}/exports` | [ExportTermbase](./ExportTermbase.md) | Generates an asynchronous export operation.
Use the [Poll Export Termbase](#/operations/PollExportTermbase) endpoint to poll until the export status is `done`. | | +| GET | `/termbases/{termbaseId}/exports/{exportId}` | [PollExportTermbase](./PollExportTermbase.md) | Polls a termbase via an export operation. The exported termbase can be downloaded once the status is `done`. | | +| GET | `/termbases/{termbaseId}/exports/{exportId}/download` | [DownloadExportedTermbase](./DownloadExportedTermbase.md) | Downloads the exported termbase when the poll operation status is `done`. | | +| GET | `/termbases/{termbaseId}/export-template` | [DownloadTermbaseDefinition](./DownloadTermbaseDefinition.md) | Downloads the termbase definition. | | + +## Termbase Import + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/termbases/{termbaseId}/imports` | [GetImportHistory](./GetImportHistory.md) | Gets the import history for a termbase. | | +| POST | `/termbases/{termbaseId}/imports` | [ImportTermbase](./ImportTermbase.md) | Generates an asynchronous import operation.
Use the Poll Import Termbase endpoint to poll until the import status is `done`.
| | +| GET | `/termbases/{termbaseId}/imports/{importId}` | [PollTermbaseImport](./PollTermbaseImport.md) | Polls a termbase import operation. | | +| GET | `/termbases/{termbaseId}/imports/{importId}/logs` | [DownloadTermbaseImportLog](./DownloadTermbaseImportLog.md) | Downloads the termbase import logs. | | + +## TQA Profile + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/tqa-profiles` | [ListTqaProfiles](./ListTqaProfiles.md) | List TQA Profiles. | | +| GET | `/tqa-profiles/{profileId}` | [GetTqaProfile](./GetTqaProfile.md) | Get a TQA Profile By identifier. | | + +## Translation Memory + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/translation-memory/{translationMemoryId}` | [GetTranslationMemory](./GetTranslationMemory.md) | Get a single Translation Memory by identifier. | | +| PUT | `/translation-memory/{translationMemoryId}` | [UpdateTranslationMemory](./UpdateTranslationMemory.md) | Updates a Translation Memory. We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.html). | | +| DELETE | `/translation-memory/{translationMemoryId}` | [DeleteTranslationMemory](./DeleteTranslationMemory.md) | Deletes a Translation Memory. | | +| POST | `/translation-memory/{translationMemoryId}/copy` | [CopyTranslationMemory](./CopyTranslationMemory.md) | Creates a copy of a Translation Memory. The name will be suffixed with ' (Copy) ' | | +| GET | `/translation-memory` | [ListTranslationMemories](./ListTranslationMemories.md) | Retrieves all the Translation Memories. | | +| POST | `/translation-memory` | [CreateTranslationMemory](./CreateTranslationMemory.md) | Create a new Translation Memory. | | +| GET | `/translation-memory/field-templates` | [ListFieldTemplates](./ListFieldTemplates.md) | Retrieves all the Field Templates. | | +| GET | `/translation-memory/field-templates/{fieldTemplateId}` | [GetFieldTemplate](./GetFieldTemplate.md) | Get a single Field Template by identifier. | | + +## Translation Memory Import + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/translation-memory/{translationMemoryId}/imports` | [GetTMImportHistory](./GetTMImportHistory.md) | Gets the import history for a translation memory. It returns the history of last 7 days. | | +| POST | `/translation-memory/{translationMemoryId}/imports` | [ImportTranslationMemory](./ImportTranslationMemory.md) | Generates an asynchronous import operation.

Read more about prerequisites and limitations on the [official documentation center](https://docs.rws.com/791595/741139/trados-enterprise/importing-tm-content).
Note: The order of the multipart form parameter must be implemented as such: properties first, file second.
Use the Poll Translation Memory Import endpoint to poll until the import status is `done`.
To track the progress of the import please refer to [Poll Translation Memory Import](#/operations/PollTMImport). | | +| GET | `/translation-memory/imports/{importId}` | [PollTMImport](./PollTMImport.md) | Polls a Translation Memory import operation. The import is finished when the status is `done`. | | + +## Translation Memory Export + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/translation-memory/{translationMemoryId}/exports` | [ExportTranslationMemory](./ExportTranslationMemory.md) | Generates an asynchronous export operation. Use the [Poll Translation Memory Export](#/operations/PollTranslationMemoryExport) endpoint to poll until the export status is `done`. | | +| GET | `/translation-memory/exports/{exportId}` | [PollTranslationMemoryExport](./PollTranslationMemoryExport.md) | Polls a translation memory via an export operation. The exported translation memory can be downloaded once the status is `done`. | | +| GET | `/translation-memory/exports/{exportId}/download` | [DownloadExportedTranslationMemory](./DownloadExportedTranslationMemory.md) | Downloads the exported translation memory in the `tmx.gz` format when the poll operation status is `done`. | | + +## Translation + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| POST | `/translations/lookup` | [TranslationsLookup](./TranslationsLookup.md) | Translates a phrase in plain text or a BCM fragment containing a single segment. The translated content will be returned as a BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html) or [term](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Skeleton.Term.html). For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. | | +| POST | `/translations/concordance` | [TranslationsConcordanceSearch](./TranslationsConcordanceSearch.md) | Performs a concordance search for a given text within the TM linked to the specified translation engine. The translated content will be returned as a BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html) or [term](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Skeleton.Term.html). For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. | | +| PUT | `/translations/translation-unit` | [TranslationsUpdate](./TranslationsUpdate.md) | Updates a translation unit. The system identifies matching translation units in the TM based on the provided BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html). For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. | | +| POST | `/translations/translation-unit` | [TranslationsAdd](./TranslationsAdd.md) | Adds a translation unit. The system identifies matching translation units in the TM based on the provided BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html). For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. | | + +## User + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/users/me` | [GetMyUser](./GetMyUser.md) | Retrieves the authenticated user. | | +| GET | `/users` | [ListUsers](./ListUsers.md) | Retrieves a list of all the users in an account. | | +| POST | `/users` | [CreateUser](./CreateUser.md) | Creates a new user in an account. | | +| GET | `/users/{userId}` | [GetUser](./GetUser.md) | Retrieves a user by identifier. | | +| PUT | `/users/{userId}` | [UpdateUser](./UpdateUser.md) | Updates a user within the account. Please follow the update rules detailed on the [Updating data with PUT](../docs/Updating-data-with-PUT.html) page. When performing an update, fields that are related to a different type of user will be ignored. | | +| DELETE | `/users/{userId}` | [DeleteUser](./DeleteUser.md) | Deletes a user. | | + +## Public Keys + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/.well-known/jwks.json` | [ListPublicKeys](./ListPublicKeys.md) | List all available Public Keys. | | +| GET | `/.well-known/jwks.json/{kid}` | [GetPublicKey](./GetPublicKey.md) | Retrieves a public key by it's identifier. | | + +## Vendor + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/vendors` | [ListVendors](./ListVendors.md) | Retrieves a list of all the vendors in an account. | | +| POST | `/vendors` | [CreateVendor](./CreateVendor.md) | Creates a new vendor organization. A vendor represents an external LSP that can be assigned translation tasks. The key contact provided will become the primary point of contact for the vendor. Creating a vendor automatically provisions a dedicated folder and a `VendorProjectManager` group within the account hierarchy. **Managing vendor members:** Users can be added to a vendor by inviting them via the [Create User](#/operations/CreateUser) endpoint, specifying the auto-created `VendorProjectManager` group as one of the `groups` in the request. Users can be removed from the vendor by removing them from that group using the [Update Group](#/operations/UpdateGroup) or [Update User](#/operations/UpdateUser) endpoints. | | +| GET | `/vendors/{vendorId}` | [GetVendor](./GetVendor.md) | Retrieves a vendor by identifier. Use the `fields` query parameter to include optional nested resources such as `members`. The `members` field returns the users in the vendor's `VendorProjectManager` group. To manage vendor members, use the [Create User](#/operations/CreateUser), [Update User](#/operations/UpdateUser), or [Update Group](#/operations/UpdateGroup) endpoints. | | +| PUT | `/vendors/{vendorId}` | [UpdateVendor](./UpdateVendor.md) | Updates a vendor by identifier. Only fields included in the request body are updated. We recommend reading [Updating data with PUT](../docs/Updating-data-with-PUT.html) before using this endpoint. **Member management is not part of this endpoint.** To add a user to a vendor, invite them via the [Create User](#/operations/CreateUser) endpoint specifying the vendor's `VendorProjectManager` group. To remove a user from the vendor, remove them from that group using the [Update Group](#/operations/UpdateGroup) or [Update User](#/operations/UpdateUser) endpoints. | | +| DELETE | `/vendors/{vendorId}` | [DeleteVendor](./DeleteVendor.md) | Deletes a vendor by identifier. | | +| GET | `/vendors/{vendorId}/order-templates` | [ListVendorOrderTemplates](./ListVendorOrderTemplates.md) | Retrieves a list of vendor order templates for the specified vendor. | | +| POST | `/vendors/{vendorId}/order-templates` | [CreateVendorOrderTemplate](./CreateVendorOrderTemplate.md) | Creates a new vendor order template for the specified vendor. For more information on creating vendor order templates, see [Creating order templates for vendors](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/creating-order-templates-for-vendors-708439). | | +| GET | `/vendors/{vendorId}/order-templates/{orderTemplateId}` | [GetVendorOrderTemplate](./GetVendorOrderTemplate.md) | Retrieves a vendor order template by identifier. | | +| PUT | `/vendors/{vendorId}/order-templates/{orderTemplateId}` | [UpdateVendorOrderTemplate](./UpdateVendorOrderTemplate.md) | Updates a vendor order template by identifier. Only fields included in the request body are updated. We recommend reading [Updating data with PUT](../docs/Updating-data-with-PUT.html) before using this endpoint. | | +| DELETE | `/vendors/{vendorId}/order-templates/{orderTemplateId}` | [DeleteVendorOrderTemplate](./DeleteVendorOrderTemplate.md) | Deletes a vendor order template by identifier. | | + +## Workflow + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/workflows/{workflowId}` | [GetWorkflow](./GetWorkflow.md) | Retrieves a workflow by identifier. | | +| PUT | `/workflows/{workflowId}` | [UpdateWorkflow](./UpdateWorkflow.md) | Updates the workflow in terms of: name, description, task configuration (and its details), and task type configuration values (`configurationValues`). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386). | | +| GET | `/workflows` | [ListWorkflows](./ListWorkflows.md) | Retrieves all the workflows in an account. | | + +## Translation Domain + +| Method | Path | OperationId | Description | Notes | +|--------|------|-------------|-------------|-------| +| GET | `/translation-domain/service-types` | [ListTranslationServiceTypes](./ListTranslationServiceTypes.md) | List all available service types. | | + diff --git a/articles/LCPublicAPI/aidocs/reference/ListApplications.md b/articles/LCPublicAPI/aidocs/reference/ListApplications.md new file mode 100644 index 0000000..d523f8d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListApplications.md @@ -0,0 +1,304 @@ +# Trados Cloud Platform API List Applications + +List Applications ListApplications GET /applications + +- Friendly name: List Applications +- Operation ID: ListApplications +- HTTP Method: GET +- Path: /applications + +Retrieves a list of applications the authenticated user has access to. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-applications-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-applications-response + + +``` +type: object + description: A response for the List Applications endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/application +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: application + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - enableApiAccess: type: boolean + - serviceUser: $ref: #/components/schemas/user + - apiAccess: type: object + description: API Access details. + properties: + - clientId: type: string + - clientSecret: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IIntegrationClient` + +```csharp +Task ListApplicationsAsync(string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `IntegrationApi` + +```java +// GET /applications?fields={fields}&top={top}&skip={skip} +ListApplicationsResponse listApplications(String fields, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListCustomFields.md b/articles/LCPublicAPI/aidocs/reference/ListCustomFields.md new file mode 100644 index 0000000..c0c2c5d --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListCustomFields.md @@ -0,0 +1,186 @@ +# Trados Cloud Platform API List Custom Field Definitions + +List Custom Field Definitions ListCustomFields GET /custom-field-definitions + +- Friendly name: List Custom Field Definitions +- Operation ID: ListCustomFields +- HTTP Method: GET +- Path: /custom-field-definitions + +Retrieves a list of all the custom field definitions. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **resourceType** (query, string) - optional: Filters the custom field definitions by the resource type they apply to. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-custom-field-definitions-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-custom-field-definitions-response + + +``` +type: object + description: A response for the List Custom Field Definitions endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/custom-field-definition +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: custom-field-definition + + +``` +type: object + description: The Custom Field definition. +properties: + - id: type: string + - name: type: string + - key: type: string + - description: type: string + - type: type: string enum: [long, double, boolean, date, string, checkbox, longtext, picklist, multiSelectPicklist] + - pickListOptions: type: array + items: + type: string + - resourceType: type: string enum: [project, customer, vendor, vendorOrderTemplate] + - isReadOnly: type: boolean + - defaultValue: type: string + - isMandatory: type: boolean + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ICustomFieldClient` + +```csharp +Task ListCustomFieldsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null, ResourceType? resourceType = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | +| `resourceType` | `ResourceType` | no | + +### Java — `CustomFieldApi` + +```java +// GET /custom-field-definitions?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields}&resourceType={resourceType} +ListCustomFieldDefinitionsResponse listCustomFields(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields, String resourceType); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | +| `resourceType` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListCustomers.md b/articles/LCPublicAPI/aidocs/reference/ListCustomers.md new file mode 100644 index 0000000..8e24789 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListCustomers.md @@ -0,0 +1,332 @@ +# Trados Cloud Platform API List Customers + +List Customers ListCustomers GET /customers + +- Friendly name: List Customers +- Operation ID: ListCustomers +- HTTP Method: GET +- Path: /customers + +Retrieves a list of all the customers in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-customers-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-customers-response + + +``` +type: object + description: A response for the List Customers endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/customer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ICustomerClient` + +```csharp +Task ListCustomersAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `CustomerApi` + +```java +// GET /customers?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListCustomersResponse listCustomers(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListFieldTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListFieldTemplates.md new file mode 100644 index 0000000..8e31565 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListFieldTemplates.md @@ -0,0 +1,201 @@ +# Trados Cloud Platform API List Field Templates + +List Field Templates ListFieldTemplates GET /translation-memory/field-templates + +- Friendly name: List Field Templates +- Operation ID: ListFieldTemplates +- HTTP Method: GET +- Path: /translation-memory/field-templates + +Retrieves all the Field Templates. + +## Parameters + +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-translation-memory-field-templates (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-translation-memory-field-templates + + +``` +type: object + description: A response for the List Translation Memory Field Templates endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/translation-memory-field-template +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task ListFieldTemplatesAsync(int? top = null, int? skip = null, string sort = null, IEnumerable location, LocationStrategy? locationStrategy = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// GET /translation-memory/field-templates?top={top}&skip={skip}&sort={sort}&location={location}&locationStrategy={locationStrategy}&fields={fields} +ListTranslationMemoryFieldTemplates listFieldTemplates(Integer top, Integer skip, String sort, List location, String locationStrategy, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListFileProcessingConfigurations.md b/articles/LCPublicAPI/aidocs/reference/ListFileProcessingConfigurations.md new file mode 100644 index 0000000..a1e986f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListFileProcessingConfigurations.md @@ -0,0 +1,173 @@ +# Trados Cloud Platform API List File Processing Configurations + +List File Processing Configurations ListFileProcessingConfigurations GET /file-processing-configurations + +- Friendly name: List File Processing Configurations +- Operation ID: ListFileProcessingConfigurations +- HTTP Method: GET +- Path: /file-processing-configurations + +Retrieves a list of all the file processing configurations in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-file-processing-configurations-response (see model section below) + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": the requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-file-processing-configurations-response + + +``` +type: object + description: A response for the List File Processing Configurations endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/file-processing-configuration +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IFileProcessingConfigurationClient` + +```csharp +Task ListFileProcessingConfigurationsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `FileProcessingConfigurationApi` + +```java +// GET /file-processing-configurations?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListFileProcessingConfigurationsResponse listFileProcessingConfigurations(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListFileTypeSettings.md b/articles/LCPublicAPI/aidocs/reference/ListFileTypeSettings.md new file mode 100644 index 0000000..e8e3006 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListFileTypeSettings.md @@ -0,0 +1,132 @@ +# Trados Cloud Platform API List File Type Settings + +List File Type Settings ListFileTypeSettings GET /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings + +- Friendly name: List File Type Settings +- Operation ID: ListFileTypeSettings +- HTTP Method: GET +- Path: /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings + +Retrieves a list of all the file type settings in a file processing configuration. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-file-type-settings-response (see model section below) + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-file-type-settings-response + + +``` +type: object + description: A response for the List File Type Settings endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/file-type-setting +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: file-type-setting + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - typeId: type: string + - enabled: type: boolean + - excluded: type: boolean + - deprecated: type: boolean + - orderNumber: type: integer + - extensions: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileProcessingConfigurationClient` + +```csharp +Task ListFileTypeSettingsAsync(string fileProcessingConfigurationId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `FileProcessingConfigurationApi` + +```java +// GET /file-processing-configurations/{fileProcessingConfigurationId}/file-type-settings?fields={fields} +ListFileTypeSettingsResponse listFileTypeSettings(String fileProcessingConfigurationId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileProcessingConfigurationId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListFolders.md b/articles/LCPublicAPI/aidocs/reference/ListFolders.md new file mode 100644 index 0000000..b435353 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListFolders.md @@ -0,0 +1,161 @@ +# Trados Cloud Platform API List Folders + +List Folders ListFolders GET /folders + +- Friendly name: List Folders +- Operation ID: ListFolders +- HTTP Method: GET +- Path: /folders + +Retrieves a list of all the folders in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **name** (query, string) - optional: Filter folders by name. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-folders-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-folders-response + + +``` +type: object + description: A response for the List Folders endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IFolderClient` + +```csharp +Task ListFoldersAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string name = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `name` | `string` | no | +| `fields` | `string` | no | + +### Java — `FolderApi` + +```java +// GET /folders?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&name={name}&fields={fields} +ListFoldersResponse listFolders(Integer top, Integer skip, List location, String locationStrategy, String name, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `name` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListGroups.md b/articles/LCPublicAPI/aidocs/reference/ListGroups.md new file mode 100644 index 0000000..0e07f57 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListGroups.md @@ -0,0 +1,303 @@ +# Trados Cloud Platform API List Groups + +List Groups ListGroups GET /groups + +- Friendly name: List Groups +- Operation ID: ListGroups +- HTTP Method: GET +- Path: /groups + +Retrieves a list of all the groups in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-groups-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-groups-response + + +``` +type: object + description: A response for the List Groups endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/group +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IGroupClient` + +```csharp +Task ListGroupsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `GroupApi` + +```java +// GET /groups?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListGroupsResponse listGroups(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListLanguageProcessingRules.md b/articles/LCPublicAPI/aidocs/reference/ListLanguageProcessingRules.md new file mode 100644 index 0000000..a854e42 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListLanguageProcessingRules.md @@ -0,0 +1,143 @@ +# Trados Cloud Platform API List Language Processing Rules + +List Language Processing Rules ListLanguageProcessingRules GET /language-processing-rules + +- Friendly name: List Language Processing Rules +- Operation ID: ListLanguageProcessingRules +- HTTP Method: GET +- Path: /language-processing-rules + +Returns a list of Language Processing Rules. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-language-processing-rules (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-language-processing-rules + + +``` +type: object +properties: + - items: type: array + items: + $ref: #/components/schemas/language-processing-rule + - itemCount: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ILanguageProcessingClient` + +```csharp +Task ListLanguageProcessingRulesAsync(int? top = null, int? skip = null, string sort = null, IEnumerable location, LocationStrategy? locationStrategy = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `fields` | `string` | no | + +### Java — `LanguageProcessingApi` + +```java +// GET /language-processing-rules?top={top}&skip={skip}&sort={sort}&location={location}&locationStrategy={locationStrategy}&fields={fields} +ListLanguageProcessingRules listLanguageProcessingRules(Integer top, Integer skip, String sort, List location, String locationStrategy, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListLanguages.md b/articles/LCPublicAPI/aidocs/reference/ListLanguages.md new file mode 100644 index 0000000..aeaacbc --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListLanguages.md @@ -0,0 +1,135 @@ +# Trados Cloud Platform API List Languages + +List Languages ListLanguages GET /languages + +- Friendly name: List Languages +- Operation ID: ListLanguages +- HTTP Method: GET +- Path: /languages + +Retrieves a list of all the languages. + +The supported values for language `type` filter are: "all", "specific" or "neutral".\ +The "neutral" languages are the generic languages, e.g.: en -> English.\ +The "specific" languages are the sub-languages, e.g.: en-150 -> English (Europe), en-us -> English (United States). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **languageCodes** (query, array) - optional: Filter by language codes. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **type** (query, string) - optional: Filter by type. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-languages-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-languages-response + + +``` +type: object + description: A response for the List Languages endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/language +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ILanguageClient` + +```csharp +Task ListLanguagesAsync(IEnumerable languageCodes, Type? type = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `languageCodes` | `IEnumerable` | yes | +| `type` | `Type` | no | +| `fields` | `string` | no | + +### Java — `LanguageApi` + +```java +// GET /languages?languageCodes={languageCodes}&type={type}&fields={fields} +ListLanguagesResponse listLanguages(List languageCodes, String type, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `languageCodes` | `List` | no | +| `type` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListLlmConfigurations.md b/articles/LCPublicAPI/aidocs/reference/ListLlmConfigurations.md new file mode 100644 index 0000000..c7f7875 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListLlmConfigurations.md @@ -0,0 +1,124 @@ +# Trados Cloud Platform API List LLM Configurations + +List LLM Configurations ListLlmConfigurations GET /connected-ai/llm-configurations + +- Friendly name: List LLM Configurations +- Operation ID: ListLlmConfigurations +- HTTP Method: GET +- Path: /connected-ai/llm-configurations + +List the account configured Large Language Models. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-llm-configurations-response (see model section below) + +### 400 + +"invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-llm-configurations-response + + +``` +type: object + description: A response for the List LLM Configurations endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/llm-configuration-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: llm-configuration-response + + +``` +type: object + description: The LLM configuration details +properties: + - id: type: string + - description: type: string + - model: type: string + - type: type: string enum: [azureOpenAI, awsBedrock] + - isDefault: type: boolean + - isActive: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IConnectedAIClient` + +```csharp +Task ListLlmConfigurationsAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `ConnectedAiApi` + +```java +// GET /connected-ai/llm-configurations?fields={fields} +ListLlmConfigurationsResponse listLlmConfigurations(String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListMachineTranslations.md b/articles/LCPublicAPI/aidocs/reference/ListMachineTranslations.md new file mode 100644 index 0000000..caee1e9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListMachineTranslations.md @@ -0,0 +1,129 @@ +# Trados Cloud Platform API List Machine Translations + +List Machine Translations ListMachineTranslations GET /machine-translation + +- Friendly name: List Machine Translations +- Operation ID: ListMachineTranslations +- HTTP Method: GET +- Path: /machine-translation + +Retrieves a list of machine translations that can be used in a translation engine. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **sourceLanguage** (query, string) - required: Language code expressed as generic language (example: "en") or specific language (example: "en-US") +- **targetLanguage** (query, array) - required: List of language codes separated by comma, values can be generic language code or specific language code. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-machine-translations-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-machine-translations-response + + +``` +type: object + description: A response for the List Machine Translations endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/machine-translation +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: machine-translation + + +``` +type: object + description: Machine translation resource. +properties: + - id: type: string + - provider: type: string + - type: type: string + - systemId: type: string + - modelSourceLanguage: type: string + - modelTargetLanguage: type: string + - matchingSourceLanguage: type: string + - matchingTargetLanguages: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IMachineTranslationClient` + +```csharp +Task ListMachineTranslationsAsync(string sourceLanguage, IEnumerable targetLanguage); +``` + +| Parameter | Type | Required | +|---|---|---| +| `sourceLanguage` | `string` | yes | +| `targetLanguage` | `IEnumerable` | yes | + +### Java — `MachineTranslationApi` + +```java +// GET /machine-translation?sourceLanguage={sourceLanguage}&targetLanguage={targetLanguage} +ListMachineTranslationsResponse listMachineTranslations(String sourceLanguage, List targetLanguage); +``` + +| Parameter | Type | Required | +|---|---|---| +| `sourceLanguage` | `String` | yes | +| `targetLanguage` | `List` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListMyAccounts.md b/articles/LCPublicAPI/aidocs/reference/ListMyAccounts.md new file mode 100644 index 0000000..a898448 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListMyAccounts.md @@ -0,0 +1,99 @@ +# Trados Cloud Platform API List my Accounts + +List my Accounts ListMyAccounts GET /accounts + +- Friendly name: List my Accounts +- Operation ID: ListMyAccounts +- HTTP Method: GET +- Path: /accounts + +Retrieves the accounts the authenticated user is part of. + +> For service users only the account where the user is defined is returned. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-my-accounts-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-my-accounts-response + + +``` +type: object + description: A response for the List My Accounts endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/account +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IAccountClient` + +```csharp +Task ListMyAccountsAsync(); +``` + +### Java + +_Not found in Java SDK — [Manual Review Needed]_ \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListPermissions.md b/articles/LCPublicAPI/aidocs/reference/ListPermissions.md new file mode 100644 index 0000000..9e87843 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListPermissions.md @@ -0,0 +1,114 @@ +# Trados Cloud Platform API List Permissions + +List Permissions ListPermissions GET /permissions + +- Friendly name: List Permissions +- Operation ID: ListPermissions +- HTTP Method: GET +- Path: /permissions + +Retrieves a list of all permissions available for the account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-permissions-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-permissions-response + + +``` +type: object + description: A response for the List Permissions endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task ListPermissionsAsync(); +``` + +### Java + +_Not found in Java SDK — [Manual Review Needed]_ \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListPricingModels.md b/articles/LCPublicAPI/aidocs/reference/ListPricingModels.md new file mode 100644 index 0000000..7d49b88 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListPricingModels.md @@ -0,0 +1,321 @@ +# Trados Cloud Platform API List Pricing Models + +List Pricing Models ListPricingModels GET /pricing-models + +- Friendly name: List Pricing Models +- Operation ID: ListPricingModels +- HTTP Method: GET +- Path: /pricing-models + +Retrieves a list of all the pricing models in an account. + +Sorting is supported for the following fields: `name`, `description`, `currencyCode` and `location`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-pricing-models-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-pricing-models-response + + +``` +type: object + description: A response for the List Pricing Models endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/pricing-model +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## SDK + +### .NET — `IPricingModelClient` + +```csharp +Task ListPricingModelsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `PricingModelApi` + +```java +// GET /pricing-models?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListPricingModelsResponse listPricingModels(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListProjectGroups.md b/articles/LCPublicAPI/aidocs/reference/ListProjectGroups.md new file mode 100644 index 0000000..ae7ca60 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListProjectGroups.md @@ -0,0 +1,189 @@ +# Trados Cloud Platform API List Project Groups + +List Project Groups ListProjectGroups GET /project-groups + +- Friendly name: List Project Groups +- Operation ID: ListProjectGroups +- HTTP Method: GET +- Path: /project-groups + +Retrieves a list of all the project groups in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-project-groups-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-project-groups-response + + +``` +type: object + description: A response for the List Project Groups endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/project-group +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task ListProjectGroupsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `fields` | `string` | no | + +### Java — `ProjectGroupApi` + +```java +// GET /project-groups?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&fields={fields} +ListProjectGroupsResponse listProjectGroups(Integer top, Integer skip, List location, String locationStrategy, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListProjectTasks.md b/articles/LCPublicAPI/aidocs/reference/ListProjectTasks.md new file mode 100644 index 0000000..f242ce0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListProjectTasks.md @@ -0,0 +1,2339 @@ +# Trados Cloud Platform API List Project's Tasks + +List Project's Tasks ListProjectTasks GET /projects/{projectId}/tasks + +- Friendly name: List Project's Tasks +- Operation ID: ListProjectTasks +- HTTP Method: GET +- Path: /projects/{projectId}/tasks + +Lists the tasks of a specific project. + +## Parameters + +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-tasks-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-tasks-response + + +``` +type: object + description: A response for the List Tasks endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/task +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task + + +``` +type: object + description: Task. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed, skipped, canceled] + - taskType: $ref: #/components/schemas/task-type + - input: $ref: #/components/schemas/task-input + - inputFiles: type: array + items: + $ref: #/components/schemas/task-input-file + - owner: $ref: #/components/schemas/task-owner + - assignees: type: array + items: + $ref: #/components/schemas/task-assignee + - dueBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - applicableOutcomes: type: array + items: + $ref: #/components/schemas/task-outcome + - outcome: type: string + - comment: type: string + - project: $ref: #/components/schemas/project + - failedTask: $ref: #/components/schemas/failed-task + - completedAt: $ref: #/components/schemas/date-time + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: task-input + + +``` +type: object + description: Task input. Based on the "type", the following fields can be retrieved: "project", "sourceFile", "targetFile". +properties: + - type: type: string enum: [project, sourceFile, targetFile, languageDirection] + - project: $ref: #/components/schemas/project + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file + - languageDirection: $ref: #/components/schemas/language-direction + - vendorOrder: $ref: #/components/schemas/vendor-order +``` + +## Model: task-input-file + + +``` +type: object + description: Task input file. Based on the "type", only the "sourceFile" or "targetFile" can be retrieved. +properties: + - type: type: string enum: [sourceFile, targetFile] + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file +``` + +## Model: task-owner + + +``` +type: object + description: Task owner. Based on the "type", the following properties can be retrieved: "user" or "group". +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: allOf: + - part0: + $ref: #/components/schemas/account + - location: allOf: + - part0: + $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: allOf: + - part0: + $ref: #/components/schemas/user-type + - status: allOf: + - part0: + $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: allOf: + - part0: + $ref: #/components/schemas/account-membership-type +``` + +## Model: task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", the following properties can be retrieved: "user", "group" or "vendorOrderTemplate". For "projectCreator" and "projectManager" no other properties are available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: task-outcome + + +``` +type: object + description: Outcome a task can be completed with. List will be populated after the task is accepted. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: failed-task + + +``` +type: object + description: Failed Task. +properties: + - id: type: string + - name: type: string + - errors: type: array + items: + $ref: #/components/schemas/task-error +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: target-file + + +``` +type: object + description: Target File. +properties: + - id: type: string + - name: type: string + - languageDirection: $ref: #/components/schemas/language-direction + - sourceFile: $ref: #/components/schemas/source-file + - latestVersion: $ref: #/components/schemas/target-file-latest-version + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - status: type: string enum: [inProgress, finished, canceled] +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: vendor-order + + +``` +type: object + description: A vendor order resource. +properties: + - id: type: string + - quote: $ref: #/components/schemas/quote +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: task-error + + +``` +type: object + description: Task Error. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: target-file-latest-version + + +``` +type: object + description: Target File Latest Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - version: type: integer +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task ListProjectTasksAsync(string projectId, int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `ProjectApi` + +```java +// GET /projects/{projectId}/tasks?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListTasksResponse listProjectTasks(String projectId, Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListProjectTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListProjectTemplates.md new file mode 100644 index 0000000..fa6d042 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListProjectTemplates.md @@ -0,0 +1,1543 @@ +# Trados Cloud Platform API List Project Templates + +List Project Templates ListProjectTemplates GET /project-templates + +- Friendly name: List Project Templates +- Operation ID: ListProjectTemplates +- HTTP Method: GET +- Path: /project-templates + +Retrieves a list of all the project templates in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **name** (query, string) - optional: Filter by name. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-project-templates-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-project-templates-response + + +``` +type: object + description: A response for the List Project Templates endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/project-template-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectTemplateClient` + +```csharp +Task ListProjectTemplatesAsync(string name = null, int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `name` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `ProjectTemplateApi` + +```java +// GET /project-templates?name={name}&top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListProjectTemplatesResponse listProjectTemplates(String name, Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `name` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListProjects.md b/articles/LCPublicAPI/aidocs/reference/ListProjects.md new file mode 100644 index 0000000..c1a1daf --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListProjects.md @@ -0,0 +1,2161 @@ +# Trados Cloud Platform API List Projects + +List Projects ListProjects GET /projects + +- Friendly name: List Projects +- Operation ID: ListProjects +- HTTP Method: GET +- Path: /projects + +Retrieves a list of all the projects in the account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **excludeOnline** (query, boolean) - optional: Excludes projects that are being worked on exclusively in the Online Editor +- **status** (query, string) - optional: Filter the list to include projects that have this status. +- **createdFrom** (query, string) - optional: Filter the list to include only projects created after the specified date and time. +- **createdTo** (query, string) - optional: Filter the list to include only projects created before the specified date and time. +- **createdBy** (query, string) - optional: Filter the list of projects to projects that were created by this user. +- **projectTemplateId** (query, string) - optional: Filter the list of projects to projects that were created using this project template. +- **projectIds** (query, array) - optional: Filter the list of projects to projects have these project identifiers. +- **sourceLanguage** (query, string) - optional: Filter the list of projects to projects that were created using this source language. +- **targetLanguage** (query, string) - optional: Filter the list of projects to projects that were created using this target language. +- **projectName** (query, string) - optional: Filter the list of projects to projects that were created using this project name. +- **dueFrom** (query, string) - optional: Filter the list of projects to projects that are due after this date and time.
Accepted format: ISO-8601 `YYYY-MM-DDThh:mm:ss.sssZ` +- **dueTo** (query, string) - optional: Filter the list of projects to projects that are due before this date and time.
Accepted format: ISO-8601 `YYYY-MM-DDThh:mm:ss.sssZ` +- **lastModifiedFrom** (query, string) - optional: Filter the list of projects to projects that are last modified after this date and time.
Accepted format: ISO-8601 `YYYY-MM-DDThh:mm:ss.sssZ` +- **lastModifiedTo** (query, string) - optional: Filter the list of projects to projects that are last modified before this date and time.
Accepted format: ISO-8601 `YYYY-MM-DDThh:mm:ss.sssZ` + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-projects-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-projects-response + + +``` +type: object + description: A response for the List Projects endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/project +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task ListProjectsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null, bool? excludeOnline = null, Status? status = null, DateTime? createdFrom = null, DateTime? createdTo = null, string createdBy = null, string projectTemplateId, IEnumerable projectIds, string sourceLanguage, string targetLanguage, string projectName, string dueFrom, string dueTo, string lastModifiedFrom, string lastModifiedTo); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | +| `excludeOnline` | `bool` | no | +| `status` | `Status` | no | +| `createdFrom` | `DateTime` | no | +| `createdTo` | `DateTime` | no | +| `createdBy` | `string` | no | +| `projectTemplateId` | `string` | yes | +| `projectIds` | `IEnumerable` | yes | +| `sourceLanguage` | `string` | yes | +| `targetLanguage` | `string` | yes | +| `projectName` | `string` | yes | +| `dueFrom` | `string` | yes | +| `dueTo` | `string` | yes | +| `lastModifiedFrom` | `string` | yes | +| `lastModifiedTo` | `string` | yes | + +### Java — `ProjectApi` + +```java +// GET /projects?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields}&excludeOnline={excludeOnline}&status={status}&createdFrom={createdFrom}&createdTo={createdTo}&createdBy={createdBy}&projectTemplateId={projectTemplateId}&projectIds={projectIds}&sourceLanguage={sourceLanguage}&targetLanguage={targetLanguage}&projectName={projectName}&dueFrom={dueFrom}&dueTo={dueTo}&lastModifiedFrom={lastModifiedFrom}&lastModifiedTo={lastModifiedTo} +ListProjectsResponse listProjects(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields, Boolean excludeOnline, String status, DateTime createdFrom, DateTime createdTo, String createdBy, String projectTemplateId, List projectIds, String sourceLanguage, String targetLanguage, String projectName, String dueFrom, String dueTo, String lastModifiedFrom, String lastModifiedTo); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | +| `excludeOnline` | `Boolean` | no | +| `status` | `String` | no | +| `createdFrom` | `DateTime` | no | +| `createdTo` | `DateTime` | no | +| `createdBy` | `String` | no | +| `projectTemplateId` | `String` | no | +| `projectIds` | `List` | no | +| `sourceLanguage` | `String` | no | +| `targetLanguage` | `String` | no | +| `projectName` | `String` | no | +| `dueFrom` | `String` | no | +| `dueTo` | `String` | no | +| `lastModifiedFrom` | `String` | no | +| `lastModifiedTo` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListPublicKeys.md b/articles/LCPublicAPI/aidocs/reference/ListPublicKeys.md new file mode 100644 index 0000000..09d1b74 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListPublicKeys.md @@ -0,0 +1,109 @@ +# Trados Cloud Platform API List Public Keys + +List Public Keys ListPublicKeys GET /.well-known/jwks.json + +- Friendly name: List Public Keys +- Operation ID: ListPublicKeys +- HTTP Method: GET +- Path: /.well-known/jwks.json + +List all available Public Keys. + +## Parameters + +No parameters. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: well-known-jwks-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: well-known-jwks-response + + +``` +type: object +properties: + - keys: $ref: #/components/schemas/list-jwks +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: list-jwks + + +``` +type: array +items: + $ref: #/components/schemas/jwk +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: jwk + + +``` +type: object + description: A Json Web Key. +
+See https://datatracker.ietf.org/doc/html/rfc7517 for details. +properties: + - kty: type: string + - n: type: string + - e: type: string + - alg: type: string + - kid: type: string + - use: type: string +``` + +## SDK + +### .NET — `IPublicKeysClient` + +```csharp +Task ListPublicKeysAsync(); +``` + +### Java + +_Not found in Java SDK — [Manual Review Needed]_ \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListQuoteTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListQuoteTemplates.md new file mode 100644 index 0000000..495b0b6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListQuoteTemplates.md @@ -0,0 +1,174 @@ +# Trados Cloud Platform API List Quote Templates + +List Quote Templates ListQuoteTemplates GET /quote-templates + +- Friendly name: List Quote Templates +- Operation ID: ListQuoteTemplates +- HTTP Method: GET +- Path: /quote-templates + +Retrieves a list of all the quote templates in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-quote-templates-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-quote-templates-response + + +``` +type: object + description: A response for the List Quote Templates endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/project-quote-template +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `IQuoteTemplateClient` + +```csharp +Task ListQuoteTemplatesAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `QuoteTemplateApi` + +```java +// GET /quote-templates?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListQuoteTemplatesResponse listQuoteTemplates(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListRateLimits.md b/articles/LCPublicAPI/aidocs/reference/ListRateLimits.md new file mode 100644 index 0000000..56fe4dd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListRateLimits.md @@ -0,0 +1,123 @@ +# Trados Cloud Platform API List Rate Limits + +List Rate Limits ListRateLimits GET /rate-limits + +- Friendly name: List Rate Limits +- Operation ID: ListRateLimits +- HTTP Method: GET +- Path: /rate-limits + +Retrieves a list of all rate limits applicable for an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-rate-limits-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-rate-limits-response + + +``` +type: object + description: A response for the List Rate Limits endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/rate-limit +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: rate-limit + + +``` +type: object + description: Rate Limit entry +properties: + - policyName: type: string + - description: type: string + - limit: type: integer + - remainingQuota: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IRateLimitsClient` + +```csharp +Task ListRateLimitsAsync(int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `RateLimitsApi` + +```java +// GET /rate-limits?top={top}&skip={skip} +ListRateLimitsResponse listRateLimits(Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListRoles.md b/articles/LCPublicAPI/aidocs/reference/ListRoles.md new file mode 100644 index 0000000..9c097bb --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListRoles.md @@ -0,0 +1,151 @@ +# Trados Cloud Platform API List Roles + +List Roles ListRoles GET /roles + +- Friendly name: List Roles +- Operation ID: ListRoles +- HTTP Method: GET +- Path: /roles + +Retrieves a list of all roles available for the account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-roles-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-roles-response + + +``` +type: object + description: A response for the List Roles endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task ListRolesAsync(string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `RoleAndPermissionApi` + +```java +// GET /roles?fields={fields}&top={top}&skip={skip} +ListRolesResponse listRoles(String fields, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListScheduleTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListScheduleTemplates.md new file mode 100644 index 0000000..4df2d92 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListScheduleTemplates.md @@ -0,0 +1,219 @@ +# Trados Cloud Platform API List Schedule Templates + +List Schedule Templates ListScheduleTemplates GET /schedule-templates + +- Friendly name: List Schedule Templates +- Operation ID: ListScheduleTemplates +- HTTP Method: GET +- Path: /schedule-templates + +Retrieves a list of all the schedule templates in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **name** (query, string) - optional: Filter by name. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-schedule-templates-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-schedule-templates-response + + +``` +type: object + description: A response for the List Schedule Templates endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/schedule-template +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## SDK + +### .NET — `IScheduleTemplateClient` + +```csharp +Task ListScheduleTemplatesAsync(int? top = null, int? skip = null, string fields = null, string name = null, IEnumerable location, LocationStrategy? locationStrategy = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `fields` | `string` | no | +| `name` | `string` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | + +### Java — `ScheduleTemplateApi` + +```java +// GET /schedule-templates?top={top}&skip={skip}&fields={fields}&name={name}&location={location}&locationStrategy={locationStrategy} +ListScheduleTemplatesResponse listScheduleTemplates(Integer top, Integer skip, String fields, String name, List location, String locationStrategy); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `fields` | `String` | no | +| `name` | `String` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListSourceFileVersions.md b/articles/LCPublicAPI/aidocs/reference/ListSourceFileVersions.md new file mode 100644 index 0000000..4039b4c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListSourceFileVersions.md @@ -0,0 +1,144 @@ +# Trados Cloud Platform API List Source File Versions + +List Source File Versions ListSourceFileVersions GET /projects/{projectId}/source-files/{sourceFileId}/versions + +- Friendly name: List Source File Versions +- Operation ID: ListSourceFileVersions +- HTTP Method: GET +- Path: /projects/{projectId}/source-files/{sourceFileId}/versions + +Retrieves all the versions of a source file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-source-file-versions-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to retrieve the source file versions. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project or the source file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-source-file-versions-response + + +``` +type: object + description: A response for the List Source File Versions endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/source-file-version +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task ListSourceFileVersionsAsync(string projectId, string sourceFileId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `sourceFileId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `SourceFileApi` + +```java +// GET /projects/{projectId}/source-files/{sourceFileId}/versions?fields={fields} +ListSourceFileVersionsResponse listSourceFileVersions(String projectId, String sourceFileId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFileId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListSourceFiles.md b/articles/LCPublicAPI/aidocs/reference/ListSourceFiles.md new file mode 100644 index 0000000..25e8b20 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListSourceFiles.md @@ -0,0 +1,204 @@ +# Trados Cloud Platform API List Source Files + +List Source Files ListSourceFiles GET /projects/{projectId}/source-files + +- Friendly name: List Source Files +- Operation ID: ListSourceFiles +- HTTP Method: GET +- Path: /projects/{projectId}/source-files + +Retrieves the source files in a project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-source-files-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": not authorized to retrieve source files on the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-source-files-response + + +``` +type: object + description: A response for the List Source Files endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/source-file +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task ListSourceFilesAsync(string projectId, int? top = null, int? skip = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `SourceFileApi` + +```java +// GET /projects/{projectId}/source-files?top={top}&skip={skip}&sort={sort}&fields={fields} +ListSourceFilesResponse listSourceFiles(String projectId, Integer top, Integer skip, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTargetFileVersions.md b/articles/LCPublicAPI/aidocs/reference/ListTargetFileVersions.md new file mode 100644 index 0000000..ca25528 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTargetFileVersions.md @@ -0,0 +1,144 @@ +# Trados Cloud Platform API List Target File Versions + +List Target File Versions ListTargetFileVersions GET /projects/{projectId}/target-files/{targetFileId}/versions + +- Friendly name: List Target File Versions +- Operation ID: ListTargetFileVersions +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions + +Retrieves the versions of a target file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-target-file-versions-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to retrieve versions on the target file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project or the target file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-target-file-versions-response + + +``` +type: object + description: A response for the List Target Files Versions endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/target-file-version +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: target-file-version + + +``` +type: object + description: Target File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task ListTargetFileVersionsAsync(string projectId, string targetFileId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions?fields={fields} +ListTargetFileVersionsResponse listTargetFileVersions(String projectId, String targetFileId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTargetFiles.md b/articles/LCPublicAPI/aidocs/reference/ListTargetFiles.md new file mode 100644 index 0000000..b9d85e8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTargetFiles.md @@ -0,0 +1,304 @@ +# Trados Cloud Platform API List Target Files + +List Target Files ListTargetFiles GET /projects/{projectId}/target-files + +- Friendly name: List Target Files +- Operation ID: ListTargetFiles +- HTTP Method: GET +- Path: /projects/{projectId}/target-files + +Retrieves the target files for a project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **targetFileIds** (query, array) - optional: Filter target files by identifiers. +- **sourceFileIds** (query, array) - optional: Filter target files by the identifiers of the source file they were generated from. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-target-files-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the target files on the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-target-files-response + + +``` +type: object + description: A response for the List Target Files endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/target-file +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: target-file + + +``` +type: object + description: Target File. +properties: + - id: type: string + - name: type: string + - languageDirection: $ref: #/components/schemas/language-direction + - sourceFile: $ref: #/components/schemas/source-file + - latestVersion: $ref: #/components/schemas/target-file-latest-version + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - status: type: string enum: [inProgress, finished, canceled] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: target-file-latest-version + + +``` +type: object + description: Target File Latest Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - version: type: integer +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task ListTargetFilesAsync(string projectId, IEnumerable targetFileIds, IEnumerable sourceFileIds, int? top = null, int? skip = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileIds` | `IEnumerable` | yes | +| `sourceFileIds` | `IEnumerable` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `fields` | `string` | no | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files?targetFileIds={targetFileIds}&sourceFileIds={sourceFileIds}&top={top}&skip={skip}&fields={fields} +ListTargetFilesResponse listTargetFiles(String projectId, List targetFileIds, List sourceFileIds, Integer top, Integer skip, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileIds` | `List` | no | +| `sourceFileIds` | `List` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTaskTypes.md b/articles/LCPublicAPI/aidocs/reference/ListTaskTypes.md new file mode 100644 index 0000000..3db6c10 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTaskTypes.md @@ -0,0 +1,236 @@ +# Trados Cloud Platform API List Task Types + +List Task Types ListTaskTypes GET /task-types + +- Friendly name: List Task Types +- Operation ID: ListTaskTypes +- HTTP Method: GET +- Path: /task-types + +Retrieves all the task types in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **key** (query, array) - optional: Filter by keys. +- **automatic** (query, boolean) - optional: Filter by automatic or human tasks. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-task-types-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-task-types-response + + +``` +type: object + description: A response for the List Task types endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/task-type +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITaskTypeClient` + +```csharp +Task ListTaskTypesAsync(IEnumerable key, bool? automatic = null, int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `key` | `IEnumerable` | yes | +| `automatic` | `bool` | no | +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `TaskTypeApi` + +```java +// GET /task-types?key={key}&automatic={automatic}&top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListTaskTypesResponse listTaskTypes(List key, Boolean automatic, Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `key` | `List` | no | +| `automatic` | `Boolean` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTasksAssignedToMe.md b/articles/LCPublicAPI/aidocs/reference/ListTasksAssignedToMe.md new file mode 100644 index 0000000..2315a85 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTasksAssignedToMe.md @@ -0,0 +1,2348 @@ +# Trados Cloud Platform API List Tasks assigned to me + +List Tasks assigned to me ListTasksAssignedToMe GET /tasks/assigned + +- Friendly name: List Tasks assigned to me +- Operation ID: ListTasksAssignedToMe +- HTTP Method: GET +- Path: /tasks/assigned + +Retrieves the tasks assigned to the authenticated user. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **status** (query, string) - optional: If specified, this filters tasks by status. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-tasks-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-tasks-response + + +``` +type: object + description: A response for the List Tasks endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/task +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: task + + +``` +type: object + description: Task. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed, skipped, canceled] + - taskType: $ref: #/components/schemas/task-type + - input: $ref: #/components/schemas/task-input + - inputFiles: type: array + items: + $ref: #/components/schemas/task-input-file + - owner: $ref: #/components/schemas/task-owner + - assignees: type: array + items: + $ref: #/components/schemas/task-assignee + - dueBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - applicableOutcomes: type: array + items: + $ref: #/components/schemas/task-outcome + - outcome: type: string + - comment: type: string + - project: $ref: #/components/schemas/project + - failedTask: $ref: #/components/schemas/failed-task + - completedAt: $ref: #/components/schemas/date-time + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: task-input + + +``` +type: object + description: Task input. Based on the "type", the following fields can be retrieved: "project", "sourceFile", "targetFile". +properties: + - type: type: string enum: [project, sourceFile, targetFile, languageDirection] + - project: $ref: #/components/schemas/project + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file + - languageDirection: $ref: #/components/schemas/language-direction + - vendorOrder: $ref: #/components/schemas/vendor-order +``` + +## Model: task-input-file + + +``` +type: object + description: Task input file. Based on the "type", only the "sourceFile" or "targetFile" can be retrieved. +properties: + - type: type: string enum: [sourceFile, targetFile] + - sourceFile: $ref: #/components/schemas/source-file + - targetFile: $ref: #/components/schemas/target-file +``` + +## Model: task-owner + + +``` +type: object + description: Task owner. Based on the "type", the following properties can be retrieved: "user" or "group". +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: allOf: + - part0: + $ref: #/components/schemas/account + - location: allOf: + - part0: + $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: allOf: + - part0: + $ref: #/components/schemas/user-type + - status: allOf: + - part0: + $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: allOf: + - part0: + $ref: #/components/schemas/account-membership-type +``` + +## Model: task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", the following properties can be retrieved: "user", "group" or "vendorOrderTemplate". For "projectCreator" and "projectManager" no other properties are available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: task-outcome + + +``` +type: object + description: Outcome a task can be completed with. List will be populated after the task is accepted. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: project + + +``` +type: object + description: Project resource. +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - dueBy: type: string (format: date-time) + - deliveredBy: type: string (format: date-time) + - createdAt: type: string (format: date-time) + - status: type: string enum: [created, inProgress, completed, archived] + - statusHistory: type: array + items: + $ref: #/components/schemas/project-status-history + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction + - customer: $ref: #/components/schemas/customer + - createdBy: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - projectTemplate: $ref: #/components/schemas/project-template-response + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - projectPlan: $ref: #/components/schemas/project-plan + - analytics: $ref: #/components/schemas/analytics + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - quote: $ref: #/components/schemas/quote + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - tqaProfile: $ref: #/components/schemas/tqa-profile + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - projectGroup: $ref: #/components/schemas/project-group + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - perfectMatchMapping: $ref: #/components/schemas/perfect-match-mapping-simple-response + - settings: $ref: #/components/schemas/project-settings-response +``` + +## Model: failed-task + + +``` +type: object + description: Failed Task. +properties: + - id: type: string + - name: type: string + - errors: type: array + items: + $ref: #/components/schemas/task-error +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: source-file + + +``` +type: object + description: Source File. +properties: + - id: type: string + - name: type: string + - role: $ref: #/components/schemas/file-role + - language: $ref: #/components/schemas/language + - versions: type: array + items: + $ref: #/components/schemas/source-file-version + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - path: type: array + items: + type: string + - totalWords: type: integer +``` + +## Model: target-file + + +``` +type: object + description: Target File. +properties: + - id: type: string + - name: type: string + - languageDirection: $ref: #/components/schemas/language-direction + - sourceFile: $ref: #/components/schemas/source-file + - latestVersion: $ref: #/components/schemas/target-file-latest-version + - analysisStatistics: $ref: #/components/schemas/analysis-statistics + - status: type: string enum: [inProgress, finished, canceled] +``` + +## Model: language-direction + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - analysisStatistics: $ref: #/components/schemas/analysis-statistics +``` + +## Model: vendor-order + + +``` +type: object + description: A vendor order resource. +properties: + - id: type: string + - quote: $ref: #/components/schemas/quote +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: project-status-history + + +``` +type: object + description: An Item which describes a change in the status of the project. +properties: + - from: type: string enum: [none, created, inProgress, completed] + - to: type: string enum: [created, inProgress, completed] + - by: $ref: #/components/schemas/user + - timestamp: $ref: #/components/schemas/date-time +``` + +## Model: customer + + +``` +type: object + description: Customer resource. +properties: + - id: type: string + - name: type: string + - keyContact: $ref: #/components/schemas/user + - location: $ref: #/components/schemas/folder-v2 + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource +``` + +## Model: project-template-response + + +``` +type: object + description: Project Template resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics + - location: $ref: #/components/schemas/folder-v2 + - translationEngine: $ref: #/components/schemas/translation-engine + - fileProcessingConfiguration: $ref: #/components/schemas/file-processing-configuration + - pricingModel: $ref: #/components/schemas/pricing-model + - workflow: $ref: #/components/schemas/workflow + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - forceOnline: type: boolean + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-response + - quoteTemplate: $ref: #/components/schemas/project-quote-template-deprecated + - scheduleTemplate: $ref: #/components/schemas/schedule-template + - settings: $ref: #/components/schemas/project-template-settings-response + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: file-processing-configuration + + +``` +type: object + description: File Processing Configuration resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: project-plan + + +``` +type: object + description: The configurations of the tasks that will be created in the future. + +Available now directly after project creation, project does not need to be started to be populated. + +(Not available for List Projects endpoint) +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration +``` + +## Model: analytics + + +``` +type: object + description: Project analytics. +properties: + - progress: $ref: #/components/schemas/analytics-progress + - overdueStatistics: $ref: #/components/schemas/analytics-overdue-statistics + - sourceFileStatistics: type: array + items: + $ref: #/components/schemas/analytics-source-file-statistics + - workloadStatistics: $ref: #/components/schemas/analytics-workload-statistics + - taskTypeStatistics: type: array + items: + $ref: #/components/schemas/analytics-task-type-statistics + - phaseStatistics: type: array + items: + $ref: #/components/schemas/analytics-phase-statistics +``` + +## Model: analysis-statistics + + +``` +type: object +properties: + - exactMatch: $ref: #/components/schemas/count + - inContextExactMatch: $ref: #/components/schemas/count + - perfectMatch: $ref: #/components/schemas/count + - new: $ref: #/components/schemas/count + - repetitions: $ref: #/components/schemas/count + - crossDocumentRepetitions: $ref: #/components/schemas/count + - machineTranslation: $ref: #/components/schemas/count + - locked: $ref: #/components/schemas/count + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/fuzzy-count + - total: $ref: #/components/schemas/count +``` + +## Model: quote + + +``` +type: object + description: Project quote. +properties: + - totalAmount: type: number + - currencyCode: type: string + - translationCosts: type: array + items: + $ref: #/components/schemas/quote-translation-cost + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost + - notes: type: string +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-group + + +``` +type: object + description: Project Group resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - shortId: type: string + - name: type: string + - description: type: string + - status: type: string enum: [new, inProgress, completed, deleting] + - projects: type: array + items: + $ref: #/components/schemas/project-group-project + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: project-manager-response + + +``` +type: object + description: +properties: + - type: type: string enum: [group, user] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: schedule-template + + +``` +type: object + description: Schedule Template resource +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: perfect-match-mapping-simple-response + + +``` +type: object + description: PerfectMatch Mapping (Not available for List Projects endpoint) +properties: + - id: type: string + - createdBy: $ref: #/components/schemas/user + - batchMappings: type: array + items: + $ref: #/components/schemas/perfect-match-batch-mapping +``` + +## Model: project-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-response + - translationMemorySettings: $ref: #/components/schemas/project-translation-memory-settings-response + - batchTasks: $ref: #/components/schemas/project-batch-tasks-settings +``` + +## Model: task-error + + +``` +type: object + description: Task Error. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: file-role + + +``` +type: string enum: [translatable, reference, localizable, unknown] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: source-file-version + + +``` +type: object + description: Source File Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - name: type: string + - version: type: integer + - originatingTaskId: type: string +``` + +## Model: target-file-latest-version + + +``` +type: object + description: Target File Latest Version. +properties: + - id: type: string + - type: type: string enum: [native, bcm] + - version: type: integer +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: project-quote-template-deprecated + + +``` +type: object + description: (Deprecated) moved under settings.general.quoteTemplate +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: project-template-settings-response + + +``` +type: object + description: Project Template settings. See detailed description of options on the Official Documentation page. + + (Not available for List Project Templates endpoint) +properties: + - general: $ref: #/components/schemas/project-template-general-settings-response + - batchTasks: $ref: #/components/schemas/project-template-batch-tasks-settings + - verification: $ref: #/components/schemas/project-template-verification-settings + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings-response + - termbaseSettings: $ref: #/components/schemas/project-template-termbase-settings-response + - translationMemorySettings: $ref: #/components/schemas/project-template-translation-memory-settings-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: project-plan-task-configuration + + +``` +type: object + description: The configuration of a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - dueBy: type: string (format: date-time) + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: analytics-progress + + +``` +type: object + description: Overall progress. +properties: + - overall: type: integer +``` + +## Model: analytics-overdue-statistics + + +``` +type: object + description: Statistics on overdue work. +properties: + - overdueTasks: type: integer + - dueDateCloseTasks: type: integer +``` + +## Model: analytics-source-file-statistics + + +``` +type: object + description: Source file statistics grouped by role. +properties: + - role: $ref: #/components/schemas/file-role + - count: type: integer +``` + +## Model: analytics-workload-statistics + + +``` +type: object + description: Statistics on workload progress. +properties: + - completed: type: integer + - total: type: integer +``` + +## Model: analytics-task-type-statistics + + +``` +type: object + description: Task Type statistics grouped. +properties: + - id: type: string + - key: type: string + - total: type: integer + - current: type: integer + - completed: type: integer + - error: type: integer +``` + +## Model: analytics-phase-statistics + + +``` +type: object + description: Statistics for phases grouped. +properties: + - name: type: string + - total: type: integer + - completed: type: integer +``` + +## Model: count + + +``` +type: object + description: Statistics count. +properties: + - words: type: integer + - segments: type: integer + - characters: type: integer + - placeables: type: integer + - tags: type: integer +``` + +## Model: fuzzy-count + + +``` +type: object + description: Statistics count for fuzzy matches. +properties: + - count: $ref: #/components/schemas/count + - category: $ref: #/components/schemas/fuzzy-category +``` + +## Model: quote-translation-cost + + +``` +type: object + description: Fees calculated based on segment status (new, translated, signed off) and previous leverage (100% match and identical context, 100% match, <100%match, cross-file repetitions). +properties: + - total: type: number + - targetLanguage: $ref: #/components/schemas/language + - exactMatch: $ref: #/components/schemas/translation-cost-item + - inContextExactMatch: $ref: #/components/schemas/translation-cost-item + - new: $ref: #/components/schemas/translation-cost-item + - perfectMatch: $ref: #/components/schemas/translation-cost-item + - repetitions: $ref: #/components/schemas/translation-cost-item + - machineTranslation: $ref: #/components/schemas/translation-cost-item + - fuzzyMatch: type: array + items: + $ref: #/components/schemas/translation-cost-fuzzy-item + - runningTotal: type: number +``` + +## Model: quote-language-cost + + +``` +type: object + description: Fees relevant for a specific target language. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/language + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: quote-additional-cost + + +``` +type: object + description: Other extra fees not captured by translationCosts and languageCosts. +properties: + - name: type: string + - count: type: number + - total: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number + - runningTotal: type: number + - customUnitName: type: string +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: project-group-project + + +``` +type: object + description: Project resource for project group. +properties: + - id: type: string + - status: type: string enum: [attaching, attached, detaching, updating, failed] +``` + +## Model: schedule-template-configuration + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - taskTypeName: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: perfect-match-batch-mapping + + +``` +type: object +properties: + - id: type: string + - batch: type: integer + - status: type: string enum: [generating, generated, pending] + - matchingProjects: type: array + items: + $ref: #/components/schemas/project + - matchingFiles: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping +``` + +## Model: project-settings-general-response + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-response +``` + +## Model: project-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: project-batch-tasks-settings + + +``` +type: object + description: Project Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-batch-pre-processing-settings +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: project-template-general-settings-response + + +``` +type: object + description: General settings, are detailed in section 10.a +properties: + - forceOnline: type: boolean + - allowSourceEdit: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-batch-tasks-settings + + +``` +type: object + description: Project Template Batch Tasks Settings +properties: + - preProcessing: $ref: #/components/schemas/project-template-batch-tasks-preprocessing-settings + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: project-template-verification-settings + + +``` +type: object + description: +properties: + - tagVerifier: $ref: #/components/schemas/project-template-verification-tag-verifier-settings + - qaChecker: $ref: #/components/schemas/project-template-verification-qa-checker-settings +``` + +## Model: project-template-quality-management-settings-response + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/tqa-profile +``` + +## Model: project-template-termbase-settings-response + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-template-termbase-general-settings +``` + +## Model: project-template-translation-memory-settings-response + + +``` +type: object + description: Translation Memory settings +properties: + - penalties: $ref: #/components/schemas/project-template-TM-penalties + - filters: $ref: #/components/schemas/translation-memory-settings-filters-response + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-update-field-response +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: fuzzy-category + + +``` +type: object + description: Fuzzy category range. Example of Fuzzy bands: 100-100%, 95-99%, 85-94%, 75-84%, 50-74%. +properties: + - minimum: type: integer + - maximum: type: integer +``` + +## Model: translation-cost-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number +``` + +## Model: translation-cost-fuzzy-item + + +``` +type: object +properties: + - count: type: number + - rate: type: number + - total: type: number + - runningTotal: type: number + - fuzzyCategory: $ref: #/components/schemas/fuzzy-category +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## Model: perfect-match-file-mapping + + +``` +type: object +properties: + - fileMappingId: type: string + - fileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/language + - matches: type: array + items: + $ref: #/components/schemas/perfect-match-file-match +``` + +## Model: completion-config-response + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDate: $ref: #/components/schemas/date-time + - completeDays: type: number + - archiveDate: $ref: #/components/schemas/date-time + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-settings-filters-response + + +``` +type: object +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-settings-hard-filter-response +``` + +## Model: translation-memory-settings-update-field-response + + +``` +type: object + description: Translation Memory Field definition with values for field updates +``` + +## Model: project-batch-pre-processing-settings + + +``` +type: object +properties: + - reportCrossFileRepetition: type: boolean +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: project-template-batch-tasks-preprocessing-settings + + +``` +type: object + description: Pre-Processing Settings, configure how TMs are applied, are detailed in section 10.b +properties: + - minimumMatchValue: type: integer + - translationOverwriteMode: type: string enum: [keepExisting, overwriteIfBetter, overwriteAlways, overwriteExceptPerfectMatch] + - afterApplyingTranslations: type: array + items: + type: string enum: [confirmExactMatches, confirmContextMatches, lockExactMatches, lockContextMatches, lockGreenSegments, lockAmberSegments, lockRedSegments] + - noMatchFoundAction: type: string enum: [leaveTargetSegmentsEmpty, copySourceToTarget] + - reportCrossFileRepetition: type: boolean + - excludeLockedSegments: type: boolean +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: project-template-verification-tag-verifier-settings + + +``` +type: object + description: Tag Verifier Settings, are detailed in section 10.d +properties: + - enabled: type: boolean + - checkAddedTags: type: boolean + - addedTagsSeverity: type: string enum: [error, warning, note] + - checkDeletedTags: type: boolean + - deletedTagsSeverity: type: string enum: [error, warning, note] + - checkTagOrderChanged: type: boolean + - tagOrderChangedSeverity: type: string enum: [error, warning, note] + - checkSpacingAroundTags: type: boolean + - spaceAroundTagsSeverity: type: string enum: [error, warning, note] + - ignoreFormattingTags: type: boolean + - ignoreLockedSegments: type: boolean + - ignoreDifferenceBetweenNormalAndNonBreakingSpace: type: boolean +``` + +## Model: project-template-verification-qa-checker-settings + + +``` +type: object + description: QA Checker Settings, are detailed in section 10.e +properties: + - enabled: type: boolean + - allLanguages: $ref: #/components/schemas/project-template-verification-qa-checker-all-languages + - perTargetLanguage: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-per-target-language +``` + +## Model: project-template-termbase-general-settings + + +``` +type: object +properties: + - showRecognizedTermsWithNoTranslation: type: boolean + - enableRecognitionOfTwoLetterTerms: type: boolean + - allowOverlappingTerms: type: boolean + - minimumScore: type: number + - termLength: type: number +``` + +## Model: project-template-TM-penalties + + +``` +type: object + description: Translation Memory Penalties +properties: + - standardPenalties: $ref: #/components/schemas/project-template-TM-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/project-template-TM-translation-unit-status-penalties +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: perfect-match-file-match + + +``` +type: object +properties: + - fileName: type: string + - targetLanguage: $ref: #/components/schemas/language + - origin: $ref: #/components/schemas/perfect-match-file-origin +``` + +## Model: translation-memory-settings-hard-filter-response + + +``` +type: object + description: Hard filter configuration for Translation Memory matching. +properties: + - expression: type: string + - fields: type: array + items: + $ref: #/components/schemas/translation-memory-settings-filter-field-response +``` + +## Model: translation-memory-settings-filter-field-response + + +``` +type: object + description: Translation Memory Filter Field definition +properties: + - fieldId: type: string + - fieldTemplateId: type: string + - fieldTemplateName: type: string + - name: type: string + - type: type: string enum: [singleString, multipleString, singlePicklist, multiplePicklist, dateTime, integer] + - allowedValues: type: array + items: + type: object + properties: + - id: type: string + - name: type: string +``` + +## Model: project-template-verification-qa-checker-all-languages + + +``` +type: object +properties: + - segmentsVerification: $ref: #/components/schemas/project-template-verification-qa-checker-segments-verification + - segmentsToExclude: $ref: #/components/schemas/project-template-verification-qa-checker-segments-to-exclude + - inconsistencies: $ref: #/components/schemas/project-template-verification-qa-checker-inconsistencies + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions + - trademarkCheck: $ref: #/components/schemas/project-template-verification-qa-checker-trademark-check + - lengthVerification: $ref: #/components/schemas/project-template-verification-qa-checker-length-verification +``` + +## Model: project-template-verification-qa-checker-per-target-language + + +``` +type: object +properties: + - targetLanguage: $ref: #/components/schemas/language + - punctuation: $ref: #/components/schemas/project-template-verification-qa-checker-punctuation + - numbers: $ref: #/components/schemas/project-template-verification-qa-checker-numbers + - wordList: $ref: #/components/schemas/project-template-verification-qa-checker-word-list + - regularExpressions: $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions +``` + +## Model: project-template-TM-standard-penalties + + +``` +type: object + description: Translation Memory Standard Penalties +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: project-template-TM-translation-unit-status-penalties + + +``` +type: object + description: Translation Memory Translation Unit Status Penalties +properties: + - translated: type: integer + - rejectedTranslation: type: integer + - approvedTranslation: type: integer + - rejectedSignOff: type: integer + - approvedSignOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## Model: perfect-match-file-origin + + +``` +type: object +properties: + - fileId: type: string + - matchSource: type: string enum: [userUpload, perfectMatch, candidateConfirm, userSelection] + - projectId: type: string + - type: type: string enum: [bcm, sdlXliff] +``` + +## Model: project-template-verification-qa-checker-segments-verification + + +``` +type: object +properties: + - checkForgottenTranslation: type: boolean + - forgottenTranslationSeverity: type: string enum: [error, warning, note] + - checkSourceTargetIdentical: type: boolean + - sourceTargetIdenticalSeverity: type: string enum: [error, warning, note] + - identicalSegmentsIgnoreTags: type: boolean + - identicalSegmentsIgnoreCase: type: boolean + - checkTargetLonger: type: boolean + - longerByValue: type: number + - checkTargetShorter: type: boolean + - shorterByValue: type: number + - ignoreSegmentsFewerThanCount: type: number + - ignoreSegmentsFewerThanBase: type: string enum: [words, characters] + - checkForbiddenChars: type: boolean + - forbiddenChars: type: string + - forbiddenCharsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-segments-to-exclude + + +``` +type: object +properties: + - excludePerfectMatchSegments: type: boolean + - excludeExactMatches: type: boolean + - excludeFuzzyMatches: type: boolean + - excludeFuzzyMatchesValue: type: number + - excludeNewTranslation: type: boolean + - excludeConfirmedTranslations: type: boolean + - excludeLockedSegments: type: boolean + - excludeIdentical: type: boolean + - elementContextExclusion: type: boolean + - exclusionContextList: type: array + items: + type: string + - reportAllNonExcluded: type: boolean + - reportAllNonExcludedSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-inconsistencies + + +``` +type: object +properties: + - checkInconsistentTranslations: type: boolean + - checkInconsistentTranslationsSeverity: type: string enum: [error, warning, note] + - checkInconsistentTranslationsIgnoreTags: type: boolean + - checkInconsistentTranslationsIgnoreCase: type: boolean + - checkRepeatedWords: type: boolean + - checkRepeatedWordsSeverity: type: string enum: [error, warning, Note] + - checkRepeatedWordsIgnoreNumbers: type: boolean + - checkRepeatedWordsIgnoreCase: type: boolean + - checkUneditedSegmentsFuzzy: type: boolean + - checkUneditedSegmentsFuzzySeverity: type: string enum: [error, warning, note] + - checkOnlyConfirmedSegments: type: boolean + - checkIfMatchScoresBelow: type: boolean + - checkIfMatchScoresBelowValue: type: number +``` + +## Model: project-template-verification-qa-checker-punctuation + + +``` +type: object +properties: + - checkIdenticalPunctuation: type: boolean + - checkIdenticalPunctuationSeverity: type: string enum: [error, warning, note] + - checkSpanishPunctuation: type: boolean + - checkSpanishPunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuation: type: boolean + - checkUnintentionalSpacesBeforePunctuationSeverity: type: string enum: [error, warning, note] + - checkUnintentionalSpacesBeforePunctuationValues: type: string + - punctuationSpacesFrench: type: boolean + - checkMultipleSpaces: type: boolean + - checkMultipleSpacesSeverity: type: string enum: [error, warning, note] + - checkMultipleDots: type: boolean + - checkMultipleDotsSeverity: type: string enum: [error, warning, note] + - ignoreThreeDots: type: boolean + - checkExtraSpace: type: boolean + - checkExtraSpaceSeverity: type: string enum: [error, warning, note] + - checkCapitalizationOfInitials: type: boolean + - checkCapitalizationOfInitialsSeverity: type: string enum: [error, warning, note] + - checkConsistencyOfGlobalCapitalization: type: boolean + - checkConsistencyOfGlobalCapitalizationSeverity: type: string enum: [error, warning, note] + - checkBrackets: type: boolean + - checkBracketsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-numbers + + +``` +type: object +properties: + - checkNumbers: type: boolean + - checkNumbersSeverity: type: string enum: [error, warning, note] + - checkTimes: type: boolean + - checkTimesSeverity: type: string enum: [error, warning, note] + - checkDates: type: boolean + - checkDatesSeverity: type: string enum: [error, warning, note] + - checkMeasurements: type: boolean + - checkMeasurementsSeverity: type: string enum: [error, warning, note] +``` + +## Model: project-template-verification-qa-checker-word-list + + +``` +type: object +properties: + - enabled: type: boolean + - searchWholeWords: type: boolean + - ignoreCase: type: boolean + - checkWordListSeverity: type: string enum: [error, warning, note] + - wordList: type: array + items: + type: object + properties: + - wrongForm: type: string + - correctForm: type: string +``` + +## Model: project-template-verification-qa-checker-regular-expressions + + +``` +type: object +properties: + - checkRegularExpressions: type: boolean + - regularExpressionSeverity: type: string enum: [error, warning, note] + - regularExpressions: type: array + items: + $ref: #/components/schemas/project-template-verification-qa-checker-regular-expressions-model +``` + +## Model: project-template-verification-qa-checker-trademark-check + + +``` +type: object +properties: + - enabled: type: boolean + - trademarkSeverity: type: string enum: [error, warning, note] + - trademarkSymbols: type: array + items: + type: string +``` + +## Model: project-template-verification-qa-checker-length-verification + + +``` +type: object +properties: + - checkLengthLimitation: type: boolean + - checkLengthLimitationSeverity: type: string enum: [error, warning, note] + - targetSegmentsVerificationType: type: string enum: [fileSpecificLimit, absoluteCharacterCount] + - absoluteCharCountValue: type: number +``` + +## Model: project-template-verification-qa-checker-regular-expressions-model + + +``` +type: object +properties: + - description: type: string + - regexSource: type: string + - regexTarget: type: string + - ignoreCase: type: boolean + - condition: type: string enum: [targetAndSource, targetNotSource, sourceNotTarget, sourceOnly, targetOnly, differentCount, groupedTargetAndSource] +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task ListTasksAssignedToMeAsync(string status = null, int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `status` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `TaskApi` + +```java +// GET /tasks/assigned?status={status}&top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListTasksResponse listTasksAssignedToMe(String status, Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `status` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTermbase.md b/articles/LCPublicAPI/aidocs/reference/ListTermbase.md new file mode 100644 index 0000000..4eb3990 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTermbase.md @@ -0,0 +1,236 @@ +# Trados Cloud Platform API List Termbases + +List Termbases ListTermbase GET /termbases + +- Friendly name: List Termbases +- Operation ID: ListTermbase +- HTTP Method: GET +- Path: /termbases + +List termbases. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbases-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbases-response + + +``` +type: object + description: The list termbases response. +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase + + +``` +type: object + description: The termbase. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - termbaseStructure: $ref: #/components/schemas/termbase-structure + - numberOfEntries: type: number + - status: type: string enum: [ready, processingContent, exportingContent, deletingContent] + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: termbase-structure + + +``` +type: object + description: The termbase structure. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task ListTermbaseAsync(IEnumerable location, LocationStrategy? locationStrategy = null, string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `TermbaseApi` + +```java +// GET /termbases?location={location}&locationStrategy={locationStrategy}&fields={fields}&top={top}&skip={skip} +ListTermbasesResponse listTermbase(List location, String locationStrategy, String fields, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `fields` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntries.md b/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntries.md new file mode 100644 index 0000000..a919ccc --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntries.md @@ -0,0 +1,424 @@ +# Trados Cloud Platform API List Termbase Entries + +List Termbase Entries ListTermbaseEntries GET /termbases/{termbaseId}/entries + +- Friendly name: List Termbase Entries +- Operation ID: ListTermbaseEntries +- HTTP Method: GET +- Path: /termbases/{termbaseId}/entries + +Retrieves a list of all the entries in a termbase. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **humanReadableIds** (query, array) - optional: Can provide a list of humanReadableId from entries to filter by. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbase-entries-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the entries. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbase-entries-response + + +``` +type: object + description: The list termbase entries response. +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase-entry + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-entry + + +``` +type: object + description: The termbase entry. +properties: + - id: type: string + - humanReadableId: type: string + - languages: type: array + items: + $ref: #/components/schemas/termbase-entry-language + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: termbase-entry-language + + +``` +type: object + description: The termbase entry language. +properties: + - id: type: string + - language: $ref: #/components/schemas/language + - terms: type: array + items: + $ref: #/components/schemas/termbase-entry-term + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifedBy: $ref: #/components/schemas/user +``` + +## Model: termbase-field-value + + +``` +type: object + description: The termbase field value. +properties: + - id: type: string + - name: type: string + - termbaseFieldId: type: string + - value: type: string + - fieldValueLinks: type: array + items: + $ref: #/components/schemas/termbase-field-value-link + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-entry-term + + +``` +type: object + description: The termbase entry term. +properties: + - id: type: string + - text: type: string + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastModifiedAt: type: string (format: date-time) + - lastModifiedBy: $ref: #/components/schemas/user + - systemStatus: $ref: #/components/schemas/termbase-entry-term-system-status +``` + +## Model: termbase-field-value-link + + +``` +type: object + description: The field value link. +properties: + - type: type: string enum: [term, entry, external] + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: termbase-entry-term-system-status + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task ListTermbaseEntriesAsync(string termbaseId, int? top = null, int? skip = null, string fields = null, IEnumerable humanReadableIds); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `fields` | `string` | no | +| `humanReadableIds` | `IEnumerable` | yes | + +### Java — `TermbaseApi` + +```java +// GET /termbases/{termbaseId}/entries?top={top}&skip={skip}&fields={fields}&humanReadableIds={humanReadableIds} +ListTermbaseEntriesResponse listTermbaseEntries(String termbaseId, Integer top, Integer skip, String fields, List humanReadableIds); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `fields` | `String` | no | +| `humanReadableIds` | `List` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntryTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntryTemplates.md new file mode 100644 index 0000000..44d8606 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTermbaseEntryTemplates.md @@ -0,0 +1,136 @@ +# Trados Cloud Platform API List Termbase Entry Templates + +List Termbase Entry Templates ListTermbaseEntryTemplates GET /termbases/{termbaseId}/entry-templates + +- Friendly name: List Termbase Entry Templates +- Operation ID: ListTermbaseEntryTemplates +- HTTP Method: GET +- Path: /termbases/{termbaseId}/entry-templates + +Retrieves the entry templates that are linked to the termbase. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbase-entry-templates-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the resource. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbase-entry-templates-response + + +``` +type: object + description: The termbase entry templates response. +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase-entry-template + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-entry-template + + +``` +type: object + description: The termbase entry template. +properties: + - id: type: string + - name: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseEntryTemplatesClient` + +```csharp +Task ListTermbaseEntryTemplatesAsync(string termbaseId, string fields = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `fields` | `string` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `TermbaseEntryTemplatesApi` + +```java +// GET /termbases/{termbaseId}/entry-templates?top={top}&skip={skip}&fields={fields} +ListTermbaseEntryTemplatesResponse listTermbaseEntryTemplates(String termbaseId, Integer top, Integer skip, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTermbaseTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListTermbaseTemplates.md new file mode 100644 index 0000000..12f46ae --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTermbaseTemplates.md @@ -0,0 +1,226 @@ +# Trados Cloud Platform API List Termbase Templates + +List Termbase Templates ListTermbaseTemplates GET /termbase-templates + +- Friendly name: List Termbase Templates +- Operation ID: ListTermbaseTemplates +- HTTP Method: GET +- Path: /termbase-templates + +List termbase templates. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **location** (query, array) - optional: The identifiers of the resource folders. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **type** (query, string) - optional: The type of the termbase template to retrieve. If not specified, both types will be returned +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbase-templates-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the resources. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbase-templates-response + + +``` +type: object + description: The termbase templates response. +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase-template + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-template + + +``` +type: object + description: The termbase template. +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder-v2 + - createdAt: type: string (format: date-time) + - lastModifiedAt: type: string (format: date-time) + - type: type: string enum: [system, userDefined] + - languages: type: array + items: + $ref: #/components/schemas/language + - fields: type: array + items: + $ref: #/components/schemas/termbase-field +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: termbase-field + + +``` +type: object + description: The termbase field. +properties: + - id: type: string + - name: type: string + - description: type: string + - type: type: string enum: [system, userDefined] + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task ListTermbaseTemplatesAsync(IEnumerable location, string fields = null, Type2? type = null, int? top = null, int? skip = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `IEnumerable` | yes | +| `fields` | `string` | no | +| `type` | `Type2` | no | +| `top` | `int` | no | +| `skip` | `int` | no | + +### Java — `TermbaseTemplateApi` + +```java +// GET /termbase-templates?location={location}&fields={fields}&type={type}&top={top}&skip={skip} +ListTermbaseTemplatesResponse listTermbaseTemplates(List location, String fields, String type, Integer top, Integer skip); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `List` | no | +| `fields` | `String` | no | +| `type` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTermbaseTerms.md b/articles/LCPublicAPI/aidocs/reference/ListTermbaseTerms.md new file mode 100644 index 0000000..d341453 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTermbaseTerms.md @@ -0,0 +1,158 @@ +# Trados Cloud Platform API List Termbase Terms + +List Termbase Terms ListTermbaseTerms GET /termbases/{termbaseId}/terms/{sourceLanguageCode} + +- Friendly name: List Termbase Terms +- Operation ID: ListTermbaseTerms +- HTTP Method: GET +- Path: /termbases/{termbaseId}/terms/{sourceLanguageCode} + +Retrieves a list of all the terms of the termbase. +Search types: +- normal: Use normal search to look for terms that match the text exactly as entered. +- linguistic: Use linguistic search to look for terms that are similar to the search term. Linguistic search is based on stemming and other language-dependent aspects. +- fuzzy: Use fuzzy search to look for terms that are similar to the search term. Fuzzy search is more fault-tolerant than linguistic search. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **search** (query, string) - optional: The text to search for. +- **searchType** (query, string) - optional: The type of the search performed. +- **targetLanguageCode** (query, string) - optional: The target language code used to list the terms. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-termbase-terms-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read the entries. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-termbase-terms-response + + +``` +type: object + description: The list termbase terms response. +properties: + - items: type: array + items: + $ref: #/components/schemas/termbase-term + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-term + + +``` +type: object + description: The termbase term. +properties: + - id: type: string + - entryId: type: string + - text: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task ListTermbaseTermsAsync(string termbaseId, string sourceLanguageCode, int? top = null, int? skip = null, string search, SearchType? searchType = null, string targetLanguageCode); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `sourceLanguageCode` | `string` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `search` | `string` | yes | +| `searchType` | `SearchType` | no | +| `targetLanguageCode` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// GET /termbases/{termbaseId}/terms/{sourceLanguageCode}?top={top}&skip={skip}&search={search}&searchType={searchType}&targetLanguageCode={targetLanguageCode} +ListTermbaseTermsResponse listTermbaseTerms(String termbaseId, String sourceLanguageCode, Integer top, Integer skip, String search, String searchType, String targetLanguageCode); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `sourceLanguageCode` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `search` | `String` | no | +| `searchType` | `String` | no | +| `targetLanguageCode` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTqaProfiles.md b/articles/LCPublicAPI/aidocs/reference/ListTqaProfiles.md new file mode 100644 index 0000000..a6fd734 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTqaProfiles.md @@ -0,0 +1,256 @@ +# Trados Cloud Platform API List TQA Profiles + +List TQA Profiles ListTqaProfiles GET /tqa-profiles + +- Friendly name: List TQA Profiles +- Operation ID: ListTqaProfiles +- HTTP Method: GET +- Path: /tqa-profiles + +List TQA Profiles. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: list-tqa-profiles-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-tqa-profiles-response + + +``` +type: object + description: +properties: + - items: type: array + items: + $ref: #/components/schemas/tqa-profile + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: tqa-profile + + +``` +type: object + description: As a project manager, you choose a TQA configuration and use it to automatically assess the quality of a translation document. + +The TQA configuration specifies: + - Categories and subcategories that reviewers will use to classify the translation issues in a document. + - Severities to define custom metrics you want to use to assess translation quality. + - Score to measure the importance of each category or subcategory of an issue. + - Pass/Fail Threshold to define the maximum number of penalty points admitted before failing the translation document. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - passFailThreshold: $ref: #/components/schemas/tqa-profile-passFailThreshold + - categories: type: array + items: + $ref: #/components/schemas/tqa-profile-category + - severities: type: array + items: + $ref: #/components/schemas/tqa-profile-severity + - scores: type: array + items: + $ref: #/components/schemas/tqa-profile-score + - path: type: array + items: + $ref: #/components/schemas/folder +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: tqa-profile-passFailThreshold + + +``` +type: object + description: Pass/Fail Threshold is used to define the maximum number of penalty points admitted before failing the translation document. +properties: + - points: type: integer + - quantity: type: integer + - scope: type: string +``` + +## Model: tqa-profile-category + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - abbreviation: type: string +``` + +## Model: tqa-profile-severity + + +``` +type: object + description: Severities are custom metrics that reviewers can use to measure the importance of any translation-related issues that they find in a file. +properties: + - id: type: string + - name: type: string + - type: type: string +``` + +## Model: tqa-profile-score + + +``` +type: object + description: The TQA scoring indicates whether translations pass or fail the acceptance threshold. +properties: + - category: $ref: #/components/schemas/tqa-profile-category + - severity: $ref: #/components/schemas/tqa-profile-severity + - penalty: type: integer +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## SDK + +### .NET — `ITQAProfileClient` + +```csharp +Task ListTqaProfilesAsync(IEnumerable location, LocationStrategy? locationStrategy = null, int? top = null, int? skip = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `TqaProfileApi` + +```java +// GET /tqa-profiles?location={location}&locationStrategy={locationStrategy}&top={top}&skip={skip}&sort={sort}&fields={fields} +ListTqaProfilesResponse listTqaProfiles(List location, String locationStrategy, Integer top, Integer skip, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTranslationEngines.md b/articles/LCPublicAPI/aidocs/reference/ListTranslationEngines.md new file mode 100644 index 0000000..5b6817e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTranslationEngines.md @@ -0,0 +1,243 @@ +# Trados Cloud Platform API List Translation Engines + +List Translation Engines ListTranslationEngines GET /translation-engines + +- Friendly name: List Translation Engines +- Operation ID: ListTranslationEngines +- HTTP Method: GET +- Path: /translation-engines + +Retrieves all the translation engines in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-translation-engines-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-translation-engines-response + + +``` +type: object + description: A response for the List Translation Engines endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/translation-engine +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-engine + + +``` +type: object + description: Translation Engine resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## SDK + +### .NET — `ITranslationEngineClient` + +```csharp +Task ListTranslationEnginesAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `TranslationEngineApi` + +```java +// GET /translation-engines?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListTranslationEnginesResponse listTranslationEngines(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTranslationMemories.md b/articles/LCPublicAPI/aidocs/reference/ListTranslationMemories.md new file mode 100644 index 0000000..2072ffe --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTranslationMemories.md @@ -0,0 +1,431 @@ +# Trados Cloud Platform API List Translation Memories + +List Translation Memories ListTranslationMemories GET /translation-memory + +- Friendly name: List Translation Memories +- Operation ID: ListTranslationMemories +- HTTP Method: GET +- Path: /translation-memory + +Retrieves all the Translation Memories. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-translation-memories-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-translation-memories-response + + +``` +type: object + description: A response for the List Translation Memories endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/translation-memory +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory + + +``` +type: object + description: +properties: + - id: type: string + - name: type: string + - description: type: string + - copyright: type: string + - location: $ref: #/components/schemas/folder + - languageDirections: type: array + items: + $ref: #/components/schemas/translation-memory-language-direction + - languageProcessingRule: $ref: #/components/schemas/language-processing-rule + - fieldTemplate: $ref: #/components/schemas/translation-memory-field-template + - createdAt: type: string (format: date-time) + - createdBy: $ref: #/components/schemas/user + - lastRecomputedAt: type: string (format: date-time) + - lastReIndexedAt: type: string (format: date-time) +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-language-direction + + +``` +type: object + description: A language direction representation specific to translation memories. +properties: + - languageDirection: $ref: #/components/schemas/simple-language-direction + - translationUnits: type: integer + - unalignedTranslationUnits: type: integer +``` + +## Model: language-processing-rule + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string +``` + +## Model: translation-memory-field-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - fieldDefinitions: type: array + items: + $ref: #/components/schemas/translation-memory-field +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: simple-language-direction + + +``` +type: object + description: A basic language direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: translation-memory-field + + +``` +type: object + description: The unique identifier of the field. +properties: + - id: type: string + - name: type: string + - type: type: string enum: [unknown, singleString, multipleString, dateTime, singlePicklist, multiplePicklist, integer] + - values: type: array + items: + $ref: #/components/schemas/translation-memory-field-value +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: translation-memory-field-value + + +``` +type: object +properties: + - id: type: string + - value: type: string +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task ListTranslationMemoriesAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `TranslationMemoryApi` + +```java +// GET /translation-memory?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListTranslationMemoriesResponse listTranslationMemories(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListTranslationServiceTypes.md b/articles/LCPublicAPI/aidocs/reference/ListTranslationServiceTypes.md new file mode 100644 index 0000000..09a0bb5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListTranslationServiceTypes.md @@ -0,0 +1,97 @@ +# Trados Cloud Platform API List Service Types + +List Service Types ListTranslationServiceTypes GET /translation-domain/service-types + +- Friendly name: List Service Types +- Operation ID: ListTranslationServiceTypes +- HTTP Method: GET +- Path: /translation-domain/service-types + +List all available service types. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-translation-service-types-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-translation-service-types-response + + +``` +type: object + description: A response for the List Translation Service Types endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/translation-service-type +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-service-type + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationDomainClient` + +```csharp +Task ListTranslationServiceTypesAsync(); +``` + +### Java + +_Not found in Java SDK — [Manual Review Needed]_ \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListUsers.md b/articles/LCPublicAPI/aidocs/reference/ListUsers.md new file mode 100644 index 0000000..9607e33 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListUsers.md @@ -0,0 +1,306 @@ +# Trados Cloud Platform API List Users + +List Users ListUsers GET /users + +- Friendly name: List Users +- Operation ID: ListUsers +- HTTP Method: GET +- Path: /users + +Retrieves a list of all the users in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **email** (query, string) - optional: The exact match of the email, used to filter the response list. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-users-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of it's dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-users-response + + +``` +type: object + description: A response for the List Users endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/user +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task ListUsersAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null, string email); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | +| `email` | `string` | yes | + +### Java — `UserApi` + +```java +// GET /users?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields}&email={email} +ListUsersResponse listUsers(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields, String email); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | +| `email` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListVendorOrderTemplates.md b/articles/LCPublicAPI/aidocs/reference/ListVendorOrderTemplates.md new file mode 100644 index 0000000..e5acda6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListVendorOrderTemplates.md @@ -0,0 +1,581 @@ +# Trados Cloud Platform API List Vendor Order Templates + +List Vendor Order Templates ListVendorOrderTemplates GET /vendors/{vendorId}/order-templates + +- Friendly name: List Vendor Order Templates +- Operation ID: ListVendorOrderTemplates +- HTTP Method: GET +- Path: /vendors/{vendorId}/order-templates + +Retrieves a list of vendor order templates for the specified vendor. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-vendor-order-templates-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to list vendor order templates for this vendor. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-vendor-order-templates-response + + +``` +type: object + description: A response for the List Vendor Order Templates endpoint. +properties: + - items: type: array + items: + $ref: #/components/schemas/vendor-order-template-response + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: vendor-order-template-response + + +``` +type: object + description: A vendor order template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - allowQuoteEditing: type: boolean + - serviceTypes: type: array + items: + $ref: #/components/schemas/translation-service-type + - pricingModel: $ref: #/components/schemas/pricing-model + - quoteConfiguration: $ref: #/components/schemas/vendor-order-template-quote-configuration + - customFields: type: array + items: + $ref: #/components/schemas/custom-field + - languagePairs: type: array + items: + $ref: #/components/schemas/language-pair + - assignments: type: array + items: + $ref: #/components/schemas/vot-configuration-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-service-type + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: pricing-model + + +``` +type: object + description: Pricing Model resource. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - currencyCode: type: string + - location: $ref: #/components/schemas/folder-v2 + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost +``` + +## Model: vendor-order-template-quote-configuration + + +``` +type: object + description: Controls when and how the vendor quote is generated. +properties: + - behaviour: $ref: #/components/schemas/vot-quote-behaviour + - holdingDelay: type: integer +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: vot-configuration-response + + +``` +type: object + description: Assignee and manager assignment for a specific language pair. Every language pair listed in `languagePairs` must have exactly one corresponding entry in `assignments`. +properties: + - languagePair: $ref: #/components/schemas/language-pair + - managers: type: array + items: + $ref: #/components/schemas/vot-person-response + - assignees: type: array + items: + $ref: #/components/schemas/vot-person-response +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: language-direction-cost + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost +``` + +## Model: project-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: vot-quote-behaviour + + +``` +type: string enum: [waitForAllFiles, perFileQuote, finalQuoteAfterBatchCompleted, quoteBeforeCustomerQuoteGeneration] +``` + +## Model: vot-person-response + + +``` +type: object + description: A user or group assigned as a manager or assignee on a vendor order template. When `type` is `user`, the `user` object is populated. When `type` is `group`, the `group` object is populated. +properties: + - type: type: string enum: [user, group] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task ListVendorOrderTemplatesAsync(string vendorId, int? top = null, int? skip = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `string` | yes | +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `VendorApi` + +```java +// GET /vendors/{vendorId}/order-templates?top={top}&skip={skip}&sort={sort}&fields={fields} +ListVendorOrderTemplatesResponse listVendorOrderTemplates(String vendorId, Integer top, Integer skip, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListVendors.md b/articles/LCPublicAPI/aidocs/reference/ListVendors.md new file mode 100644 index 0000000..6410cf4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListVendors.md @@ -0,0 +1,349 @@ +# Trados Cloud Platform API List Vendors + +List Vendors ListVendors GET /vendors + +- Friendly name: List Vendors +- Operation ID: ListVendors +- HTTP Method: GET +- Path: /vendors + +Retrieves a list of all the vendors in an account. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-vendors-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-vendors-response + + +``` +type: object + description: A response for the List Vendors endpoint. +properties: + - items: type: array + items: + $ref: #/components/schemas/vendor + - itemCount: type: integer +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: vendor + + +``` +type: object + description: Represents an external LSP (Language Service Provider) organization that can be assigned translation tasks through vendor order templates. +properties: + - id: type: string + - name: type: string + - description: type: string + - keyContact: $ref: #/components/schemas/user + - vendorFolder: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - selfManaged: type: boolean + - quoteTemplate: $ref: #/components/schemas/project-quote-template + - members: type: array + items: + $ref: #/components/schemas/user + - customFields: type: array + items: + $ref: #/components/schemas/custom-field +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: project-quote-template + + +``` +type: object + description: Project Quote Template resource. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: custom-field + + +``` +type: object + description: A Custom Field model. +properties: + - id: type: string + - name: type: string + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task ListVendorsAsync(int? top = null, int? skip = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `VendorApi` + +```java +// GET /vendors?top={top}&skip={skip}&sort={sort}&fields={fields} +ListVendorsResponse listVendors(Integer top, Integer skip, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ListWorkflows.md b/articles/LCPublicAPI/aidocs/reference/ListWorkflows.md new file mode 100644 index 0000000..7db2353 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ListWorkflows.md @@ -0,0 +1,590 @@ +# Trados Cloud Platform API List Workflows + +List Workflows ListWorkflows GET /workflows + +- Friendly name: List Workflows +- Operation ID: ListWorkflows +- HTTP Method: GET +- Path: /workflows + +Retrieves all the workflows in an account. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **top** (query, integer) - optional: The number of items to include inside the page. +- **skip** (query, integer) - optional: The number of items that are skipped to reach the desired page. +- **location** (query, array) - optional: The identifiers of the resource folders. You can control the behavior by using the 'locationStrategy'. +- **locationStrategy** (query, string) - optional: Options:
- `location`: all the resources located strictly in the folders from the 'location' parameter (default);
- `lineage`: all the resources located in the folders specified in the 'location' parameter, as well as the subfolders;
- `bloodline`: all the resources located in the folders specified in the 'location' parameter, as well as the ancestor folders;
- `genealogy`: the resources located in the folders specified in the 'location' parameter together with subfolders and ancestors. +- **sort** (query, string) - optional: A comma separated list of fields used to sort the resources in the response. Each field can have a unary negative to imply descending sort order. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: list-workflows-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 416 + +Error codes: +* "requestedRangeNotSatisfiable": The requested entity or one of its dependencies attempted to retrieve data outside the allowed range. Skip+Top might be outside the supported range. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: list-workflows-response + + +``` +type: object + description: A response for the List Workflows endpoint. +properties: + - itemCount: type: integer + - items: type: array + items: + $ref: #/components/schemas/workflow +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: workflow + + +``` +type: object + description: The steps a project goes through. (Not available for List Projects endpoint) +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder + - workflowTemplate: $ref: #/components/schemas/workflow-template + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-no-statistics +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: workflow-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - description: type: string + - taskTemplates: type: array + items: + $ref: #/components/schemas/workflow-task-template + - phases: type: array + items: + $ref: #/components/schemas/workflow-phase + - transitions: type: array + items: + $ref: #/components/schemas/workflow-template-transition + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: workflow-task-configuration + + +``` +type: object + description: Properties of a workflow task. +properties: + - scope: $ref: #/components/schemas/task-configuration-scope + - assignees: $ref: #/components/schemas/workflow-task-assignee + - isSkipped: type: boolean + - taskTemplate: $ref: #/components/schemas/workflow-task-template + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: language-direction-no-statistics + + +``` +type: object + description: A Language Direction. +properties: + - id: type: string + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: workflow-task-template + + +``` +type: object +properties: + - id: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - canSkip: type: boolean + - requiresAssignment: type: boolean + - taskType: $ref: #/components/schemas/task-type + - phase: $ref: #/components/schemas/workflow-phase +``` + +## Model: workflow-phase + + +``` +type: object + description: A set of workflow steps which work together towards a localization outcome. +properties: + - id: type: string + - name: type: string +``` + +## Model: workflow-template-transition + + +``` +type: object +properties: + - from: $ref: #/components/schemas/workflow-template-transition-node + - to: $ref: #/components/schemas/workflow-template-transition-node + - condition: $ref: #/components/schemas/workflow-template-transition-condition +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: task-configuration-scope + + +``` +type: object +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/language + - targetLanguage: $ref: #/components/schemas/language + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-assignee + + +``` +type: object + description: Task assignee. Based on the "type", further details can be retrieved.
For ex. for "type"="user", "user" property is available.
For "projectCreator" and "projectManager" no other property is available. +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/user + - group: $ref: #/components/schemas/group + - vendorOrderTemplate: $ref: #/components/schemas/vendor-order-template +``` + +## Model: language + + +``` +type: object + description: The language object. +properties: + - languageCode: type: string + - englishName: type: string + - direction: type: string + - parentLanguageCode: type: string + - defaultSpecificLanguageCode: type: string + - isNeutral: type: boolean +``` + +## Model: task-type + + +``` +type: object + description: Task type. +properties: + - id: type: string + - key: type: string + - name: type: string + - apiInternalId: type: string + - description: type: string + - automatic: type: boolean + - scope: type: string enum: [file, targetLanguage, batch, vendorOrder, task] + - outcomes: type: array + items: + $ref: #/components/schemas/task-type-outcome + - configurationDefinitions: type: array + items: + $ref: #/components/schemas/task-type-configuration-definition + - location: $ref: #/components/schemas/folder-v2 +``` + +## Model: workflow-template-transition-node + + +``` +type: object +properties: + - type: type: string enum: [taskTemplate, start, end] + - taskTemplate: $ref: #/components/schemas/workflow-task-template +``` + +## Model: workflow-template-transition-condition + + +``` +type: object +properties: + - type: type: string enum: [outcome, expression] + - value: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: vendor-order-template + + +``` +type: object + description: The vendor order template. +properties: + - id: type: string +``` + +## Model: task-type-outcome + + +``` +type: object + description: The task type outcome. +properties: + - name: type: string + - description: type: string + - default: type: boolean +``` + +## Model: task-type-configuration-definition + + +``` +type: object + description: Describes a single configurable option for a task type. +properties: + - id: type: string + - name: type: string + - description: type: string + - dataType: type: string enum: [integer, boolean, string] + - optional: type: boolean + - defaultValue: type: object + description: The default value applied when no value is explicitly set. The type matches `dataType`. May be `null` when no default is defined. + - options: type: array + items: + type: string + - constraints: type: array + items: + $ref: #/components/schemas/task-type-configuration-constraint +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: task-type-configuration-constraint + + +``` +type: object + description: A validation constraint applied to a task type configuration value. +properties: + - type: type: string enum: [minValue, maxValue] + - value: type: object + description: The constraint threshold. Type matches the parent configuration option's `dataType`. +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IWorkflowClient` + +```csharp +Task ListWorkflowsAsync(int? top = null, int? skip = null, IEnumerable location, LocationStrategy? locationStrategy = null, string sort = null, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `int` | no | +| `skip` | `int` | no | +| `location` | `IEnumerable` | yes | +| `locationStrategy` | `LocationStrategy` | no | +| `sort` | `string` | no | +| `fields` | `string` | no | + +### Java — `WorkflowApi` + +```java +// GET /workflows?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields} +ListWorkflowsResponse listWorkflows(Integer top, Integer skip, List location, String locationStrategy, String sort, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `top` | `Integer` | no | +| `skip` | `Integer` | no | +| `location` | `List` | no | +| `locationStrategy` | `String` | no | +| `sort` | `String` | no | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollExportPackage.md b/articles/LCPublicAPI/aidocs/reference/PollExportPackage.md new file mode 100644 index 0000000..b208c3f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollExportPackage.md @@ -0,0 +1,130 @@ +# Trados Cloud Platform API Poll Export Package + +Poll Export Package PollExportPackage GET /packages/export/{exportId} + +- Friendly name: Poll Export Package +- Operation ID: PollExportPackage +- HTTP Method: GET +- Path: /packages/export/{exportId} + +Polls the status of the export operation created by the [Export Package operation](../api/Public-API.v1-fv.html#/operations/ExportPackage). + +## Parameters + +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. +- **exportId** (path, string) - required: The export operation identifier. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: package-export-status-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to view task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Package could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: package-export-status-response + + +``` +type: object +properties: + - id: type: string + - status: type: string + - projectId: type: string + - taskIds: type: array + items: + type: string + - expiresAt: type: string + - error: $ref: #/components/schemas/error-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPackageClient` + +```csharp +Task PollExportPackageAsync(string exportId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `PackageApi` + +```java +// GET /packages/export/{exportId}?fields={fields} +PackageExportStatusResponse pollExportPackage(String exportId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollExportTermbase.md b/articles/LCPublicAPI/aidocs/reference/PollExportTermbase.md new file mode 100644 index 0000000..85fadef --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollExportTermbase.md @@ -0,0 +1,115 @@ +# Trados Cloud Platform API Poll Termbase Export + +Poll Termbase Export PollExportTermbase GET /termbases/{termbaseId}/exports/{exportId} + +- Friendly name: Poll Termbase Export +- Operation ID: PollExportTermbase +- HTTP Method: GET +- Path: /termbases/{termbaseId}/exports/{exportId} + +Polls a termbase via an export operation. The exported termbase can be downloaded once the status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-export-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) +- Content: application/xml +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified export was not found. + + +## Model: termbase-export-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, processing, done, cancelled, error] + - errorMessage: type: string + - downloadUrl: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseExportClient` + +```csharp +Task PollExportTermbaseAsync(string termbaseId, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `exportId` | `string` | yes | + +### Java — `TermbaseExportApi` + +```java +// GET /termbases/{termbaseId}/exports/{exportId} +TermbaseExportResponse pollExportTermbase(String termbaseId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollFileAnalysis.md b/articles/LCPublicAPI/aidocs/reference/PollFileAnalysis.md new file mode 100644 index 0000000..217984a --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollFileAnalysis.md @@ -0,0 +1,155 @@ +# Trados Cloud Platform API Poll File Analysis + +Poll File Analysis PollFileAnalysis GET /files/analysis/{operationId} + +- Friendly name: Poll File Analysis +- Operation ID: PollFileAnalysis +- HTTP Method: GET +- Path: /files/analysis/{operationId} + +Monitor the [File Analysis](#/operations/RequestFileAnalysis) operation and receive the analysis results. + +> File analysis results will be available for 24 hours after generation. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-analysis-response (see model section below) + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the quoting operation could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-analysis-response + + +``` +type: object +properties: + - status: type: string enum: [converting, analysis, costCalculation, completed, error] + - wordCount: type: integer + - estimatedCosts: $ref: #/components/schemas/file-analysis-cost-response + - fileStatistics: type: array + items: + $ref: #/components/schemas/file-analysis-file-statistics + - errorMessage: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: file-analysis-cost-response + + +``` +type: object +properties: + - currencyCode: type: string + - total: type: number + - translationCosts: type: number + - languageCosts: type: number + - additionalCosts: type: number +``` + +## Model: file-analysis-file-statistics + + +``` +type: object +properties: + - fileId: type: string + - wordCount: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileClient` + +```csharp +Task PollFileAnalysisAsync(string operationId, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `operationId` | `string` | yes | +| `fields` | `string` | no | + +### Java — `FileApi` + +```java +// GET /files/analysis/{operationId}?fields={fields} +FileAnalysisResponse pollFileAnalysis(String operationId, String fields); +``` + +| Parameter | Type | Required | +|---|---|---| +| `operationId` | `String` | yes | +| `fields` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollImportPackage.md b/articles/LCPublicAPI/aidocs/reference/PollImportPackage.md new file mode 100644 index 0000000..a1d7067 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollImportPackage.md @@ -0,0 +1,119 @@ +# Trados Cloud Platform API Poll Import Package + +Poll Import Package PollImportPackage GET /packages/import/{importId} + +- Friendly name: Poll Import Package +- Operation ID: PollImportPackage +- HTTP Method: GET +- Path: /packages/import/{importId} + +Polls the status of the import operation created by the [Import Package operation](../api/Public-API.v1-fv.html#/operations/ImportPackage). + +## Parameters + +- **importId** (path, string) - required: The import operation identifier. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: package-import-status-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to view the task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: package-import-status-response + + +``` +type: object +properties: + - id: type: string + - status: type: string + - error: $ref: #/components/schemas/error-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPackageClient` + +```csharp +Task PollImportPackageAsync(string importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `importId` | `string` | yes | + +### Java — `PackageApi` + +```java +// GET /packages/import/{importId} +PackageImportStatusResponse pollImportPackage(String importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `importId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollQuoteReportExport.md b/articles/LCPublicAPI/aidocs/reference/PollQuoteReportExport.md new file mode 100644 index 0000000..927c236 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollQuoteReportExport.md @@ -0,0 +1,125 @@ +# Trados Cloud Platform API Poll Quote Report Export + +Poll Quote Report Export PollQuoteReportExport GET /projects/{projectId}/quote-report/export + +- Friendly name: Poll Quote Report Export +- Operation ID: PollQuoteReportExport +- HTTP Method: GET +- Path: /projects/{projectId}/quote-report/export + +Polls a quote report via an export operation. The quote report can be [downloaded](../api/Public-API.v1-fv.html#/operations/DownloadQuoteReport) once the status is "completed". The recommended polling interval is 20 seconds. + +If the `exportId` query parameter is not provided, the polling action will return the status for the last generated export. + +> **WARNING** +> The export ID has a time-to-live (TTL) of 20 minutes, starting from when the export operation was initiated (not when the underlying async operation completes). If the TTL expires, this endpoint will return a `404 Not Found` error. Ensure you poll and download the export within this timeframe. + + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **format** (query, string) - optional: The file format of the quote report. +- **exportId** (query, string) - optional: The export identifier. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +``` +type: object +properties: + - status: type: string enum: [inProgress, completed] +``` + +### 400 + +Error codes: +* “invalid”: invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IQuoteClient` + +```csharp +Task PollQuoteReportExportAsync(string projectId, Format2? format = null, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `format` | `Format2` | no | +| `exportId` | `string` | yes | + +### Java — `QuoteApi` + +```java +// GET /projects/{projectId}/quote-report/export?format={format}&exportId={exportId} +PollQuoteReportExport200Response pollQuoteReportExport(String projectId, String format, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `format` | `String` | no | +| `exportId` | `String` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollTMImport.md b/articles/LCPublicAPI/aidocs/reference/PollTMImport.md new file mode 100644 index 0000000..c3dc0c3 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollTMImport.md @@ -0,0 +1,116 @@ +# Trados Cloud Platform API Poll Translation Memory Import + +Poll Translation Memory Import PollTMImport GET /translation-memory/imports/{importId} + +- Friendly name: Poll Translation Memory Import +- Operation ID: PollTMImport +- HTTP Method: GET +- Path: /translation-memory/imports/{importId} + +Polls a Translation Memory import operation. The import is finished when the status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: translation-memory-import-poll-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the path parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the entry. + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-import-poll-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, inProgress, failed, done, cancelled] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryImportClient` + +```csharp +Task PollTMImportAsync(string importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `importId` | `string` | yes | + +### Java — `TranslationMemoryImportApi` + +```java +// GET /translation-memory/imports/{importId} +TranslationMemoryImportPollResponse pollTMImport(String importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `importId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionExport.md b/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionExport.md new file mode 100644 index 0000000..dfe45da --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionExport.md @@ -0,0 +1,132 @@ +# Trados Cloud Platform API Poll Target File Version Export + +Poll Target File Version Export PollTargetFileVersionExport GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId} + +- Friendly name: Poll Target File Version Export +- Operation ID: PollTargetFileVersionExport +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId} + +Polls a target file version via an export operation. The new version can be downloaded once the status is "completed". + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-version-export (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to retrieve the export. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-version-export + + +``` +allOf: + - part0: + $ref: #/components/schemas/asynchronous-result + - part1: + type: object + properties: + - downloadUrl: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: asynchronous-result + + +``` +type: object + description: Represents the result of an asynchronous operation, including status and potential error information. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed] + - errorMessage: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task PollTargetFileVersionExportAsync(string projectId, string targetFileId, string fileVersionId, string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `fileVersionId` | `string` | yes | +| `exportId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports/{exportId} +FileVersionExport pollTargetFileVersionExport(String projectId, String targetFileId, String fileVersionId, String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `fileVersionId` | `String` | yes | +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionImport.md b/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionImport.md new file mode 100644 index 0000000..24e2b87 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollTargetFileVersionImport.md @@ -0,0 +1,122 @@ +# Trados Cloud Platform API Poll Target File Version Import + +Poll Target File Version Import PollTargetFileVersionImport GET /projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId} + +- Friendly name: Poll Target File Version Import +- Operation ID: PollTargetFileVersionImport +- HTTP Method: GET +- Path: /projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId} + +Polls a target file version via an import operation. The new version can be seen on the file versions once the status is "completed". + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-version-import (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - the specified project or target file was not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-version-import + + +``` +allOf: + - part0: + $ref: #/components/schemas/asynchronous-result + - part1: + type: object + properties: + - fileVersionId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: asynchronous-result + + +``` +type: object + description: Represents the result of an asynchronous operation, including status and potential error information. +properties: + - id: type: string + - status: type: string enum: [created, inProgress, completed, failed] + - errorMessage: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task PollTargetFileVersionImportAsync(string projectId, string targetFileId, string importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | +| `importId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// GET /projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId} +FileVersionImport pollTargetFileVersionImport(String projectId, String targetFileId, String importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `importId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollTermbaseImport.md b/articles/LCPublicAPI/aidocs/reference/PollTermbaseImport.md new file mode 100644 index 0000000..1655b51 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollTermbaseImport.md @@ -0,0 +1,113 @@ +# Trados Cloud Platform API Poll Termbase Import + +Poll Termbase Import PollTermbaseImport GET /termbases/{termbaseId}/imports/{importId} + +- Friendly name: Poll Termbase Import +- Operation ID: PollTermbaseImport +- HTTP Method: GET +- Path: /termbases/{termbaseId}/imports/{importId} + +Polls a termbase import operation. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: termbase-poll-import-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to read entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-poll-import-response + + +``` +type: object + description: The termbase poll import response.
+The import was successfully processed when the status is `done`. +properties: + - id: type: string + - status: type: string enum: [queued, processing, done, cancelled, failed, error] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseImportClient` + +```csharp +Task PollTermbaseImportAsync(string termbaseId, string importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `importId` | `string` | yes | + +### Java — `TermbaseImportApi` + +```java +// GET /termbases/{termbaseId}/imports/{importId} +TermbasePollImportResponse pollTermbaseImport(String termbaseId, String importId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `importId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollTranslationMemoryExport.md b/articles/LCPublicAPI/aidocs/reference/PollTranslationMemoryExport.md new file mode 100644 index 0000000..73abdf6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollTranslationMemoryExport.md @@ -0,0 +1,119 @@ +# Trados Cloud Platform API Poll Translation Memory Export + +Poll Translation Memory Export PollTranslationMemoryExport GET /translation-memory/exports/{exportId} + +- Friendly name: Poll Translation Memory Export +- Operation ID: PollTranslationMemoryExport +- HTTP Method: GET +- Path: /translation-memory/exports/{exportId} + +Polls a translation memory via an export operation. The exported translation memory can be downloaded once the status is `done`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: translation-memory-poll-export-response (see model section below) + +### 400 + +Error codes: +* "invalid": Invalid `exportId` in the path parameters. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-poll-export-response + + +``` +type: object +properties: + - id: type: string + - status: type: string enum: [queued, inProgress, failed, done, cancelled] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryExportClient` + +```csharp +Task PollTranslationMemoryExportAsync(string exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `string` | yes | + +### Java — `TranslationMemoryExportApi` + +```java +// GET /translation-memory/exports/{exportId} +TranslationMemoryPollExportResponse pollTranslationMemoryExport(String exportId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `exportId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/PollUploadZipFile.md b/articles/LCPublicAPI/aidocs/reference/PollUploadZipFile.md new file mode 100644 index 0000000..632b5cd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/PollUploadZipFile.md @@ -0,0 +1,130 @@ +# Trados Cloud Platform API Poll Upload Zip File + +Poll Upload Zip File PollUploadZipFile GET /files/{fileId} + +- Friendly name: Poll Upload Zip File +- Operation ID: PollUploadZipFile +- HTTP Method: GET +- Path: /files/{fileId} + +Monitors the unzipping operation for a previously uploaded archive and retrieves details about the extracted files. + +Once the [Upload Zip File](#/operations/UploadZipFile) operation has finished extracting the files, they can be added to the desired project using the [Attach Source Files](#/operations/AddSourceFiles) endpoint. + Alternatively, they can be used to [Request File Analysis](#/operations/RequestFileAnalysis) details like word counts and estimated costs. + + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-metadata-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read uploaded files. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the file could not be found by id. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-metadata-response + + +``` +type: object +properties: + - id: type: string + - fileName: type: string + - unzipStatus: type: string enum: [queued, extracting, extracted, unzipError] + - associatedFiles: type: array + items: + $ref: #/components/schemas/file-extracted-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: file-extracted-response + + +``` +type: object +properties: + - id: type: string + - fileName: type: string + - filePath: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileClient` + +```csharp +Task PollUploadZipFileAsync(string fileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileId` | `string` | yes | + +### Java — `FileApi` + +```java +// GET /files/{fileId} +FileMetadataResponse pollUploadZipFile(String fileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fileId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ReclaimTask.md b/articles/LCPublicAPI/aidocs/reference/ReclaimTask.md new file mode 100644 index 0000000..3ac817b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ReclaimTask.md @@ -0,0 +1,116 @@ +# Trados Cloud Platform API Reclaim Task + +Reclaim Task ReclaimTask PUT /tasks/{taskId}/reclaim + +- Friendly name: Reclaim Task +- Operation ID: ReclaimTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/reclaim + +The current owner of task is removed so that other assignees can accept it. +The task is not reassigned automatically. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty value for variable mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to reclaim the task. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": the current task's status doesn't permit this operation. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task ReclaimTaskAsync(string taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/reclaim +void reclaimTask(String taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/RejectTask.md b/articles/LCPublicAPI/aidocs/reference/RejectTask.md new file mode 100644 index 0000000..18c0136 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/RejectTask.md @@ -0,0 +1,117 @@ +# Trados Cloud Platform API Reject Task + +Reject Task RejectTask PUT /tasks/{taskId}/reject + +- Friendly name: Reject Task +- Operation ID: RejectTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/reject + +Rejects a task. The authenticated user will be removed from the task's list of available assignee users. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "alreadyOwned": The task is already owned. It can't be rejected. +* "invalidStatus": The task status doesn't permit the reject operation. +* "singleAssignee": The authenticated user is the single assignee of the task, therefore the task can't be rejected. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task RejectTaskAsync(string taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/reject +void rejectTask(String taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/ReleaseTask.md b/articles/LCPublicAPI/aidocs/reference/ReleaseTask.md new file mode 100644 index 0000000..6067291 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/ReleaseTask.md @@ -0,0 +1,117 @@ +# Trados Cloud Platform API Release Task + +Release Task ReleaseTask PUT /tasks/{taskId}/release + +- Friendly name: Release Task +- Operation ID: ReleaseTask +- HTTP Method: PUT +- Path: /tasks/{taskId}/release + +Releases the task from its owner so that other task assignees will be able to accept it. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 204 + +No Content + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to release the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the task could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "noOwner": the task currently has no owner. +* "differentOwner": the authenticated user is not the owner of the task. +* "invalidStatus": the task's status does not permit this operation. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITaskClient` + +```csharp +Task ReleaseTaskAsync(string taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | + +### Java — `TaskApi` + +```java +// PUT /tasks/{taskId}/release +void releaseTask(String taskId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/RemoveProjectsFromGroup.md b/articles/LCPublicAPI/aidocs/reference/RemoveProjectsFromGroup.md new file mode 100644 index 0000000..1bddbf4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/RemoveProjectsFromGroup.md @@ -0,0 +1,141 @@ +# Trados Cloud Platform API Remove Projects From Group + +Remove Projects From Group RemoveProjectsFromGroup DELETE /project-groups/{projectGroupId}/projects + +- Friendly name: Remove Projects From Group +- Operation ID: RemoveProjectsFromGroup +- HTTP Method: DELETE +- Path: /project-groups/{projectGroupId}/projects + +Removes projects from the project group. + +The projects are not removed instantly. To check the status use the [Get Project Group](#/operations/GetProjectGroup) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: remove-projects-from-group-request (see model section below) + +## Response + +### 202 + +Accepted + +### 400 + +Error codes: + +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to remove the projects from the project group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The project group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* “conflict”: A project with status "attaching" cannot be removed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: remove-projects-from-group-request + + +``` +type: object + description: Input for removing projects from group. +properties: + - projects: type: array + items: + $ref: #/components/schemas/project-group-project-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: project-group-project-request + + +``` +type: object +properties: + - id: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task RemoveProjectsFromGroupAsync(string projectGroupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `string` | yes | + +### Java — `ProjectGroupApi` + +```java +// DELETE /project-groups/{projectGroupId}/projects +void removeProjectsFromGroup(String projectGroupId, RemoveProjectsFromGroupRequest removeProjectsFromGroupRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `String` | yes | +| `removeProjectsFromGroupRequest` | `RemoveProjectsFromGroupRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/RequestFileAnalysis.md b/articles/LCPublicAPI/aidocs/reference/RequestFileAnalysis.md new file mode 100644 index 0000000..3ec6863 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/RequestFileAnalysis.md @@ -0,0 +1,159 @@ +# Trados Cloud Platform API Request File Analysis + +Request File Analysis RequestFileAnalysis POST /files/analysis + +- Friendly name: Request File Analysis +- Operation ID: RequestFileAnalysis +- HTTP Method: POST +- Path: /files/analysis + +This endpoint allows you to request the word count and an estimated cost for your files. + +Use the [Upload Zip File](#/operations/UploadZipFile) / [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoints to upload your files and get the `fileIds`. Send these `fileIds` together with the `languageProcessingRuleId` and `sourceLanguage` to receive the word count. + +Optionally, send the `quotingOptions` object to receive the `estimatedCosts`. + +Use the [Poll File Analysis](#/operations/PollFileAnalysis) endpoint to monitor the operation and receive the analysis results. + +> File analysis results will be available for 24 hours after generation. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +``` +type: object +properties: + - fileIds: type: array + items: + type: string + - sourceLanguage: $ref: #/components/schemas/source-language-request + - languageProcessingRuleId: type: string + - fileProcessingConfigurationId: type: string + - quotingOptions: type: object + description: Set these resources to calculate an estimated translation cost. + properties: + - pricingModelId: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/target-language-request +``` + +## Response + +### 202 + + + +- Content: application/json +- Schema: file-analysis-operation-response (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the request body parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: file-analysis-operation-response + + +``` +type: object +properties: + - id: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileClient` + +```csharp +Task RequestFileAnalysisAsync(); +``` + +### Java — `FileApi` + +```java +// POST /files/analysis +FileAnalysisOperationResponse requestFileAnalysis(RequestFileAnalysisRequest requestFileAnalysisRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `requestFileAnalysisRequest` | `RequestFileAnalysisRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/RescheduleProjectTasks.md b/articles/LCPublicAPI/aidocs/reference/RescheduleProjectTasks.md new file mode 100644 index 0000000..b69d355 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/RescheduleProjectTasks.md @@ -0,0 +1,106 @@ +# Trados Cloud Platform API Reschedule Project Tasks + +Reschedule Project Tasks RescheduleProjectTasks PATCH /projects/{projectId}/tasks/reschedule + +- Friendly name: Reschedule Project Tasks +- Operation ID: RescheduleProjectTasks +- HTTP Method: PATCH +- Path: /projects/{projectId}/tasks/reschedule + +Reschedules the tasks of a specific project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: reschedule-tasks-request (see model section below) + +## Response + +### 200 + +OK + +### 400 + +Error codes: +* “invalid”: Invalid input mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: reschedule-tasks-request + + +``` +type: object + description: Reschedule tasks. +properties: + - dueBy: type: string (format: date-time) + - taskIds: type: array + items: + type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task RescheduleProjectTasksAsync(RescheduleTasksRequest projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `RescheduleTasksRequest` | yes | + +### Java — `ProjectApi` + +```java +// PATCH /projects/{projectId}/tasks/reschedule +void rescheduleProjectTasks(String projectId, RescheduleTasksRequest rescheduleTasksRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `rescheduleTasksRequest` | `RescheduleTasksRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/StartProject.md b/articles/LCPublicAPI/aidocs/reference/StartProject.md new file mode 100644 index 0000000..5b3ea77 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/StartProject.md @@ -0,0 +1,118 @@ +# Trados Cloud Platform API Start Project + +Start Project StartProject PUT /projects/{projectId}/start + +- Friendly name: Start Project +- Operation ID: StartProject +- HTTP Method: PUT +- Path: /projects/{projectId}/start + +Starts a project. Translatable files should be uploaded before starting the project. If the action is executed on an already started project, the new translatable files should be uploaded first. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +No request body. + +## Response + +### 202 + +Accepted + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to start the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": the project's status doesn't permit the start operation. +* "missingTranslatableFile": there was no translatable file attached to the project. +* "missingWorkflow": there was no workflow associated with the project. +* "invalidWorkflow" : the workflow associated with the project is invalid or has errors. +* "missingConfigurations": not all manual task templates have configurations. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task StartProjectAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/start +void startProject(String projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/TranslationsAdd.md b/articles/LCPublicAPI/aidocs/reference/TranslationsAdd.md new file mode 100644 index 0000000..9202517 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/TranslationsAdd.md @@ -0,0 +1,213 @@ +# Trados Cloud Platform API Add Translation Unit + +Add Translation Unit TranslationsAdd POST /translations/translation-unit + +- Friendly name: Add Translation Unit +- Operation ID: TranslationsAdd +- HTTP Method: POST +- Path: /translations/translation-unit + +Adds a translation unit. The system identifies matching translation units in the TM based on the provided BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html). + + For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: translation-add-request (see model section below) + +## Response + +### 200 + +Ok + +- Content: application/json +- Schema: translation-unit-add-update-response (see model section below) + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + + * "invalid": Invalid input mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Unauthorized to use translation engine. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - translation engine not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-add-request + + +``` +type: object +properties: + - input: $ref: #/components/schemas/translation-tu-update-input-request + - definition: $ref: #/components/schemas/translation-update-definition + - settings: $ref: #/components/schemas/translation-add-settings +``` + +## Model: translation-unit-add-update-response + + +``` +type: object +properties: + - success: type: boolean + - insights: type: array + items: + $ref: #/components/schemas/translation-unit-insight-model + - errorInsights: type: array + items: + $ref: #/components/schemas/translation-error-detail-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-tu-update-input-request + + +``` +type: object +properties: + - content: type: string +``` + +## Model: translation-update-definition + + +``` +type: object +properties: + - translationEngineId: type: string +``` + +## Model: translation-add-settings + + +``` +type: object +properties: + - fields: type: array + items: + $ref: #/components/schemas/translation-update-field + - ifTargetSegmentsDiffer: type: string enum: [addNew, overwrite, leaveUnchanged, keepMostRecent, merge] +``` + +## Model: translation-unit-insight-model + + +``` +type: object + description: Detailed insight information about the processed translation unit. +properties: + - resourceId: type: string + - translationHash: type: string + - action: type: string enum: [discard, add, merge, overwrite, error, delete] +``` + +## Model: translation-error-detail-response + + +``` +type: object + description: Translation error details response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-update-field + + +``` +type: object + description: +properties: + - name: type: string + - values: type: array + items: + type: string +``` + +## SDK + +### .NET — `ITranslationClient` + +```csharp +Task TranslationsAddAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `TranslationApi` + +```java +// POST /translations/translation-unit?fields={fields} +TranslationUnitAddUpdateResponse translationsAdd(String fields, TranslationAddRequest translationAddRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `translationAddRequest` | `TranslationAddRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/TranslationsConcordanceSearch.md b/articles/LCPublicAPI/aidocs/reference/TranslationsConcordanceSearch.md new file mode 100644 index 0000000..35c82b1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/TranslationsConcordanceSearch.md @@ -0,0 +1,299 @@ +# Trados Cloud Platform API Concordance + +Concordance TranslationsConcordanceSearch POST /translations/concordance + +- Friendly name: Concordance +- Operation ID: TranslationsConcordanceSearch +- HTTP Method: POST +- Path: /translations/concordance + +Performs a concordance search for a given text within the TM linked to the specified translation engine. The translated content will be returned as a BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html) or [term](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Skeleton.Term.html). + + For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +Learn more about Translation Memory standard penalties [here](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/trados-tm-penalties-1159224). +
+Learn more about Translation Unit status penalties [here](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/editing-project-tm-and-verification-settings-800732). +- Content: application/json + +- Schema: translation-concordance-search-request (see model section below) + +## Response + +### 200 + +OK. + +- Content: application/json +- Schema: translation-concordance-search-response (see model section below) + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + + * "invalid": Invalid input mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Unauthorized to use translation engine. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - translation engine not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-concordance-search-request + + +``` +type: object +properties: + - input: $ref: #/components/schemas/translation-concordance-input-request + - languageDirection: $ref: #/components/schemas/language-direction-general-request + - definition: $ref: #/components/schemas/translation-concordance-search-definition + - targetOnly: type: boolean + - settings: $ref: #/components/schemas/concordance-search-settings +``` + +## Model: translation-concordance-search-response + + +``` +type: object +properties: + - translations: type: array + items: + $ref: #/components/schemas/translation-concordance + - appliedResourcesStatus: type: array + items: + $ref: #/components/schemas/translation-concordance-search-applied-resource-status +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-concordance-input-request + + +``` +type: object +properties: + - content: type: string +``` + +## Model: language-direction-general-request + + +``` +type: object + description: The language directions model used for creating or updating a resource. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: translation-concordance-search-definition + + +``` +type: object +properties: + - translationEngineId: type: string +``` + +## Model: concordance-search-settings + + +``` +type: object +properties: + - translationMemory: $ref: #/components/schemas/concordance-search-settings-tm +``` + +## Model: translation-concordance + + +``` +type: object +properties: + - translationProposal: type: string + - resourceType: $ref: #/components/schemas/translation-concordance-resource-type +``` + +## Model: translation-concordance-search-applied-resource-status + + +``` +type: object +properties: + - resourceId: type: string + - resourceType: type: string enum: [TM] + - status: type: string enum: [successful, unsuccessful] + - message: type: string + - translationErrors: type: array + items: + $ref: #/components/schemas/translation-error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: concordance-search-settings-tm + + +``` +type: object +properties: + - minimumMatchValue: type: integer + - penalties: $ref: #/components/schemas/concordance-search-TM-penalties +``` + +## Model: translation-concordance-resource-type + + +``` +type: string enum: [TM] +``` + +## Model: translation-error-detail-response + + +``` +type: object + description: Translation error details response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: concordance-search-TM-penalties + + +``` +type: object +properties: + - standardPenalties: $ref: #/components/schemas/translation-concordance-search-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/translation-concordance-search-unit-status-penalties +``` + +## Model: translation-concordance-search-standard-penalties + + +``` +type: object + description: +properties: + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: translation-concordance-search-unit-status-penalties + + +``` +type: object + description: The penalties to apply depending on the status of the translation unit. +properties: + - translated: type: integer + - translationRejected: type: integer + - translationApproved: type: integer + - signOffRejected: type: integer + - signOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## SDK + +### .NET — `ITranslationClient` + +```csharp +Task TranslationsConcordanceSearchAsync(TranslationConcordanceSearchRequest body, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `body` | `TranslationConcordanceSearchRequest` | yes | +| `fields` | `string` | no | + +### Java — `TranslationApi` + +```java +// POST /translations/concordance?fields={fields} +TranslationConcordanceSearchResponse translationsConcordanceSearch(String fields, TranslationConcordanceSearchRequest translationConcordanceSearchRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `translationConcordanceSearchRequest` | `TranslationConcordanceSearchRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/TranslationsLookup.md b/articles/LCPublicAPI/aidocs/reference/TranslationsLookup.md new file mode 100644 index 0000000..38917b5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/TranslationsLookup.md @@ -0,0 +1,325 @@ +# Trados Cloud Platform API Lookup + +Lookup TranslationsLookup POST /translations/lookup + +- Friendly name: Lookup +- Operation ID: TranslationsLookup +- HTTP Method: POST +- Path: /translations/lookup + +Translates a phrase in plain text or a BCM fragment containing a single segment. The translated content will be returned as a BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html) or [term](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Skeleton.Term.html). + + For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +Learn more about Translation Memory standard penalties [here](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/trados-tm-penalties-1159224). +
+Learn more about Translation Unit status penalties [here](https://docs.rws.com/en-US/trados-enterprise-accelerate-791595/editing-project-tm-and-verification-settings-800732). +- Content: application/json + +- Schema: translation-search-request (see model section below) + +## Response + +### 200 + +OK + +- Content: application/json +- Schema: translation-search-response (see model section below) + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + + * "invalid": Invalid input mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Unauthorized to use translation engine. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - translation engine not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-search-request + + +``` +type: object +properties: + - input: $ref: #/components/schemas/translation-lookup-input-request + - languageDirection: $ref: #/components/schemas/language-direction-general-request + - definition: $ref: #/components/schemas/translation-definition + - settings: $ref: #/components/schemas/translation-search-settings +``` + +## Model: translation-search-response + + +``` +type: object +properties: + - translations: type: array + items: + $ref: #/components/schemas/translation + - appliedResourcesStatus: type: array + items: + $ref: #/components/schemas/translation-applied-resource-status +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-lookup-input-request + + +``` +type: object + description: The translation input. +properties: + - content: type: string + - contentType: type: string enum: [text, bcmFragment] +``` + +## Model: language-direction-general-request + + +``` +type: object + description: The language directions model used for creating or updating a resource. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: translation-definition + + +``` +type: object +properties: + - translationEngineId: type: string +``` + +## Model: translation-search-settings + + +``` +type: object +properties: + - translationMemory: $ref: #/components/schemas/translation-search-settings-tm +``` + +## Model: translation + + +``` +type: object +properties: + - translationProposal: type: string + - resourceType: $ref: #/components/schemas/translation-resource-type + - sourceLocation: $ref: #/components/schemas/translation-source-locations +``` + +## Model: translation-applied-resource-status + + +``` +type: object +properties: + - resourceId: type: string + - resourceType: $ref: #/components/schemas/translation-resource-type + - status: type: string enum: [successful, unsuccessful] + - message: type: string + - translationErrors: type: array + items: + $ref: #/components/schemas/translation-error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: translation-search-settings-tm + + +``` +type: object +properties: + - minimumMatchValue: type: integer + - penalties: $ref: #/components/schemas/translation-search-TM-penalties +``` + +## Model: translation-resource-type + + +``` +type: string enum: [TM, MT, TB] +``` + +## Model: translation-source-locations + + +``` +type: array +items: + $ref: #/components/schemas/translation-source-location +``` + +## Model: translation-error-detail-response + + +``` +type: object + description: Translation error details response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-search-TM-penalties + + +``` +type: object +properties: + - standardPenalties: $ref: #/components/schemas/translation-search-standard-penalties + - translationUnitStatusPenalties: $ref: #/components/schemas/translation-search-unit-status-penalties +``` + +## Model: translation-source-location + + +``` +type: object +properties: + - start: type: integer + - length: type: integer +``` + +## Model: translation-search-standard-penalties + + +``` +type: object + description: +properties: + - missingFormatting: type: integer + - differentFormatting: type: integer + - multipleTranslations: type: integer + - autoLocalization: type: integer + - textReplacement: type: integer + - alignment: type: integer + - characterWidthDifference: type: integer +``` + +## Model: translation-search-unit-status-penalties + + +``` +type: object + description: The penalties to apply depending on the status of the translation unit. +properties: + - translated: type: integer + - translationRejected: type: integer + - translationApproved: type: integer + - signOffRejected: type: integer + - signOff: type: integer + - notTranslated: type: integer + - draft: type: integer +``` + +## SDK + +### .NET — `ITranslationClient` + +```csharp +Task TranslationsLookupAsync(TranslationSearchRequest body, string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `body` | `TranslationSearchRequest` | yes | +| `fields` | `string` | no | + +### Java — `TranslationApi` + +```java +// POST /translations/lookup?fields={fields} +TranslationSearchResponse translationsLookup(String fields, TranslationSearchRequest translationSearchRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `translationSearchRequest` | `TranslationSearchRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/TranslationsUpdate.md b/articles/LCPublicAPI/aidocs/reference/TranslationsUpdate.md new file mode 100644 index 0000000..2c575c8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/TranslationsUpdate.md @@ -0,0 +1,212 @@ +# Trados Cloud Platform API Update Translation Unit + +Update Translation Unit TranslationsUpdate PUT /translations/translation-unit + +- Friendly name: Update Translation Unit +- Operation ID: TranslationsUpdate +- HTTP Method: PUT +- Path: /translations/translation-unit + +Updates a translation unit. The system identifies matching translation units in the TM based on the provided BCM [fragment](https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html). + + For detailed concepts and examples see the [Translation API](../docs/translations/Translations.html) page. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: translation-update-request (see model section below) + +## Response + +### 200 + +Ok + +- Content: application/json +- Schema: translation-unit-add-update-response (see model section below) + +### 400 + +Error codes: + + * "empty": Empty value for variable mentioned in the "name" field on the error response. + + * "invalid": Invalid input mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Unauthorized to use translation engine. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - translation engine not found. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-update-request + + +``` +type: object +properties: + - input: $ref: #/components/schemas/translation-tu-update-input-request + - definition: $ref: #/components/schemas/translation-update-definition + - settings: $ref: #/components/schemas/translation-update-settings +``` + +## Model: translation-unit-add-update-response + + +``` +type: object +properties: + - success: type: boolean + - insights: type: array + items: + $ref: #/components/schemas/translation-unit-insight-model + - errorInsights: type: array + items: + $ref: #/components/schemas/translation-error-detail-response +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-tu-update-input-request + + +``` +type: object +properties: + - content: type: string +``` + +## Model: translation-update-definition + + +``` +type: object +properties: + - translationEngineId: type: string +``` + +## Model: translation-update-settings + + +``` +type: object +properties: + - fields: type: array + items: + $ref: #/components/schemas/translation-update-field +``` + +## Model: translation-unit-insight-model + + +``` +type: object + description: Detailed insight information about the processed translation unit. +properties: + - resourceId: type: string + - translationHash: type: string + - action: type: string enum: [discard, add, merge, overwrite, error, delete] +``` + +## Model: translation-error-detail-response + + +``` +type: object + description: Translation error details response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-update-field + + +``` +type: object + description: +properties: + - name: type: string + - values: type: array + items: + type: string +``` + +## SDK + +### .NET — `ITranslationClient` + +```csharp +Task TranslationsUpdateAsync(string fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `string` | no | + +### Java — `TranslationApi` + +```java +// PUT /translations/translation-unit?fields={fields} +TranslationUnitAddUpdateResponse translationsUpdate(String fields, TranslationUpdateRequest translationUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `fields` | `String` | no | +| `translationUpdateRequest` | `TranslationUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateApplication.md b/articles/LCPublicAPI/aidocs/reference/UpdateApplication.md new file mode 100644 index 0000000..ba19b50 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateApplication.md @@ -0,0 +1,114 @@ +# Trados Cloud Platform API Update Application + +Update Application UpdateApplication PUT /applications/{applicationId} + +- Friendly name: Update Application +- Operation ID: UpdateApplication +- HTTP Method: PUT +- Path: /applications/{applicationId} + +Updates an integration application. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: application-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: application-update-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - enableApiAccess: type: boolean + - serviceUserId: type: string + - regenerateSecret: type: boolean +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IIntegrationClient` + +```csharp +Task UpdateApplicationAsync(string applicationId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `string` | yes | + +### Java — `IntegrationApi` + +```java +// PUT /applications/{applicationId} +void updateApplication(String applicationId, ApplicationUpdateRequest applicationUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `applicationId` | `String` | yes | +| `applicationUpdateRequest` | `ApplicationUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateCustomField.md b/articles/LCPublicAPI/aidocs/reference/UpdateCustomField.md new file mode 100644 index 0000000..5e2e4e0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateCustomField.md @@ -0,0 +1,121 @@ +# Trados Cloud Platform API Update Custom Field + +Update Custom Field UpdateCustomField PUT /projects/{projectId}/custom-fields/{customFieldKey} + +- Friendly name: Update Custom Field +- Operation ID: UpdateCustomField +- HTTP Method: PUT +- Path: /projects/{projectId}/custom-fields/{customFieldKey} + +Allows updating individual custom fields on a project. + +## Parameters + +No parameters. + +## Request body + +- Content: application/json + +- Schema: custom-field-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input for a readOnly field, with a different value than the deafult one. Also this code is used for invalid input values + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the Custom field for the Project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Project could not be found by identifier or Custom field key could not be found or does not belong to the desired resource type. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: custom-field-update-request + + +``` +type: object + description: +properties: + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task UpdateCustomFieldAsync(string projectId, string customFieldKey); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `customFieldKey` | `string` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/custom-fields/{customFieldKey} +void updateCustomField(String projectId, String customFieldKey, CustomFieldUpdateRequest customFieldUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `customFieldKey` | `String` | yes | +| `customFieldUpdateRequest` | `CustomFieldUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateCustomer.md b/articles/LCPublicAPI/aidocs/reference/UpdateCustomer.md new file mode 100644 index 0000000..b06b932 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateCustomer.md @@ -0,0 +1,152 @@ +# Trados Cloud Platform API Update Customer + +Update Customer UpdateCustomer PUT /customers/{customerId} + +- Friendly name: Update Customer +- Operation ID: UpdateCustomer +- HTTP Method: PUT +- Path: /customers/{customerId} + +Updates a customer by identifier. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: customer-update-request (see model section below) + +## Response + +### 204 + +No Content + + +### 400 + +Error codes: +* “invalid”: Invalid input in “name” field on the error response. +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + + + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": duplicate name of a customer is not allowed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: customer-update-request + + +``` +type: object + description: Input for Customer update. + + +properties: + - name: type: string + - keyContactId: type: string + - ragStatus: type: string enum: [green, amber, red] + - customFieldDefinitions: type: array + items: + $ref: #/components/schemas/custom-field-resource + - folderVisibility: type: string enum: [default, private] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: custom-field-resource + + +``` +type: object + description: A Custom Field resource model. +properties: + - key: type: string + - value: type: object + description: The value of the custom property. A date will be serialized as an ISO_8601 string. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ICustomerClient` + +```csharp +Task UpdateCustomerAsync(CustomerUpdateRequest customerId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `CustomerUpdateRequest` | yes | + +### Java — `CustomerApi` + +```java +// PUT /customers/{customerId} +void updateCustomer(String customerId, CustomerUpdateRequest customerUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `customerId` | `String` | yes | +| `customerUpdateRequest` | `CustomerUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateGroup.md b/articles/LCPublicAPI/aidocs/reference/UpdateGroup.md new file mode 100644 index 0000000..e4af576 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateGroup.md @@ -0,0 +1,156 @@ +# Trados Cloud Platform API Update Group + +Update Group UpdateGroup PUT /groups/{groupId} + +- Friendly name: Update Group +- Operation ID: UpdateGroup +- HTTP Method: PUT +- Path: /groups/{groupId} + +Updates a group. We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: group-update-request (see model section below) + +## Response + +### 204 + +No Content + + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* “maxSize”: Character number or List size exceeds the maximum allowed value for the “name” field on the error response. +* “minSize”: Character number or List size insufficient for the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the Group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "conflict": the request is conflicting with existing data. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: group-update-request + + +``` +type: object + description: Group of users. +properties: + - name: type: string + - description: type: string + - roles: type: array + items: + type: string + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles-request + - users: type: array + items: + type: string + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: group-additional-roles-request + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: type: string + - roles: type: array + items: + type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IGroupClient` + +```csharp +Task UpdateGroupAsync(GroupUpdateRequest groupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `GroupUpdateRequest` | yes | + +### Java — `GroupApi` + +```java +// PUT /groups/{groupId} +void updateGroup(String groupId, GroupUpdateRequest groupUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `groupId` | `String` | yes | +| `groupUpdateRequest` | `GroupUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchBatchMapping.md b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchBatchMapping.md new file mode 100644 index 0000000..c073844 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchBatchMapping.md @@ -0,0 +1,181 @@ +# Trados Cloud Platform API Update PerfectMatch Batch Mapping + +Update PerfectMatch Batch Mapping UpdatePerfectMatchBatchMapping PUT /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId} + +- Friendly name: Update PerfectMatch Batch Mapping +- Operation ID: UpdatePerfectMatchBatchMapping +- HTTP Method: PUT +- Path: /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId} + +Updates a PerfectMatch batch mapping. + +Pay special attention to how [updating works](../docs/Updating-data-with-PUT.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: perfect-match-batch-mapping-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "updateNotAllowed": the resource could not be updated at this time. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-batch-mapping-update-request + + +``` +type: object +properties: + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - files: type: array + items: + $ref: #/components/schemas/perfect-match-file-mapping-request + - matchingProjects: type: array + items: + type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: perfect-match-file-mapping-request + + +``` +type: object +properties: + - sourceFileId: type: string + - fileName: type: string + - targetLanguages: type: array + items: + $ref: #/components/schemas/target-language-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task UpdatePerfectMatchBatchMappingAsync(string mappingId, string batchMappingId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `batchMappingId` | `string` | yes | + +### Java — `PerfectMatchMappingApi` + +```java +// PUT /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId} +void updatePerfectMatchBatchMapping(String mappingId, String batchMappingId, PerfectMatchBatchMappingUpdateRequest perfectMatchBatchMappingUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `batchMappingId` | `String` | yes | +| `perfectMatchBatchMappingUpdateRequest` | `PerfectMatchBatchMappingUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithManuallyUploadedFile.md b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithManuallyUploadedFile.md new file mode 100644 index 0000000..4b38f7b --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithManuallyUploadedFile.md @@ -0,0 +1,132 @@ +# Trados Cloud Platform API Update File Mapping With Manually Uploaded File + +Update File Mapping With Manually Uploaded File UpdatePerfectMatchFileMappingWithManuallyUploadedFile POST /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/file + +- Friendly name: Update File Mapping With Manually Uploaded File +- Operation ID: UpdatePerfectMatchFileMappingWithManuallyUploadedFile +- HTTP Method: POST +- Path: /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/file + +Updates a PerfectMatch file mapping with a manually uploaded file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: multipart/form-data + +``` +type: object +properties: + - properties: $ref: #/components/schemas/perfect-match-custom-file-mapping-request + - file: type: string (format: binary) +``` + +## Response + +### 204 + + + +### 400 + +Error codes: +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-custom-file-mapping-request + + +``` +type: object + description: Provide you own matching file. +properties: + - name: type: string + - targetLanguage: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task UpdatePerfectMatchFileMappingWithManuallyUploadedFileAsync(string mappingId, string batchMappingId, string fileMappingId, PerfectMatchCustomFileMappingRequest file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `batchMappingId` | `string` | yes | +| `fileMappingId` | `string` | yes | +| `file` | `PerfectMatchCustomFileMappingRequest` | yes | + +### Java — `PerfectMatchMappingApi` + +```java +// POST /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/file +void updatePerfectMatchFileMappingWithManuallyUploadedFile(String mappingId, String batchMappingId, String fileMappingId, PerfectMatchCustomFileMappingRequest properties, File file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `batchMappingId` | `String` | yes | +| `fileMappingId` | `String` | yes | +| `properties` | `PerfectMatchCustomFileMappingRequest` | yes | +| `file` | `File` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithProjectFile.md b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithProjectFile.md new file mode 100644 index 0000000..28a1a1f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdatePerfectMatchFileMappingWithProjectFile.md @@ -0,0 +1,127 @@ +# Trados Cloud Platform API Update File Mapping With Project File + +Update File Mapping With Project File UpdatePerfectMatchFileMappingWithProjectFile PUT /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/project-file + +- Friendly name: Update File Mapping With Project File +- Operation ID: UpdatePerfectMatchFileMappingWithProjectFile +- HTTP Method: PUT +- Path: /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/project-file + +Updates a PerfectMatch file mapping with an existing target file from a PerfectMatch candidate. Only valid candidates can be used to request an update. + +Use the [Candidates](#/operations/GetPerfectMatchCandidates) endpoint to retrieve a list of valid `fileId` and `projectId` to provide as matching data. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: perfect-match-project-file-mapping-request (see model section below) + +## Response + +### 204 + + + +### 400 + +Error codes: +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: perfect-match-project-file-mapping-request + + +``` +type: object + description: Provide a matching file from an existing project. +properties: + - fileId: type: string + - projectId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IPerfectMatchMappingClient` + +```csharp +Task UpdatePerfectMatchFileMappingWithProjectFileAsync(string mappingId, string batchMappingId, string fileMappingId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `string` | yes | +| `batchMappingId` | `string` | yes | +| `fileMappingId` | `string` | yes | + +### Java — `PerfectMatchMappingApi` + +```java +// PUT /perfect-match-mappings/{mappingId}/batch-mappings/{batchMappingId}/file-mappings/{fileMappingId}/project-file +void updatePerfectMatchFileMappingWithProjectFile(String mappingId, String batchMappingId, String fileMappingId, PerfectMatchProjectFileMappingRequest perfectMatchProjectFileMappingRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `mappingId` | `String` | yes | +| `batchMappingId` | `String` | yes | +| `fileMappingId` | `String` | yes | +| `perfectMatchProjectFileMappingRequest` | `PerfectMatchProjectFileMappingRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdatePricingModel.md b/articles/LCPublicAPI/aidocs/reference/UpdatePricingModel.md new file mode 100644 index 0000000..50325f0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdatePricingModel.md @@ -0,0 +1,268 @@ +# Trados Cloud Platform API Update Pricing Model + +Update Pricing Model UpdatePricingModel PUT /pricing-models/{pricingModelId} + +- Friendly name: Update Pricing Model +- Operation ID: UpdatePricingModel +- HTTP Method: PUT +- Path: /pricing-models/{pricingModelId} + +Updates a pricing model. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: pricing-model-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the pricing model. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the pricing model could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: pricing-model-update-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - currencyCode: type: string + - languageDirectionPricing: type: array + items: + $ref: #/components/schemas/language-direction-cost-request + - additionalCosts: type: array + items: + $ref: #/components/schemas/project-cost-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-cost-request + + +``` +type: object +properties: + - sourceLanguage: type: string + - targetLanguage: type: string + - contextMatch: type: number + - exactMatch: type: number + - new: type: number + - perfectMatch: type: number + - repetition: type: number + - machineTranslation: type: number + - pricingUnit: $ref: #/components/schemas/pricing-unit-type + - fuzzyMatches: type: array + items: + $ref: #/components/schemas/fuzzy-match + - additionalCosts: type: array + items: + $ref: #/components/schemas/language-cost-request +``` + +## Model: project-cost-request + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/project-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - costOperator: $ref: #/components/schemas/conditional-cost-operator + - costVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: pricing-unit-type + + +``` +type: string enum: [words, characters] +``` + +## Model: fuzzy-match + + +``` +type: object + description: Fuzzy match model. +properties: + - price: type: number + - category: $ref: #/components/schemas/fuzzy-match-category +``` + +## Model: language-cost-request + + +``` +type: object +properties: + - name: type: string + - type: $ref: #/components/schemas/language-cost-type + - index: type: number + - costPerUnit: type: number + - unitCount: type: number + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - operand: type: number + - serviceTypes: type: array + items: + type: string + - customUnitName: type: string +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: fuzzy-match-category + + +``` +type: object + description: Fuzzy match category range. +properties: + - minimumMatchValue: type: integer + - maximumMatchValue: type: integer +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## SDK + +### .NET — `IPricingModelClient` + +```csharp +Task UpdatePricingModelAsync(string pricingModelId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `string` | yes | + +### Java — `PricingModelApi` + +```java +// PUT /pricing-models/{pricingModelId} +void updatePricingModel(String pricingModelId, PricingModelUpdateRequest pricingModelUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `pricingModelId` | `String` | yes | +| `pricingModelUpdateRequest` | `PricingModelUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateProject.md b/articles/LCPublicAPI/aidocs/reference/UpdateProject.md new file mode 100644 index 0000000..57a07e4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateProject.md @@ -0,0 +1,479 @@ +# Trados Cloud Platform API Update Project + +Update Project UpdateProject PUT /projects/{projectId} + +- Friendly name: Update Project +- Operation ID: UpdateProject +- HTTP Method: PUT +- Path: /projects/{projectId} + +Updates the project in terms of: name, description, due date, quote, and project resources. Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386). + +Project rescheduling (updating dueBy) is permitted only if: +* there is no Customer Quote Approval task in the associated flow +* at least one Customer Quote Approval was closed(in case multiple project batches) + +Update `projectPlan.taskConfigurations` are now permitted before project is started. Elements are now pre-populated at project creation time. + +For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: project-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: + +* “invalid”: invalid input on update quote model +* “invalidStatus”: the quote cannot be edited, the project is in a phase which doesn't allow the quote to be edited +* "conflict": the project does not have a quote to be updated +* "limit.exceeded": a maximum number of users per task was assigned + +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the Project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error responses: + +* “invalidStatus”: a field cannot be edited, because the project is in a status which doesn't allow the field to be edited. `details.name` will provide the field name which is not allowed to be edited. + +* updateNotAllowed: a field of the project cannot be edited before the completion of customer approval. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-update-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - dueBy: $ref: #/components/schemas/date-time + - deliveredBy: $ref: #/components/schemas/date-time + - translationEngine: $ref: #/components/schemas/configuration-resource-request + - fileProcessingConfiguration: $ref: #/components/schemas/configuration-resource-request + - pricingModel: $ref: #/components/schemas/configuration-resource-request + - workflow: $ref: #/components/schemas/configuration-resource-request + - projectPlan: $ref: #/components/schemas/project-plan-update-request + - tqaProfile: $ref: #/components/schemas/configuration-resource-request + - quote: $ref: #/components/schemas/quote-update-request + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-request + - settings: $ref: #/components/schemas/project-settings-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: date-time + + +``` +type: string (format: date-time) +``` + +## Model: configuration-resource-request + + +``` +type: object + description: Resource configuration properties. +properties: + - id: type: string + - strategy: type: string enum: [copy, use] +``` + +## Model: project-plan-update-request + + +``` +type: object + description: Updates the configurations of the tasks that will be created in the future. +For example, you can change the assignee of the "translation" task while the project is in the "preprocessing" phase. +properties: + - taskConfigurations: type: array + items: + $ref: #/components/schemas/project-plan-task-configuration-request +``` + +## Model: quote-update-request + + +``` +type: object +properties: + - languageCosts: type: array + items: + $ref: #/components/schemas/quote-language-cost-request + - additionalCosts: type: array + items: + $ref: #/components/schemas/quote-additional-cost-request + - notes: type: string +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: project-manager-request + + +``` +type: object +properties: + - id: type: string + - type: type: string enum: [group, user] +``` + +## Model: project-settings-update-request + + +``` +type: object +properties: + - general: $ref: #/components/schemas/project-settings-general-request + - translationMemorySettings: $ref: #/components/schemas/translation-memory-settings-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: project-plan-task-configuration-request + + +``` +type: object + description: A project plan task configuration request. Used to update a task that will be created in the future. +properties: + - taskTemplate: $ref: #/components/schemas/object-id-request + - isSkipped: type: boolean + - assignees: type: array + items: + $ref: #/components/schemas/project-plan-task-assignee-request + - scope: $ref: #/components/schemas/task-configuration-scope-request + - dueBy: $ref: #/components/schemas/date-time + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: quote-language-cost-request + + +``` +type: object +properties: + - name: type: string + - count: type: number + - cost: type: number + - costType: $ref: #/components/schemas/language-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - targetLanguage: $ref: #/components/schemas/target-language-request + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number +``` + +## Model: quote-additional-cost-request + + +``` +type: object +properties: + - name: type: string + - count: type: number + - cost: type: number + - costType: $ref: #/components/schemas/project-cost-type + - volumeUnitType: $ref: #/components/schemas/volume-unit-type + - costOrder: type: integer + - conditionalCostType: $ref: #/components/schemas/conditional-cost-type + - conditionalCostOperator: $ref: #/components/schemas/conditional-cost-operator + - conditionalCostVariable: $ref: #/components/schemas/conditional-cost-variable + - conditionalCostThreshold: type: number +``` + +## Model: project-settings-general-request + + +``` +type: object +properties: + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: translation-memory-settings-request + + +``` +type: object + description: Translation Memory settings Request +properties: + - filters: $ref: #/components/schemas/translation-memory-filters-request + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-update-TM-fields-request +``` + +## Model: object-id-request + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: project-plan-task-assignee-request + + +``` +type: object +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator] + - id: type: string +``` + +## Model: task-configuration-scope-request + + +``` +type: object + description: +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: language-cost-type + + +``` +type: string enum: [volume, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: volume-unit-type + + +``` +type: string enum: [words, characters, custom] +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: conditional-cost-type + + +``` +type: string enum: [absolute, relative, percentage] +``` + +## Model: conditional-cost-operator + + +``` +type: string enum: [less, lessOrEqual, greater, greaterOrEqual] +``` + +## Model: conditional-cost-variable + + +``` +type: string enum: [wordCount, runningTotal] +``` + +## Model: project-cost-type + + +``` +type: string enum: [volume, perTargetLanguage, perFile, hourly, percentage, perPage, conditional, adhoc, adhocVolume] +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-filters-request + + +``` +type: object + description: Translation Memory filter settings request +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-hard-filter-request +``` + +## Model: translation-memory-update-TM-fields-request + + +``` +type: object +properties: + - fieldId: type: string + - values: type: array + items: + type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## Model: translation-memory-hard-filter-request + + +``` +type: object + description: Hard filter configuration for Translation Memory matching request +properties: + - expression: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task UpdateProjectAsync(ProjectUpdateRequest projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `ProjectUpdateRequest` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId} +void updateProject(String projectId, ProjectUpdateRequest projectUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `projectUpdateRequest` | `ProjectUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateProjectConfiguration.md b/articles/LCPublicAPI/aidocs/reference/UpdateProjectConfiguration.md new file mode 100644 index 0000000..65eb495 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateProjectConfiguration.md @@ -0,0 +1,174 @@ +# Trados Cloud Platform API Update Project Configuration + +Update Project Configuration UpdateProjectConfiguration PUT /projects/{projectId}/configuration + +- Friendly name: Update Project Configuration +- Operation ID: UpdateProjectConfiguration +- HTTP Method: PUT +- Path: /projects/{projectId}/configuration + +Updates the configuration settings for an existing project. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: project-configuration-request (see model section below) + +## Response + +### 200 + + + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the project configuration. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-configuration-request + + +``` +type: object + description: A request used to update the configuration settings for a project. +properties: + - translationMemoryFieldsSettings: $ref: #/components/schemas/translation-memory-fields-update-request + - updateTranslationMemory: $ref: #/components/schemas/update-translation-memory + - perfectMatchMappingId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-memory-fields-update-request + + +``` +type: object +properties: + - settings: type: array + items: + $ref: #/components/schemas/translation-memory-fields-settings-request +``` + +## Model: update-translation-memory + + +``` +type: object +properties: + - settings: $ref: #/components/schemas/update-translation-memory-settings +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-memory-fields-settings-request + + +``` +type: object + description: +properties: + - name: type: string + - values: type: array + items: + type: string + - type: $ref: #/components/schemas/translation-memory-field-update-type +``` + +## Model: update-translation-memory-settings + + +``` +type: object +properties: + - segmentsConfirmationLevels: type: array + items: + type: string enum: [approvedTranslation, approvedSignOff, draft, notTranslated, translated, rejectedTranslation, rejectedSignOff] + - targetSegmentsDifferOption: type: string enum: [addNew, overwrite, keepMostRecent, leaveUnchanged, merge] +``` + +## Model: translation-memory-field-update-type + + +``` +type: string enum: [dateTime, singlePicklist, multiplePicklist, integer, singleString, multipleString] +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task UpdateProjectConfigurationAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/configuration +void updateProjectConfiguration(String projectId, ProjectConfigurationRequest projectConfigurationRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `projectConfigurationRequest` | `ProjectConfigurationRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateProjectGroup.md b/articles/LCPublicAPI/aidocs/reference/UpdateProjectGroup.md new file mode 100644 index 0000000..d4c895e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateProjectGroup.md @@ -0,0 +1,131 @@ +# Trados Cloud Platform API Update Project Group + +Update Project Group UpdateProjectGroup PUT /project-groups/{projectGroupId} + +- Friendly name: Update Project Group +- Operation ID: UpdateProjectGroup +- HTTP Method: PUT +- Path: /project-groups/{projectGroupId} + +Updates the project group. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + + +- Content: application/json + +- Schema: project-group-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: + +* “invalid”: Invalid input on update project group model. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the project group. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project group could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": Project group with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-group-update-request + + +``` +type: object +properties: + - name: type: string + - description: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectGroupClient` + +```csharp +Task UpdateProjectGroupAsync(ProjectGroupUpdateRequest projectGroupId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `ProjectGroupUpdateRequest` | yes | + +### Java — `ProjectGroupApi` + +```java +// PUT /project-groups/{projectGroupId} +void updateProjectGroup(String projectGroupId, ProjectGroupUpdateRequest projectGroupUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectGroupId` | `String` | yes | +| `projectGroupUpdateRequest` | `ProjectGroupUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateProjectPricingModel.md b/articles/LCPublicAPI/aidocs/reference/UpdateProjectPricingModel.md new file mode 100644 index 0000000..e629c30 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateProjectPricingModel.md @@ -0,0 +1,121 @@ +# Trados Cloud Platform API Update Project Pricing Model + +Update Project Pricing Model UpdateProjectPricingModel PUT /projects/{projectId}/pricing-model + +- Friendly name: Update Project Pricing Model +- Operation ID: UpdateProjectPricingModel +- HTTP Method: PUT +- Path: /projects/{projectId}/pricing-model + +Update project pricing model only during Customer Quote Review task type. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: project-pricing-model-update-request (see model section below) + +## Response + +### 204 + + + +### 400 + +Error codes: +* “invalidPricingModel”: There is mismatch configuration between the project and the new pricing model. +* "differentCurrencyCode": There is a mismatch between the provided pricing model currency and the pricing model currency in the project. +* “differentFuzzyBands”: There is a mismatch between the provided pricing model fuzzy bands and the pricing model fuzzy bands in the project. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the project configuration. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the resource could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-pricing-model-update-request + + +``` +type: object +properties: + - id: type: string + - strategy: type: string enum: [copy, use] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IProjectClient` + +```csharp +Task UpdateProjectPricingModelAsync(ProjectPricingModelUpdateRequest projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `ProjectPricingModelUpdateRequest` | yes | + +### Java — `ProjectApi` + +```java +// PUT /projects/{projectId}/pricing-model +void updateProjectPricingModel(String projectId, ProjectPricingModelUpdateRequest projectPricingModelUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `projectPricingModelUpdateRequest` | `ProjectPricingModelUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateProjectTemplate.md b/articles/LCPublicAPI/aidocs/reference/UpdateProjectTemplate.md new file mode 100644 index 0000000..3befbc0 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateProjectTemplate.md @@ -0,0 +1,293 @@ +# Trados Cloud Platform API Update Project Template + +Update Project Template UpdateProjectTemplate PUT /project-templates/{projectTemplateId} + +- Friendly name: Update Project Template +- Operation ID: UpdateProjectTemplate +- HTTP Method: PUT +- Path: /project-templates/{projectTemplateId} + +Updates a project template by id. + +For detailed information about Translation Memory advanced configuration including filters and field updates, see [Translation Memory Advanced Configuration](../docs/translation-memory/Translation-memory-advanced-configuration.html). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: project-template-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input mentioned in the “name” field on the error response. +* "deleted": Some of the selected values were deleted and cannot be selected for some values of the "customFields" field. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the project template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: project-template-update-request + + +``` +type: object + description: Input for Project Template creation. +properties: + - name: type: string + - description: type: string + - fileProcessingConfiguration: $ref: #/components/schemas/configuration-resource-request + - projectManagers: type: array + items: + $ref: #/components/schemas/project-manager-request + - scheduleTemplate: $ref: #/components/schemas/configuration-resource-request + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - translationEngine: $ref: #/components/schemas/configuration-resource-request + - pricingModel: $ref: #/components/schemas/configuration-resource-request + - workflow: $ref: #/components/schemas/configuration-resource-request + - settings: $ref: #/components/schemas/project-template-settings-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: configuration-resource-request + + +``` +type: object + description: Resource configuration properties. +properties: + - id: type: string + - strategy: type: string enum: [copy, use] +``` + +## Model: project-manager-request + + +``` +type: object +properties: + - id: type: string + - type: type: string enum: [group, user] +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: project-template-settings-update-request + + +``` +type: object + description: Input for Project Template settings. +properties: + - general: $ref: #/components/schemas/project-template-general-settings-update + - qualityManagement: $ref: #/components/schemas/project-template-quality-management-settings + - translationMemorySettings: $ref: #/components/schemas/translation-memory-settings-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: project-template-general-settings-update + + +``` +type: object + description: General settings +properties: + - forceOnline: type: boolean + - quoteTemplate: $ref: #/components/schemas/configuration-resource-request + - customerPortalVisibility: type: boolean + - completionConfiguration: $ref: #/components/schemas/completion-config-request +``` + +## Model: project-template-quality-management-settings + + +``` +type: object +properties: + - tqaProfile: $ref: #/components/schemas/configuration-resource-request +``` + +## Model: translation-memory-settings-request + + +``` +type: object + description: Translation Memory settings Request +properties: + - filters: $ref: #/components/schemas/translation-memory-filters-request + - updateTranslationMemoryFields: type: array + items: + $ref: #/components/schemas/translation-memory-update-TM-fields-request +``` + +## Model: completion-config-request + + +``` +type: object + description: Completion configuration properties. +properties: + - completeDays: type: number + - archiveDays: type: number + - archiveReminderDays: type: number +``` + +## Model: translation-memory-filters-request + + +``` +type: object + description: Translation Memory filter settings request +properties: + - hardFilter: $ref: #/components/schemas/translation-memory-hard-filter-request +``` + +## Model: translation-memory-update-TM-fields-request + + +``` +type: object +properties: + - fieldId: type: string + - values: type: array + items: + type: string +``` + +## Model: translation-memory-hard-filter-request + + +``` +type: object + description: Hard filter configuration for Translation Memory matching request +properties: + - expression: type: string +``` + +## SDK + +### .NET — `IProjectTemplateClient` + +```csharp +Task UpdateProjectTemplateAsync(ProjectTemplateUpdateRequest projectTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `ProjectTemplateUpdateRequest` | yes | + +### Java — `ProjectTemplateApi` + +```java +// PUT /project-templates/{projectTemplateId} +void updateProjectTemplate(String projectTemplateId, ProjectTemplateUpdateRequest projectTemplateUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectTemplateId` | `String` | yes | +| `projectTemplateUpdateRequest` | `ProjectTemplateUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateRole.md b/articles/LCPublicAPI/aidocs/reference/UpdateRole.md new file mode 100644 index 0000000..beebfe1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateRole.md @@ -0,0 +1,139 @@ +# Trados Cloud Platform API Update Role + +Update Role UpdateRole PUT /roles/{roleId} + +- Friendly name: Update Role +- Operation ID: UpdateRole +- HTTP Method: PUT +- Path: /roles/{roleId} + +Updates a role by identifier. Pay special attention to how [updating](../docs/Updating-data-with-PUT.html) works. + +See [List Permissions](#/operations/ListPermissions) for available permission names. + +> Note: Only custom roles can be updated. Provisioned roles cannot be modified. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: role-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the "name" field on the error response, or provisioned roles cannot be updated. +* "empty": Empty input for the "roleId" path parameter variable. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "missing": Missing required field for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the role. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the role could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate" Role with the same name already exists. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: role-update-request + + +``` +type: object + description: Role update request. +properties: + - name: type: string + - description: type: string + - permissions: type: array + items: + type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IRoleandPermissionClient` + +```csharp +Task UpdateRoleAsync(string roleId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `string` | yes | + +### Java — `RoleAndPermissionApi` + +```java +// PUT /roles/{roleId} +void updateRole(String roleId, RoleUpdateRequest roleUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `roleId` | `String` | yes | +| `roleUpdateRequest` | `RoleUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateScheduleTemplate.md b/articles/LCPublicAPI/aidocs/reference/UpdateScheduleTemplate.md new file mode 100644 index 0000000..d563935 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateScheduleTemplate.md @@ -0,0 +1,176 @@ +# Trados Cloud Platform API Update Schedule Template + +Update Schedule Template UpdateScheduleTemplate PUT /schedule-templates/{scheduleTemplateId} + +- Friendly name: Update Schedule Template +- Operation ID: UpdateScheduleTemplate +- HTTP Method: PUT +- Path: /schedule-templates/{scheduleTemplateId} + +Updates the schedule template identified by `scheduleTemplateId`. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: schedule-template-update-request (see model section below) + +## Response + +### 204 + +No content + +### 400 + +Error responses: + +* “invalid”: invalid input on update schedule template model. +* "empty": Empty mandatory value mentioned in the "name" field on the error response or in “scheduleTemplateId” path variable. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" or in the "description" fields. +* "invalidType": The value provided for the "taskTypeId" field is invalid. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the schedule template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the schedule template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": A schedule template with the same name already exists in the same location. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: schedule-template-update-request + + +``` +type: object + description: Schedule Template update request model +properties: + - name: type: string + - description: type: string + - configurations: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-request + - projectScheduleConfiguration: $ref: #/components/schemas/schedule-template-project-configuration +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: schedule-template-configuration-request + + +``` +type: object + description: Schedule Template Configuration resource +properties: + - taskTypeId: type: string + - schedules: type: array + items: + $ref: #/components/schemas/schedule-template-configuration-schedules +``` + +## Model: schedule-template-project-configuration + + +``` +type: object + description: Schedule Template Project Configuration resource +properties: + - duration: type: integer + - reminder: + description:
default
Expressed in minutes.
+``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: schedule-template-configuration-schedules + + +``` +type: object + description: The Configuration Schedules resource. +properties: + - scope: type: string enum: [global, sourceLanguage, languageDirection] + - duration: type: integer + - reminder: + description: Expressed in minutes. + - sourceLanguage: type: string + - targetLanguage: type: string +``` + +## SDK + +### .NET — `IScheduleTemplateClient` + +```csharp +Task UpdateScheduleTemplateAsync(string scheduleTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `string` | yes | + +### Java — `ScheduleTemplateApi` + +```java +// PUT /schedule-templates/{scheduleTemplateId} +void updateScheduleTemplate(String scheduleTemplateId, ScheduleTemplateUpdateRequest scheduleTemplateUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `scheduleTemplateId` | `String` | yes | +| `scheduleTemplateUpdateRequest` | `ScheduleTemplateUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateSourceFile.md b/articles/LCPublicAPI/aidocs/reference/UpdateSourceFile.md new file mode 100644 index 0000000..71bf5ff --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateSourceFile.md @@ -0,0 +1,126 @@ +# Trados Cloud Platform API Update Source File + +Update Source File UpdateSourceFile PUT /projects/{projectId}/source-files/{sourceFileId} + +- Friendly name: Update Source File +- Operation ID: UpdateSourceFile +- HTTP Method: PUT +- Path: /projects/{projectId}/source-files/{sourceFileId} + +Updates a source file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: source-file-rename-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to update the target file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project or the source file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": a file with the same name already exists. + + +## Model: source-file-rename-request + + +``` +type: object +properties: + - name: type: string + - updateTargetFilesName: type: boolean +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task UpdateSourceFileAsync(string projectId, string sourceFileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `sourceFileId` | `string` | yes | + +### Java — `SourceFileApi` + +```java +// PUT /projects/{projectId}/source-files/{sourceFileId} +void updateSourceFile(String projectId, String sourceFileId, SourceFileRenameRequest sourceFileRenameRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFileId` | `String` | yes | +| `sourceFileRenameRequest` | `SourceFileRenameRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateSourceFiles.md b/articles/LCPublicAPI/aidocs/reference/UpdateSourceFiles.md new file mode 100644 index 0000000..d5ca6a8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateSourceFiles.md @@ -0,0 +1,136 @@ +# Trados Cloud Platform API Update Source Files + +Update Source Files UpdateSourceFiles PUT /projects/{projectId}/source-files + +- Friendly name: Update Source Files +- Operation ID: UpdateSourceFiles +- HTTP Method: PUT +- Path: /projects/{projectId}/source-files + +Updates multiple source files. If any of the files fails to be updated, an error will be returned for each file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: source-files-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to update the source file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the project could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": a file with the same name already exists. + + +## Model: source-files-update-request + + +``` +type: object +properties: + - files: type: array + items: + $ref: #/components/schemas/source-file-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: source-file-update-request + + +``` +type: object +properties: + - id: type: string + - name: type: string + - updateTargetFilesName: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task UpdateSourceFilesAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `SourceFileApi` + +```java +// PUT /projects/{projectId}/source-files +void updateSourceFiles(String projectId, SourceFilesUpdateRequest sourceFilesUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `sourceFilesUpdateRequest` | `SourceFilesUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateSourceProperties.md b/articles/LCPublicAPI/aidocs/reference/UpdateSourceProperties.md new file mode 100644 index 0000000..a7c4192 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateSourceProperties.md @@ -0,0 +1,135 @@ +# Trados Cloud Platform API Update Source File Properties + +Update Source File Properties UpdateSourceProperties PUT /tasks/{taskId}/source-files/{sourceFileId} + +- Friendly name: Update Source File Properties +- Operation ID: UpdateSourceProperties +- HTTP Method: PUT +- Path: /tasks/{taskId}/source-files/{sourceFileId} + +Updates the properties of the source file. + + +The value of `fileTypeSettingsId` should be one of the identifiers listed by the [List File Type Settings](#/operations/ListFileTypeSettings) endpoint called with an identifier of a File Processing Configuration that exists on the project. The list of File Processing Configurations from a project can be retrieved by using the [List File Processing Configurations](#/operations/ListFileProcessingConfigurations) endpoint. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: source-file-properties-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: +* “invalid”: invalid input on update source file properties. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - the specified task or the source file was not found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "noOwner": the task has no owner. +* "differentOwner": the authenticated user is not the owner of the task. +* "taskCompleted": updating the source file properties is not allowed when the task is completed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: source-file-properties-update-request + + +``` +type: object + description: +properties: + - fileRole: type: string enum: [translatable, reference] + - fileTypeSettingsId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ISourceFileClient` + +```csharp +Task UpdateSourcePropertiesAsync(string taskId, string sourceFileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `string` | yes | +| `sourceFileId` | `string` | yes | + +### Java — `SourceFileApi` + +```java +// PUT /tasks/{taskId}/source-files/{sourceFileId} +void updateSourceProperties(String taskId, String sourceFileId, SourceFilePropertiesUpdateRequest sourceFilePropertiesUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `taskId` | `String` | yes | +| `sourceFileId` | `String` | yes | +| `sourceFilePropertiesUpdateRequest` | `SourceFilePropertiesUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTargetFile.md b/articles/LCPublicAPI/aidocs/reference/UpdateTargetFile.md new file mode 100644 index 0000000..737b29c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTargetFile.md @@ -0,0 +1,125 @@ +# Trados Cloud Platform API Update Target File + +Update Target File UpdateTargetFile PUT /projects/{projectId}/target-files/{targetFileId} + +- Friendly name: Update Target File +- Operation ID: UpdateTargetFile +- HTTP Method: PUT +- Path: /projects/{projectId}/target-files/{targetFileId} + +Updates a target file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: target-file-rename-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to update the target file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the target file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": a file with the same name already exists. + + +## Model: target-file-rename-request + + +``` +type: object +properties: + - name: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task UpdateTargetFileAsync(string projectId, string targetFileId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | +| `targetFileId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// PUT /projects/{projectId}/target-files/{targetFileId} +void updateTargetFile(String projectId, String targetFileId, TargetFileRenameRequest targetFileRenameRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFileId` | `String` | yes | +| `targetFileRenameRequest` | `TargetFileRenameRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTargetFiles.md b/articles/LCPublicAPI/aidocs/reference/UpdateTargetFiles.md new file mode 100644 index 0000000..98d9a16 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTargetFiles.md @@ -0,0 +1,135 @@ +# Trados Cloud Platform API Update Target Files + +Update Target Files UpdateTargetFiles PUT /projects/{projectId}/target-files + +- Friendly name: Update Target Files +- Operation ID: UpdateTargetFiles +- HTTP Method: PUT +- Path: /projects/{projectId}/target-files + +Updates multiple target files. If any of the files fails to be updated, an error will be returned for each file. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: target-files-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error responses: +* "invalid": invalid input for the value mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - the authenticated user is not allowed to update the file. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the target file could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": a file with the same name already exists. + + +## Model: target-files-update-request + + +``` +type: object +properties: + - files: type: array + items: + $ref: #/components/schemas/target-file-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: target-file-update-request + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITargetFileClient` + +```csharp +Task UpdateTargetFilesAsync(string projectId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `string` | yes | + +### Java — `TargetFileApi` + +```java +// PUT /projects/{projectId}/target-files +void updateTargetFiles(String projectId, TargetFilesUpdateRequest targetFilesUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `projectId` | `String` | yes | +| `targetFilesUpdateRequest` | `TargetFilesUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTermbase.md b/articles/LCPublicAPI/aidocs/reference/UpdateTermbase.md new file mode 100644 index 0000000..3445b98 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTermbase.md @@ -0,0 +1,187 @@ +# Trados Cloud Platform API Update Termbase + +Update Termbase UpdateTermbase PUT /termbases/{termbaseId} + +- Friendly name: Update Termbase +- Operation ID: UpdateTermbase +- HTTP Method: PUT +- Path: /termbases/{termbaseId} + +Updates the termbase. +The termbase can be updated with a termbase template by providing the termbaseTemplateId or by providing a custom termbaseStructure. + +If only a `termbaseTemplateId ` was provided, the termbase will be updated using data from the template. +If only a `termbaseStructure` was provided, the termbase will be updated using data from the structure. +If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: termbase-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "duplicate": The field name must be unique within the list. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to update the termbase. +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": - The specified termbase identifier was not found. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": There is already a termbase with the same name. +* "invalidStatus": The termbase cannot be updated as is currently being processed. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-update-request + + +``` +type: object + description: Termbase update request. +properties: + - name: type: string + - description: type: string + - copyright: type: string + - termbaseTemplateId: type: string + - termbaseStructure: $ref: #/components/schemas/termbase-structure-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-structure-update-request + + +``` +type: object + description: The termbase structure update request. +properties: + - languages: type: array + items: + $ref: #/components/schemas/language-request + - fields: type: array + items: + $ref: #/components/schemas/termbase-field-update-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-field-update-request + + +``` +type: object + description: The termbase field update request. + +If dataType is `picklist` and pickListValues array is empty `allowCustomValues` must be true. +properties: + - id: type: string + - name: type: string + - description: type: string + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task UpdateTermbaseAsync(string termbaseId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// PUT /termbases/{termbaseId} +void updateTermbase(String termbaseId, TermbaseUpdateRequest termbaseUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `termbaseUpdateRequest` | `TermbaseUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseEntry.md b/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseEntry.md new file mode 100644 index 0000000..7161876 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseEntry.md @@ -0,0 +1,204 @@ +# Trados Cloud Platform API Update Termbase Entry + +Update Termbase Entry UpdateTermbaseEntry PUT /termbases/{termbaseId}/entries/{entryId} + +- Friendly name: Update Termbase Entry +- Operation ID: UpdateTermbaseEntry +- HTTP Method: PUT +- Path: /termbases/{termbaseId}/entries/{entryId} + +Updates a termbase entry by identifier. +The request body will overwrite the existing data. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: termbase-entry-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to update the entry. +* "entitlementMissing": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "invalidStatus": The termbase cannot be updated as is currently being processed. +* "duplicate" : An entry with the same value already exists. + + +## Model: termbase-entry-update-request + + +``` +type: object + description: The termbase entry update request. +properties: + - humanReadableId: type: string + - languages: type: array + items: + $ref: #/components/schemas/termbase-entry-language-update-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: termbase-entry-language-update-request + + +``` +type: object + description: The termbase entry language update request. +properties: + - id: type: string + - language: $ref: #/components/schemas/language-request + - terms: type: array + items: + $ref: #/components/schemas/termbase-entry-term-update-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-update-request +``` + +## Model: termbase-field-value-update-request + + +``` +type: object + description: The termbase field value update request. +properties: + - id: type: string + - name: type: string + - termbaseFieldId: type: string + - value: type: string + - fieldValueLinks: type: array + items: + $ref: #/components/schemas/termbase-field-value-link-update-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-entry-term-update-request + + +``` +type: object + description: The termbase entry term update request. +properties: + - id: type: string + - text: type: string + - systemStatus: $ref: #/components/schemas/termbase-entry-term-system-status-request + - termbaseFieldValues: type: array + items: + $ref: #/components/schemas/termbase-field-value-update-request +``` + +## Model: termbase-field-value-link-update-request + + +``` +type: object + description: The field value link update request. +properties: + - type: type: string enum: [term, entry, external] + - value: type: string +``` + +## Model: termbase-entry-term-system-status-request + + +``` +type: string enum: [preferred, draft, inReview, deprecated, recommended, admitted, forbidden, rejected, superseded] +``` + +## SDK + +### .NET — `ITermbaseClient` + +```csharp +Task UpdateTermbaseEntryAsync(string termbaseId, string entryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `string` | yes | +| `entryId` | `string` | yes | + +### Java — `TermbaseApi` + +```java +// PUT /termbases/{termbaseId}/entries/{entryId} +void updateTermbaseEntry(String termbaseId, String entryId, TermbaseEntryUpdateRequest termbaseEntryUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseId` | `String` | yes | +| `entryId` | `String` | yes | +| `termbaseEntryUpdateRequest` | `TermbaseEntryUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseTemplate.md b/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseTemplate.md new file mode 100644 index 0000000..7eddee9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTermbaseTemplate.md @@ -0,0 +1,163 @@ +# Trados Cloud Platform API Update Termbase Template + +Update Termbase Template UpdateTermbaseTemplate PUT /termbase-templates/{termbaseTemplateId} + +- Friendly name: Update Termbase Template +- Operation ID: UpdateTermbaseTemplate +- HTTP Method: PUT +- Path: /termbase-templates/{termbaseTemplateId} + +Updates the termbase template. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: termbase-template-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty mandatory value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "duplicate": The field name must be unique within the list. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": - The authenticated user is not allowed to update the termbase template. +* "benefitNotAvailable": - Your subscription does not include access to the requested type of benefit. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": There is already a termbase template with the same name. +* "conflict": cannot update system termbase template + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: termbase-template-update-request + + +``` +type: object + description: The termbase template update request. +properties: + - name: type: string + - description: type: string + - copyright: type: string + - languages: type: array + items: + $ref: #/components/schemas/language-request + - fields: type: array + items: + $ref: #/components/schemas/termbase-field-update-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: termbase-field-update-request + + +``` +type: object + description: The termbase field update request. + +If dataType is `picklist` and pickListValues array is empty `allowCustomValues` must be true. +properties: + - id: type: string + - name: type: string + - description: type: string + - level: type: string enum: [entry, language, term] + - dataType: type: string enum: [text, double, date, picklist, boolean] + - pickListValues: type: array + items: + type: string + - allowCustomValues: type: boolean + - allowMultiple: type: boolean + - isMandatory: type: boolean +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `ITermbaseTemplateClient` + +```csharp +Task UpdateTermbaseTemplateAsync(string termbaseTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `string` | yes | + +### Java — `TermbaseTemplateApi` + +```java +// PUT /termbase-templates/{termbaseTemplateId} +void updateTermbaseTemplate(String termbaseTemplateId, TermbaseTemplateUpdateRequest termbaseTemplateUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `termbaseTemplateId` | `String` | yes | +| `termbaseTemplateUpdateRequest` | `TermbaseTemplateUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTranslationEngine.md b/articles/LCPublicAPI/aidocs/reference/UpdateTranslationEngine.md new file mode 100644 index 0000000..2d1e0f5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTranslationEngine.md @@ -0,0 +1,209 @@ +# Trados Cloud Platform API Update Translation Engine + +Update Translation Engine UpdateTranslationEngine PUT /translation-engines/{translationEngineId} + +- Friendly name: Update Translation Engine +- Operation ID: UpdateTranslationEngine +- HTTP Method: PUT +- Path: /translation-engines/{translationEngineId} + +Updates a translation engine. + +It can be used to update a stand-alone translation engine or a project's translation engine. +The identifier of a project's translation engine can be retrieved only by calling [Get Project](#/operations/GetProject) endpoint. + +Pay special attention that some properties can not be changed for a project's translation engine. These include: name, description, definition.languageProcessingId, and language pairs can not be added/removed from definition.languagePairDefinitions. + +Pay special attention to how [updating](../docs/Updating-data-with-PUT.html) works. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + + +- Content: application/json + +- Schema: translation-engine-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "empty": Empty input in the update translation engine model. Check error details. +* "invalidLanguage": Invalid language code used in language-pair + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to update the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation memory could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: + + * "updateNotAllowed": Property specified in error response can not be updated because the translation engine provided is a copy assigned to a project. +* "duplicate": Duplicate resources found for the language pair specified in the error details. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-engine-update-request + + +``` +type: object + description: Translation Engine resource update request +properties: + - name: type: string + - description: type: string + - definition: $ref: #/components/schemas/translation-engine-definition +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: translation-engine-definition + + +``` +type: object + description: The definition of a translation engine. +properties: + - languageProcessingRuleId: type: string + - languagePairDefinitions: type: array + items: + $ref: #/components/schemas/translation-engine-definition-language-pair + - sequence: $ref: #/components/schemas/remote-translation-engine-sequence + - adjacentLanguagePenalty: type: integer +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: translation-engine-definition-language-pair + + +``` +type: object +properties: + - languagePair: $ref: #/components/schemas/language-pair + - resources: type: array + items: + $ref: #/components/schemas/language-pair-resource + - adjacentLanguagePairs: type: array + items: + $ref: #/components/schemas/language-pair +``` + +## Model: remote-translation-engine-sequence + + +``` + + title: Translation Engine Sequence + description: Lists of IDs for Translation Memories, Termbases, Machine Translations and Large Language Models, in order of their use +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: language-pair-resource + + +``` +type: object + description: Resource describing a Translation Memory, Termbase or Machine Translation used in a Translation Engine. +properties: + - id: type: string + - systemId: type: string + - type: type: string enum: [TM, MT, TB, LLM] + - penalty: type: integer + - lookup: type: boolean + - concordance: type: boolean + - update: type: boolean + - generativeTranslation: type: boolean + - smartReview: type: boolean +``` + +## SDK + +### .NET — `ITranslationEngineClient` + +```csharp +Task UpdateTranslationEngineAsync(string translationEngineId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationEngineId` | `string` | yes | + +### Java — `TranslationEngineApi` + +```java +// PUT /translation-engines/{translationEngineId} +void updateTranslationEngine(String translationEngineId, TranslationEngineUpdateRequest translationEngineUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationEngineId` | `String` | yes | +| `translationEngineUpdateRequest` | `TranslationEngineUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateTranslationMemory.md b/articles/LCPublicAPI/aidocs/reference/UpdateTranslationMemory.md new file mode 100644 index 0000000..cc1a4bd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateTranslationMemory.md @@ -0,0 +1,158 @@ +# Trados Cloud Platform API Update Translation Memory + +Update Translation Memory UpdateTranslationMemory PUT /translation-memory/{translationMemoryId} + +- Friendly name: Update Translation Memory +- Operation ID: UpdateTranslationMemory +- HTTP Method: PUT +- Path: /translation-memory/{translationMemoryId} + +Updates a Translation Memory. We recommend reading this page too [Updating data with PUT](../docs/Updating-data-with-PUT.html). + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +- Content: application/json + +- Schema: translation-memory-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. +* "minSize": Minimum size not met for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": The authenticated user is not allowed to read the resource. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": The translation memory could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: translation-memory-update-request + + +``` +type: object + description: +properties: + - name: type: string + - description: type: string + - copyright: type: string + - languageDirections: type: array + items: + $ref: #/components/schemas/language-direction-request + - languageProcessingRuleId: type: string + - fieldTemplateId: type: string +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: language-direction-request + + +``` +type: object + description: The language directions model used for creating or updating a project. +properties: + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## SDK + +### .NET — `ITranslationMemoryClient` + +```csharp +Task UpdateTranslationMemoryAsync(string translationMemoryId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `string` | yes | + +### Java — `TranslationMemoryApi` + +```java +// PUT /translation-memory/{translationMemoryId} +void updateTranslationMemory(String translationMemoryId, TranslationMemoryUpdateRequest translationMemoryUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `translationMemoryId` | `String` | yes | +| `translationMemoryUpdateRequest` | `TranslationMemoryUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateUser.md b/articles/LCPublicAPI/aidocs/reference/UpdateUser.md new file mode 100644 index 0000000..108dd9f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateUser.md @@ -0,0 +1,320 @@ +# Trados Cloud Platform API Update User + +Update User UpdateUser PUT /users/{userId} + +- Friendly name: Update User +- Operation ID: UpdateUser +- HTTP Method: PUT +- Path: /users/{userId} + +Updates a user within the account. + +Please follow the update rules detailed on the [Updating data with PUT](../docs/Updating-data-with-PUT.html) page. + +When performing an update, fields that are related to a different type of user will be ignored. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **fields** (query, string) - optional: A comma separated list of fields to include in the response. + Every value in the list should either consist of a top-level property name (excluding the items envelope for endpoints returning lists) or refer to a property of a top-level property of type object, in the following form: "toplevelpropertyname.subpropertyname". + When this query parameter is omitted, default resource representations are returned (excluding fields marked as optional). The same applies to nested objects when just specifying the top-level property name, without explicitly listing sub-property names. When specifying the fields query parameter, only the specified fields are returned. + The id property is always returned. + +## Request body + +- Content: application/json + +- Schema: user-update-request (see model section below) + +## Response + +### 204 + +No Content + +- Content: application/json +- Schema: user (see model section below) + +### 400 + +Error codes: +* “invalid”: Invalid input in the query parameter mentioned in the “name” field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the user. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the user could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: user-update-request + + +``` +type: object +properties: + - name: type: string + - description: type: string + - firstName: type: string + - lastName: type: string + - groups: type: array + items: + $ref: #/components/schemas/object-id + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user + + +``` +type: object + description: User in the account. +properties: + - id: type: string + - description: type: string + - email: type: string + - name: type: string + - firstName: type: string + - lastName: type: string + - anonymized: type: boolean + - anonymizedUserName: type: string + - account: $ref: #/components/schemas/account + - location: $ref: #/components/schemas/folder-v2 + - groups: type: array + items: + $ref: #/components/schemas/group + - userType: $ref: #/components/schemas/user-type + - status: $ref: #/components/schemas/user-status + - invitationLink: type: string + - membership: $ref: #/components/schemas/account-membership-type + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: object-id + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: account + + +``` +type: object +properties: + - id: type: string + - name: type: string +``` + +## Model: folder-v2 + + +``` +type: object + description: Folder used for resource storage. +properties: + - id: type: string + - name: type: string + - hasParent: type: boolean + - path: type: array + items: + $ref: #/components/schemas/folder-path +``` + +## Model: group + + +``` +type: object + description: Group of Users. +properties: + - id: type: string + - name: type: string + - description: type: string + - location: $ref: #/components/schemas/folder-v2 + - users: type: array + items: + $ref: #/components/schemas/user + - roles: type: array + items: + $ref: #/components/schemas/role + - additionalRoles: type: array + items: + $ref: #/components/schemas/group-additional-roles + - groupType: type: string enum: [default, custom, vendor, customer] + - metadata: + title: Metadata + description: Additional metadata values in a key–value pair format +``` + +## Model: user-type + + +``` +type: string enum: [user, serviceUser] +``` + +## Model: user-status + + +``` +type: string enum: [inactive, active, deleted, provisioned] +``` + +## Model: account-membership-type + + +``` +type: string enum: [member, collaborator] +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: folder-path + + +``` +type: object + description: Path of a folder. +properties: + - id: type: string + - name: type: string + - location: type: string + - hasParent: type: boolean +``` + +## Model: role + + +``` +type: object + description: Role in the account. +properties: + - id: type: string + - type: type: string enum: [provisioned, custom] + - name: type: string + - description: type: string + - permissions: type: array + items: + $ref: #/components/schemas/permission +``` + +## Model: group-additional-roles + + +``` +type: object + description: Roles granted to the group in addition to the group location. +properties: + - location: $ref: #/components/schemas/folder-v2 + - roles: type: array + items: + $ref: #/components/schemas/role +``` + +## Model: permission + + +``` +type: object + description: A single permission which governs access to resources. +properties: + - name: type: string + - description: type: string + - category: type: string + - entityType: $ref: #/components/schemas/permission-entity-type + - dependsOn: type: array + items: + type: string +``` + +## Model: permission-entity-type + + +``` +type: object + description: The entity type a permission applies to. +properties: + - name: type: string + - description: type: string +``` + +## SDK + +### .NET — `IUserClient` + +```csharp +Task UpdateUserAsync(string userId, UserUpdateRequest fields = null); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `string` | yes | +| `fields` | `UserUpdateRequest` | no | + +### Java — `UserApi` + +```java +// PUT /users/{userId}?fields={fields} +User updateUser(String userId, String fields, UserUpdateRequest userUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `userId` | `String` | yes | +| `fields` | `String` | no | +| `userUpdateRequest` | `UserUpdateRequest` | no | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateVendor.md b/articles/LCPublicAPI/aidocs/reference/UpdateVendor.md new file mode 100644 index 0000000..a28e07f --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateVendor.md @@ -0,0 +1,149 @@ +# Trados Cloud Platform API Update Vendor + +Update Vendor UpdateVendor PUT /vendors/{vendorId} + +- Friendly name: Update Vendor +- Operation ID: UpdateVendor +- HTTP Method: PUT +- Path: /vendors/{vendorId} + +Updates a vendor by identifier. Only fields included in the request body are updated. We recommend reading [Updating data with PUT](../docs/Updating-data-with-PUT.html) before using this endpoint. + +**Member management is not part of this endpoint.** To add a user to a vendor, invite them via the [Create User](#/operations/CreateUser) endpoint specifying the vendor's `VendorProjectManager` group. To remove a user from the vendor, remove them from that group using the [Update Group](#/operations/UpdateGroup) or [Update User](#/operations/UpdateUser) endpoints. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +- Content: application/json + +- Schema: vendor-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the vendor. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "duplicate": duplicate value for the field mentioned in the error details. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor-update-request + + +``` +type: object + description: Request body for updating an existing vendor. Only fields included in the request body are updated. Member management is not part of this endpoint — use the [Create User](#/operations/CreateUser), [Update User](#/operations/UpdateUser), or [Update Group](#/operations/UpdateGroup) endpoints to add or remove users from the vendor's `VendorProjectManager` group. +properties: + - name: type: string + - description: type: string + - keyContactId: type: string + - selfManaged: type: boolean + - quoteTemplateId: type: string + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task UpdateVendorAsync(VendorUpdateRequest vendorId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `VendorUpdateRequest` | yes | + +### Java — `VendorApi` + +```java +// PUT /vendors/{vendorId} +void updateVendor(String vendorId, VendorUpdateRequest vendorUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `vendorUpdateRequest` | `VendorUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateVendorOrderTemplate.md b/articles/LCPublicAPI/aidocs/reference/UpdateVendorOrderTemplate.md new file mode 100644 index 0000000..0c77fc9 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateVendorOrderTemplate.md @@ -0,0 +1,208 @@ +# Trados Cloud Platform API Update Vendor Order Template + +Update Vendor Order Template UpdateVendorOrderTemplate PUT /vendors/{vendorId}/order-templates/{orderTemplateId} + +- Friendly name: Update Vendor Order Template +- Operation ID: UpdateVendorOrderTemplate +- HTTP Method: PUT +- Path: /vendors/{vendorId}/order-templates/{orderTemplateId} + +Updates a vendor order template by identifier. Only fields included in the request body are updated. We recommend reading [Updating data with PUT](../docs/Updating-data-with-PUT.html) before using this endpoint. + +## Parameters + +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. + +## Request body + +- Content: application/json + +- Schema: vendor-order-template-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* "invalid": Invalid input in the field mentioned in the "name" field on the error response. +* "empty": Empty input in the body parameter mentioned in the "name" field on the error response. +* "minSize": Minimum size exceeded for the value mentioned in the "name" field on the error response. +* "maxSize": Maximum size exceeded for the value mentioned in the "name" field on the error response. + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the vendor order template. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the vendor order template could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: vendor-order-template-update-request + + +``` +type: object + description: Request body for updating an existing vendor order template. +properties: + - name: type: string + - description: type: string + - serviceTypes: type: array + items: + type: string + - pricingModelId: type: string + - quoteConfiguration: $ref: #/components/schemas/vendor-order-template-quote-configuration + - customFields: type: array + items: + $ref: #/components/schemas/custom-field-request + - languagePairs: type: array + items: + $ref: #/components/schemas/language-pair + - assignments: type: array + items: + $ref: #/components/schemas/vot-configuration +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: vendor-order-template-quote-configuration + + +``` +type: object + description: Controls when and how the vendor quote is generated. +properties: + - behaviour: $ref: #/components/schemas/vot-quote-behaviour + - holdingDelay: type: integer +``` + +## Model: custom-field-request + + +``` +type: object + description: A Custom Field model used at project creation or project update. +properties: + - key: type: string + - value: type: object + description: The value of the custom field. A date will be serialized as a ISO_8601 string. For read only custom fields (`isReadOnly`), it must be set exactly as the `defaultValue` from custom field definition. +``` + +## Model: language-pair + + +``` +type: object + description: +properties: + - source: type: string + - target: type: string +``` + +## Model: vot-configuration + + +``` +type: object + description: Assignee and manager assignment for a specific language pair. Every language pair listed in `languagePairs` must have exactly one corresponding entry in `assignments`. +properties: + - languagePair: $ref: #/components/schemas/language-pair + - managers: type: array + items: + $ref: #/components/schemas/vot-person-request + - assignees: type: array + items: + $ref: #/components/schemas/vot-person-request +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: vot-quote-behaviour + + +``` +type: string enum: [waitForAllFiles, perFileQuote, finalQuoteAfterBatchCompleted, quoteBeforeCustomerQuoteGeneration] +``` + +## Model: vot-person-request + + +``` +type: object + description: A user or group assigned as a manager or assignee on a vendor order template. When `type` is `user`, `id` is the identifier of a user present in the vendor's `members` list. When `type` is `group`, `id` is the identifier of a group present in the vendor's `groups` list. +properties: + - type: type: string enum: [user, group] + - id: type: string +``` + +## SDK + +### .NET — `IVendorClient` + +```csharp +Task UpdateVendorOrderTemplateAsync(VendorOrderTemplateUpdateRequest vendorId, string orderTemplateId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `VendorOrderTemplateUpdateRequest` | yes | +| `orderTemplateId` | `string` | yes | + +### Java — `VendorApi` + +```java +// PUT /vendors/{vendorId}/order-templates/{orderTemplateId} +void updateVendorOrderTemplate(String vendorId, String orderTemplateId, VendorOrderTemplateUpdateRequest vendorOrderTemplateUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `vendorId` | `String` | yes | +| `orderTemplateId` | `String` | yes | +| `vendorOrderTemplateUpdateRequest` | `VendorOrderTemplateUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UpdateWorkflow.md b/articles/LCPublicAPI/aidocs/reference/UpdateWorkflow.md new file mode 100644 index 0000000..5956e72 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UpdateWorkflow.md @@ -0,0 +1,241 @@ +# Trados Cloud Platform API Update Workflow + +Update Workflow UpdateWorkflow PUT /workflows/{workflowId} + +- Friendly name: Update Workflow +- Operation ID: UpdateWorkflow +- HTTP Method: PUT +- Path: /workflows/{workflowId} + +Updates the workflow in terms of: name, description, task configuration (and its details), and task type configuration values (`configurationValues`). Observe the rules of [JSON Merge Patch Semantics](https://tools.ietf.org/html/rfc7386). + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +- Content: application/json + +- Schema: workflow-update-request (see model section below) + +## Response + +### 204 + +No Content + +### 400 + +Error codes: +* “invalid”: Invalid input in the body parameter mentioned in the “name” field on the error response. +* "empty": Empty input in the body parameter mentioned in the "name" field on the error response. +* "limit.exceeded": a maximum number of users per task was assigned + + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + +### 403 + +Error codes: +* "forbidden": the authenticated user is not allowed to update the Workflow. + +- Content: application/json +- Schema: error-response (see model section below) + +### 404 + +Error codes: +* "notFound": the Workflow could not be found by identifier. + +- Content: application/json +- Schema: error-response (see model section below) + +### 409 + +Error codes: +* "projectPlanChanged": The associated project has already been changed at the level of `projectPlan.taskConfigurations`. Updating the workflow is no longer possible; the project should be updated to set the relevant `projectPlan.taskConfigurations` fields. + + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: workflow-update-request + + +``` +type: object + description: A model to update a workflow. +properties: + - name: type: string + - description: type: string + - taskConfigurations: type: array + items: + $ref: #/components/schemas/workflow-task-configuration-request +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: workflow-task-configuration-request + + +``` +type: object + description: A task configuration request. +properties: + - taskTemplate: $ref: #/components/schemas/object-id + - isSkipped: type: boolean + - assignees: type: array + items: + $ref: #/components/schemas/workflow-task-assignee-request + - scope: $ref: #/components/schemas/task-configuration-scope-request + - configurationValues: type: array + items: + $ref: #/components/schemas/workflow-task-type-config-value +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## Model: object-id + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: workflow-task-assignee-request + + +``` +type: object +properties: + - type: type: string enum: [user, group, vendorOrderTemplate, projectCreator, projectManager] + - user: $ref: #/components/schemas/object-id-request + - group: $ref: #/components/schemas/object-id-request + - vendorOrderTemplate: $ref: #/components/schemas/object-id-request +``` + +## Model: task-configuration-scope-request + + +``` +type: object + description: +properties: + - type: type: string enum: [global, sourceLanguage, targetLanguage, languageDirection] + - sourceLanguage: $ref: #/components/schemas/source-language-request + - targetLanguage: $ref: #/components/schemas/target-language-request + - languageDirection: $ref: #/components/schemas/language-direction-item +``` + +## Model: workflow-task-type-config-value + + +``` +type: object + description: A key-value pair representing a task type configuration setting. + +Valid configuration keys (`id`), data types, options (for string types), and constraints (e.g., min/max for integer types) are defined in the sibling field `taskTemplate.taskType.configurationDefinitions` within the same task configuration. +properties: + - id: type: string + - value: type: object + description: The configuration value. +``` + +## Model: object-id-request + + +``` +type: object + description: An object with identifier. +properties: + - id: type: string +``` + +## Model: source-language-request + + +``` +type: object +properties: + - languageCode: type: string +``` + +## Model: target-language-request + + +``` +type: object + description: +properties: + - languageCode: type: string +``` + +## Model: language-direction-item + + +``` +type: object + description: +properties: + - id: type: string +``` + +## SDK + +### .NET — `IWorkflowClient` + +```csharp +Task UpdateWorkflowAsync(WorkflowUpdateRequest workflowId); +``` + +| Parameter | Type | Required | +|---|---|---| +| `workflowId` | `WorkflowUpdateRequest` | yes | + +### Java — `WorkflowApi` + +```java +// PUT /workflows/{workflowId} +void updateWorkflow(String workflowId, WorkflowUpdateRequest workflowUpdateRequest); +``` + +| Parameter | Type | Required | +|---|---|---| +| `workflowId` | `String` | yes | +| `workflowUpdateRequest` | `WorkflowUpdateRequest` | yes | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/reference/UploadZipFile.md b/articles/LCPublicAPI/aidocs/reference/UploadZipFile.md new file mode 100644 index 0000000..3680f45 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/reference/UploadZipFile.md @@ -0,0 +1,120 @@ +# Trados Cloud Platform API Upload Zip File + +Upload Zip File UploadZipFile POST /files + +- Friendly name: Upload Zip File +- Operation ID: UploadZipFile +- HTTP Method: POST +- Path: /files + +Uploads an archive containing source files in `.zip` format, which will be extracted and used during project creation. + +Status of the upload operation can be tracked using the [Poll Upload Zip File](#/operations/PollUploadZipFile) endpoint. + +Once this Upload Zip File operation has finished extracting the files, they can be added to the desired project using the [Attach Source Files](#/operations/AddSourceFiles) endpoint. Alternatively, they can be used to [Request File Analysis](#/operations/RequestFileAnalysis) details like word counts and estimated costs. + + +Consider the [file and project size limit](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) when uploading files. + +## Parameters + +- **Authorization** (header, string) - required: The bearer access token provided by Auth0. +- **X-LC-Tenant** (header, string) - required: The identifier of the account where the request is executed. + +## Request body + +For details on multipart requests please see [this article](../docs/How-to-multipart.html). +- Content: multipart/form-data + +``` +type: object +properties: + - file: type: string (format: binary) +``` + +## Response + +### 200 + + + +- Content: application/json +- Schema: file-upload-response (see model section below) + +### 400 + +Error code “invalid” in case of: + * Empty or missing file in request + * Not valid multipart request + * File parameter contains other extension than the one expected by specification. + +- Content: application/json +- Schema: error-response (see model section below) + +### 401 + +The user could not be identified. + +- Content: application/json +- Schema: error-response (see model section below) + + +## Model: file-upload-response + + +``` +type: object +properties: + - id: type: string + - fileName: type: string + - unzipStatus: type: string enum: [queued, extracting, extracted, unzipError] +``` + +## Model: error-response + + +``` +type: object + description: Error response properties. +properties: + - message: type: string + - errorCode: type: string + - details: type: array + items: + $ref: #/components/schemas/error-detail-response +``` + +## Model: error-detail-response + + +``` +type: object + description: Error detail response properties. +properties: + - name: type: string + - code: type: string + - value: type: string +``` + +## SDK + +### .NET — `IFileClient` + +```csharp +Task UploadZipFileAsync(FileParameter file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `file` | `FileParameter` | yes | + +### Java — `FileApi` + +```java +// POST /files +FileUploadResponse uploadZipFile(File file); +``` + +| Parameter | Type | Required | +|---|---|---| +| `file` | `File` | yes | \ No newline at end of file From 4574e3a0ef29b89dd603aa0bd996d764994d1e28 Mon Sep 17 00:00:00 2001 From: Rares Tritean Date: Thu, 8 Oct 2026 16:09:03 +0300 Subject: [PATCH 2/6] Initial AI documentation generation --- .../LCPublicAPI/aidocs/guides/api-clients.md | 219 ++++++++++++++++++ .../aidocs/guides/api-lifecycle.md | 47 ++++ .../aidocs/guides/async-polling.md | 40 ++++ articles/LCPublicAPI/aidocs/guides/auth.md | 109 +++++++++ .../aidocs/guides/custom-fields.md | 63 +++++ .../LCPublicAPI/aidocs/guides/data-bridge.md | 75 ++++++ articles/LCPublicAPI/aidocs/guides/errors.md | 75 ++++++ articles/LCPublicAPI/aidocs/guides/fields.md | 43 ++++ .../LCPublicAPI/aidocs/guides/file-formats.md | 72 ++++++ .../LCPublicAPI/aidocs/guides/file-upload.md | 59 +++++ articles/LCPublicAPI/aidocs/guides/headers.md | 52 +++++ articles/LCPublicAPI/aidocs/guides/index.md | 27 +++ .../aidocs/guides/language-codes.md | 11 + .../aidocs/guides/locations-folders.md | 72 ++++++ .../LCPublicAPI/aidocs/guides/multi-region.md | 22 ++ .../LCPublicAPI/aidocs/guides/pagination.md | 24 ++ .../LCPublicAPI/aidocs/guides/projects.md | 136 +++++++++++ .../aidocs/guides/put-semantics.md | 25 ++ articles/LCPublicAPI/aidocs/guides/quotes.md | 91 ++++++++ .../LCPublicAPI/aidocs/guides/rate-limits.md | 55 +++++ .../LCPublicAPI/aidocs/guides/termbases.md | 137 +++++++++++ .../aidocs/guides/translation-api.md | 124 ++++++++++ .../aidocs/guides/translation-memory.md | 152 ++++++++++++ .../LCPublicAPI/aidocs/guides/webhooks.md | 171 ++++++++++++++ articles/LCPublicAPI/aidocs/index.md | 2 +- articles/LCPublicAPI/docs/AI-Development.md | 2 +- articles/LCPublicAPI/toc.yml | 3 + scripts/ai-docs-scripts/README.md | 2 +- 28 files changed, 1907 insertions(+), 3 deletions(-) create mode 100644 articles/LCPublicAPI/aidocs/guides/api-clients.md create mode 100644 articles/LCPublicAPI/aidocs/guides/api-lifecycle.md create mode 100644 articles/LCPublicAPI/aidocs/guides/async-polling.md create mode 100644 articles/LCPublicAPI/aidocs/guides/auth.md create mode 100644 articles/LCPublicAPI/aidocs/guides/custom-fields.md create mode 100644 articles/LCPublicAPI/aidocs/guides/data-bridge.md create mode 100644 articles/LCPublicAPI/aidocs/guides/errors.md create mode 100644 articles/LCPublicAPI/aidocs/guides/fields.md create mode 100644 articles/LCPublicAPI/aidocs/guides/file-formats.md create mode 100644 articles/LCPublicAPI/aidocs/guides/file-upload.md create mode 100644 articles/LCPublicAPI/aidocs/guides/headers.md create mode 100644 articles/LCPublicAPI/aidocs/guides/index.md create mode 100644 articles/LCPublicAPI/aidocs/guides/language-codes.md create mode 100644 articles/LCPublicAPI/aidocs/guides/locations-folders.md create mode 100644 articles/LCPublicAPI/aidocs/guides/multi-region.md create mode 100644 articles/LCPublicAPI/aidocs/guides/pagination.md create mode 100644 articles/LCPublicAPI/aidocs/guides/projects.md create mode 100644 articles/LCPublicAPI/aidocs/guides/put-semantics.md create mode 100644 articles/LCPublicAPI/aidocs/guides/quotes.md create mode 100644 articles/LCPublicAPI/aidocs/guides/rate-limits.md create mode 100644 articles/LCPublicAPI/aidocs/guides/termbases.md create mode 100644 articles/LCPublicAPI/aidocs/guides/translation-api.md create mode 100644 articles/LCPublicAPI/aidocs/guides/translation-memory.md create mode 100644 articles/LCPublicAPI/aidocs/guides/webhooks.md diff --git a/articles/LCPublicAPI/aidocs/guides/api-clients.md b/articles/LCPublicAPI/aidocs/guides/api-clients.md new file mode 100644 index 0000000..a753f48 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/api-clients.md @@ -0,0 +1,219 @@ +# API clients: Java SDK, .NET SDK, samples and Postman + +Installation, client initialization, authentication options, error handling and Postman setup for the Trados Cloud Platform SDKs. + +Both SDKs are auto-generated from the API contracts: contract changes appear as SDK changes, and minor version increases do not guarantee backwards compatibility. Neither SDK handles HTTP 429 for you; implement it per [rate-limits.md](./rate-limits.md). + +## Java SDK + +| Item | Value | +|---|---| +| Java version | 11 and above | +| HTTP stack | OpenFeign | +| Maven | `com.rws.lt.lc.public-api:lc-public-api-sdk` (docs example version `24.0.9`; use the latest on Maven Central) | +| Default region | `eu` | + +```xml + + com.rws.lt.lc.public-api + lc-public-api-sdk + 24.0.9 + +``` + +### Initialize with service credentials + +```java +ServiceCredentials serviceCredentials = new ServiceCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", "YOUR_TENANT_ID"); + +LanguageCloudClientProvider languageCloudClientProvider = LanguageCloudClientProvider.builder() + .withRegionCode("ca") // default is "eu" + .withServiceCredentials(serviceCredentials) + .build(); + +ProjectApi projectApi = languageCloudClientProvider.getProjectClient(); +``` + +Samples also use `.withRegion("eu")`. A unique trace ID is generated per request in this mode. Clients are created per API area (`getProjectClient()`, `getSourceFileClient()`, `getGroupClient()`, `getUserClient()`, `getAccountClient()`). Regions: [multi-region.md](./multi-region.md). + +### Token management + +- Tokens are obtained automatically from the service credentials. +- Cached until expiry minus 1 minute, then regenerated. +- The token cache is a singleton: one cache per application regardless of provider instances. One provider (and one client per API) per application is sufficient. +- The 16 token requests per day limit applies to Auth0 token requests, not API calls ([auth.md](./auth.md)); typically one per day unless the application restarts. + +### Authentication modes + +| Mode | How | +|---|---| +| Service credentials | `LanguageCloudClientProvider.builder().withServiceCredentials(...)` | +| Context scoping (multiple credentials, one client) | Build provider without credentials; `LCContext.executeInScope(runnable, serviceCredentials, "trace-id")`; read `LCContext.getFromLCContext(ContextKeys.TRACE_ID_KEY)` / `ContextKeys.TENANT_ID_KEY` | +| App service credentials (one app, many tenants) | Provider built with `ServiceCredentials(clientId, clientSecret)` (no tenant); `LCContext.executeInScope(runnable, TENANT_VALUE, "trace-id")` | +| Custom authentication | Subclass `CustomServiceAuthenticationHandler(AuthenticationService.getInstance())`, override `getServiceCredentials()`, `getTraceId()`, `getTenantId()`; register via `.withRequestInterceptors(List.of(handler))` | + +### Project flow + +```java +// 1. create (fields query param populates projectPlan.taskConfigurations) +ProjectCreateRequest projectCreateRequest = new ProjectCreateRequest(); +projectCreateRequest.setName("YOUR_PROJECT_NAME"); +projectCreateRequest.setDueBy(DateTime.parse("2025-01-01T00:00:00.000Z")); +projectCreateRequest.setProjectTemplate(new ObjectIdRequest().id("YOUR_PROJECT_TEMPLATE_ID")); +projectCreateRequest.setLocation("YOUR_PROJECT_LOCATION"); +projectCreateRequest.setLanguageDirections(List.of(new LanguageDirectionRequest() + .sourceLanguage(new SourceLanguageRequest("YOUR_SOURCE_LANGUAGE")) + .targetLanguage(new TargetLanguageRequest("YOUR_TARGET_LANGUAGE")))); +ProjectApi.CreateProjectQueryParams queryParams = new ProjectApi.CreateProjectQueryParams(); +queryParams.fields("projectPlan.taskConfigurations"); +Project created = projectApi.createProject(projectCreateRequest, queryParams); + +// 2. add source file (a project without source files cannot be started) +SourceFileApi sourceFileApi = languageCloudClientProvider.getSourceFileClient(); +SourceFileRequest properties = new SourceFileRequest(); +properties.setLanguage(new LanguageRequest("en-US")); +properties.setName("YOUR_TEXT_SOURCE_FILE"); +properties.setRole(SourceFileRequest.RoleEnum.TRANSLATABLE); +properties.setType(SourceFileRequest.TypeEnum.NATIVE); +SourceFile sourceFile = sourceFileApi.addSourceFile("YOUR_PROJECT_ID", properties, new File("YOUR_TEXT_SOURCE_FILE_PATH")); + +// 3. start +projectApi.startProject("YOUR_PROJECT_ID"); + +// 4. get with fields +Project project = projectApi.getProject("YOUR_PROJECT_ID", "status,quote.totalAmount"); +``` + +List calls take a query-params object, e.g. `groupApi.listGroups(new GroupApi.ListGroupsQueryParams())`. + +### Upgrade to 25.x.x + +| Change | Detail | +|---|---| +| Packaging | Fat JAR -> light JAR (Maven Shade plugin removed) | +| OpenAPI Generator | 6.5.0 -> 7.14.0 (adds `@javax.annotation.Nullable`/`@Nonnull`, bean validation, new collection helper method naming, enum handling) | +| `LCContext.executeInScope()` | New methods for tenant/trace context | + +| Library | Previous | New | +|---|---|---| +| Feign | 10.11 | 13.6 | +| Jackson | 2.10.3 | 2.19.1 | +| Apache HttpClient | 4.5.8 | 5.5 | +| Commons Lang | 2.6 | 3.18.0 | +| JUnit | 4.13 | 5.13.2 | +| Mockito | 3.12.1 | 5.18.0 | + +Migration: update SDK version, build, fix compile issues from generated-code changes. Import changes: `org.apache.http` -> `org.apache.hc.core5.http`; `org.apache.commons.lang` -> `org.apache.commons.lang3`. Troubleshooting: `mvn dependency:tree` for conflicts; `ClassNotFoundException: feign.Client` -> check Feign dependencies; `NoClassDefFoundError` for HTTP client classes -> update imports. + +## .NET SDK + +| Item | Value | +|---|---| +| Package | NuGet `Rws.LanguageCloud.Sdk` | +| Target | .NET Standard 2.0 | +| Namespace | `Rws.LanguageCloud.Sdk` | +| Provider | `new LanguageCloudClientProvider(region, baseUrl)` — both optional; default region `eu`; `baseUrl` is for mock servers | + +Client factory overloads (shown for Project; same for every client): + +| Method | Behaviour | +|---|---| +| `GetProjectClient(ServiceCredentials credentials, params DelegatingHandler[] handlers)` | Implicit authentication handler using the credentials; custom handlers accepted | +| `GetProjectClientNoAuth(params DelegatingHandler[] handlers)` | No implicit authentication; a custom handler must authenticate | +| `GetProjectClient(params DelegatingHandler[] handlers)` | Authenticate through scoping/context | + +Each `GetXClient` call creates a new `HttpClient`; share one instance (dependency injection or similar). + +```csharp +ServiceCredentials credentials = new ServiceCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", "YOUR_TENANT_ID"); +var clientProvider = new LanguageCloudClientProvider("eu"); +var projectClient = clientProvider.GetProjectClient(credentials); + +var projectCreateRequest = new ProjectCreateRequest +{ + Name = "YOUR_PROJECT_NAME", + DueBy = DateTime.Now.AddDays(7), + ProjectTemplate = new ObjectIdRequest { Id = "YOUR_PROJECT_TEMPLATE_ID" } +}; +var projectCreateResponse = await projectClient.CreateProjectAsync(projectCreateRequest); + +var sourceFileClient = clientProvider.GetSourceFileClient(credentials); +using (FileStream SourceStream = File.Open("YOUR_TEXT_SOURCE_FILE", FileMode.Open)) +{ + FileParameter file = new FileParameter(SourceStream, "YOUR_TEXT_SOURCE_FILE", "text/plain"); + SourceFileRequest properties = new SourceFileRequest + { + Name = "YOUR_TEXT_SOURCE_FILE", + Role = SourceFileRequestRole.Translatable, + Type = SourceFileRequestType.Native, + Language = "en-US", + }; + await sourceFileClient.AddSourceFileAsync("YOUR_PROJECT_ID", properties, file); +} + +await projectClient.StartProjectAsync("YOUR_PROJECT_ID"); +var myProject = await projectClient.GetProjectAsync("YOUR_PROJECT_ID", "status,quote.totalAmount"); +``` + +### Authentication modes + +| Mode | How | +|---|---| +| Credentials | `GetProjectClient(credentials)`; unique trace ID per request | +| Context scoping | `GetProjectClient()` without credentials; `using (ApiClientContext.BeginScope(new LCContext(credentials_1, "trace-id-1"))) { ... }` (namespace `Sdl.ApiClientSdk.Core`) | +| Custom handler | `new ServiceAuthenticationHandler(credentials)` with `GetProjectClientNoAuth(handler)`; or subclass `LCCustomAuthenticationHandler` and override `GetServiceCredentials()` and `GetTraceId()` | + +Token handling with `ServiceCredentials`: automatic; cached until expiry; reuse one client instance to avoid multiple `HttpClient` instances and token caches. Typically one Auth0 token request per day unless the application restarts or multiple instances run. + +### Exceptions + +All inherit from `ApiClientException` and expose an `ApiErrorResponse` (`Message`, `ErrorCode`, `Details`). + +| Exception | Meaning | +|---|---| +| `ModelDeserializationException` | Response could not be deserialized | +| `ApiUnauthorizedException` | User could not be identified | +| `ApiPermissionException` | User does not have permission to access the resource | +| `ApiForbiddenException` | User does not have access to the resource | +| `ApiErrorException` | Something went wrong when performing the action | +| `ApiConnectionException` | Something went wrong when connecting to the server | +| `TaskCanceledException` | Timeout (`System.Threading.Tasks`) | + +```csharp +catch (ApiErrorException e) when (e.ApiError.ErrorCode == ErrorCodes.MaxSize) +{ + string summary = e.ApiError.Message; + foreach (var detail in e.ApiError.Details) { } +} +``` + +The `ErrorCodes` static class holds constant error code strings. Per-endpoint codes are in the REST API reference. Error body format: [errors.md](./errors.md). + +### Dependency injection (web API sample) + +- `LcHandler` inherits `LCCustomAuthenticationHandler` and overrides `GetServiceCredentials()` and `GetTraceId()`; register it with `services.AddTransient()` (handlers must always be transient). +- For multi-region DI, a `LanguageCloudClientFactory` keeps one `RegionClientContainerFactory` per region in a `ConcurrentDictionary`, each owning one `LanguageCloudClientProvider(region)`, and creates each client once with `GetAccountClient(handler)`. Register as singleton; use `_factory.Region("eu").AccountClient`. + +## Java web API sample + +- `CustomAuthenticationHandler` extends `CustomServiceAuthenticationHandler`; overrides `getServiceCredentials()`, `getTenantId()`, `getTraceId()`. +- `ConfigClass` registers `LanguageCloudClientProvider.builder().withRegion("eu").withRequestInterceptors(List.of(customAuthenticationHandler)).build()` as a bean, plus a bean per API client (e.g. `languageCloudClientProvider.getAccountClient()`). +- Controllers inject the client (e.g. `AccountApi`). + +Sample repositories: `https://github.com/RWS/language-cloud-public-api-samples` (Java: `PublicApi.Sample.Console.Java`, `PublicApi.Sample.Web.Java`; .NET: `PublicApi.Sample.Console`, `PublicApi.WebApiSample`). + +## Postman + +| Item | Value | +|---|---| +| Public API collection | `https://github.com/sdl/language-cloud-public-api-postman/blob/develop/postmanCollection.json?raw=true` | +| Data Bridge collection | `postmanDataCollection.json` in the same repository ([data-bridge.md](./data-bridge.md)) | +| Multi-region environments | `Trados EU.postman_environment.json`, `Trados CA.postman_environment.json` | +| Import | `Import > Link`, `Raw Text` or `File` | +| Token variable | `{{lc-access-token}}`, set by the `Obtain a client credentials access token` request (folder `Authentication (Start Here)`) | +| Tenant variable | `{{lc_tenant}}`, prefix the ID with `LC-` (e.g. `LC-00000000000000000`) | + +- Authentication is inherited Bearer using `{{lc-access-token}}`. +- Environment-level variables (e.g. `baseUrl`) override collection variables when an environment is selected. +- Do not send query parameters with Postman default values; invalid data returns an API error. +- Tenant and credential setup: [auth.md](./auth.md). diff --git a/articles/LCPublicAPI/aidocs/guides/api-lifecycle.md b/articles/LCPublicAPI/aidocs/guides/api-lifecycle.md new file mode 100644 index 0000000..7f790ba --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/api-lifecycle.md @@ -0,0 +1,47 @@ +# API lifecycle: breaking changes and endpoint retirement + +Definition of breaking changes, endpoint deprecation and sunset signalling, and notice periods. + +Releases are continuous (new functionality, fixes, performance improvements). + +## Breaking changes + +| Breaking | Not breaking | +|---|---| +| Changing the type of a field | Adding new endpoints | +| Modifying a field name | Adding optional request fields | +| Marking an existing field as required with no default value | Adding new fields in responses | +| Introducing a new validation | Adding a new required field with a default value | +| Enforcing validations | Changing error message descriptions | +| Removing or renaming enum values | Adding enum values | +| Removing fields from response | | + +## Endpoint retirement + +Two phases: deprecation, then sunset. + +| Phase | Signal | +|---|---| +| Deprecation | IETF `Deprecation` HTTP response header (draft-dalal-deprecation-header) | +| Sunset | New `Sunset` header carrying the sunset date; the endpoint remains functional until sunset, after which it does not return the expected response | + +`Deprecation` header values: + +| Value | Meaning | +|---|---| +| Date in the future | Date when the endpoint will be marked deprecated | +| Date in the past | Date when the endpoint was marked deprecated | +| `true` | Endpoint is deprecated | + +Deprecation period: 6 months. + +## Notice + +- Breaking changes are announced 6 months in advance. +- Exception: breaking changes may be introduced for critical bugs or security vulnerabilities. +- Announcements: the What's new and What's deprecated pages of the API docs, the developers GitHub page, and the Language Developers Blog and Trados Blog. + +## Related + +- Response headers: [headers.md](./headers.md) +- Reporting issues: [errors.md](./errors.md) diff --git a/articles/LCPublicAPI/aidocs/guides/async-polling.md b/articles/LCPublicAPI/aidocs/guides/async-polling.md new file mode 100644 index 0000000..737dedb --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/async-polling.md @@ -0,0 +1,40 @@ +# Asynchronous operations and polling + +Long-running operations return an accepted/queued response with an identifier; poll a status endpoint until completion, then download or continue. + +## Pattern + +1. Start the operation (`POST`/`PUT`); keep the returned identifier (`importId`, `exportId`, or the project ID). +2. Poll the status endpoint with `GET` until the completion status is reached. +3. Download the result (exports) or continue the flow. + +Mind the rate limits on start/download endpoints (see [rate-limits.md](./rate-limits.md)); poll sequentially and handle HTTP 429. + +## Operations + +| Operation | Start | Poll | Download | Completion status | +|---|---|---|---|---| +| Start project | [StartProject](../reference/StartProject.md) `PUT /projects/{projectId}/start` (HTTP 202 Accepted) | Track via [ListProjectTasks](../reference/ListProjectTasks.md) | - | all tasks `completed` | +| Export target file version (BCM to native/SDLXLIFF) | [ExportTargetFileVersion](../reference/ExportTargetFileVersion.md) | [PollTargetFileVersionExport](../reference/PollTargetFileVersionExport.md) | [DownloadExportedTargetFileVersion](../reference/DownloadExportedTargetFileVersion.md) | see API reference | +| Import target file version (SDLXLIFF) | [ImportTargetFileVersion](../reference/ImportTargetFileVersion.md) (returns `importId`) | [PollTargetFileVersionImport](../reference/PollTargetFileVersionImport.md) | - | see API reference | +| Export quote report | [ExportQuoteReport](../reference/ExportQuoteReport.md) (response: Accepted) | [PollQuoteReportExport](../reference/PollQuoteReportExport.md) | [DownloadQuoteReport](../reference/DownloadQuoteReport.md) (one-time) | `completed` | +| Import translation memory | [ImportTranslationMemory](../reference/ImportTranslationMemory.md) (returns `id`, `status`, normally `queued`) | [PollTMImport](../reference/PollTMImport.md) (`importId`, `translationMemoryId`) | - | `done` | +| Export translation memory | [ExportTranslationMemory](../reference/ExportTranslationMemory.md) (returns `exportId`, `status`) | [PollTranslationMemoryExport](../reference/PollTranslationMemoryExport.md) | [DownloadExportedTranslationMemory](../reference/DownloadExportedTranslationMemory.md) (`tmx.gz`) | `done` | +| Import termbase | [ImportTermbase](../reference/ImportTermbase.md) (returns `importId`, `status`) | [PollTermbaseImport](../reference/PollTermbaseImport.md) (`importId`, `termbaseId`) | - | `done` | +| Export termbase | [ExportTermbase](../reference/ExportTermbase.md) (returns `exportId`, `status`, `downloadUrl`; on failure `errorMessage`) | [PollExportTermbase](../reference/PollExportTermbase.md) (`exportId`, `termbaseId`) | [DownloadExportedTermbase](../reference/DownloadExportedTermbase.md) | `done` | + +## Quote report example (strict order) + +1. `POST /projects/{projectId}/quote-report/export`: Accepted. +2. `GET /projects/{projectId}/quote-report/export`: wait until body status is `completed`. +3. `GET /projects/{projectId}/quote-report/download`: file is deleted after the download attempt. + +## Project tracking + +- [GetProject](../reference/GetProject.md) returns creation date, due date, status and resources used. +- Listing projects accepts `excludeOnline` to filter out projects with a file download restriction. +- Task flow after start: see [projects.md](./projects.md). + +## Related + +- Webhooks notify an application of project, task and file events: [webhooks.md](./webhooks.md) diff --git a/articles/LCPublicAPI/aidocs/guides/auth.md b/articles/LCPublicAPI/aidocs/guides/auth.md new file mode 100644 index 0000000..fcf4fa6 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/auth.md @@ -0,0 +1,109 @@ +# Authentication + +Authenticate with an OAuth2 client-credentials Bearer token (Auth0) plus the `X-LC-Tenant` header on every Public API call; credentials come from a custom application bound to a service user. + +## Base URL + +``` +https://api.{REGION_CODE}.cloud.trados.com/public-api/v1/ +``` + +`{REGION_CODE}` is region-specific (e.g. `eu`, `ca`). See [multi-region.md](./multi-region.md). + +## Required request headers + +| Header | Value | +|---|---| +| `Authorization` | `Bearer {access_token}` | +| `X-LC-Tenant` | Tenant (account) ID, e.g. `2ef3c10e74fc39104e633c11` | + +`X-LC-Tenant` is required on all endpoints. A service user belongs to exactly one account. + +Finding the tenant ID (UI): Manage Account → Account Information tab → **Trados Account ID** (select the same account where the service user was created). Two similar identifiers exist; the tenant ID looks like `2ef3c10e74fc39104e633c11`. In Postman and Data Bridge the `{{lc_tenant}}` variable is the account ID prefixed with `LC-` (e.g. `LC-00000000000000000`). + +## Generating the token + +- Auth server: `https://sdl-prod.eu.auth0.com/oauth/token` +- Flow: client credentials +- `Content-Type`: `application/json` or `application/x-www-form-urlencoded` (equivalent) + +JSON request: + +```http +POST https://sdl-prod.eu.auth0.com/oauth/token +Content-Type: application/json + +{ + "client_id": "{{client_id}}", + "client_secret": "{{client_secret}}", + "grant_type": "client_credentials", + "audience": "https://api.sdl.com" +} +``` + +Form-encoded request body: + +``` +client_id={{client_id}}&client_secret={{client_secret}}&grant_type=client_credentials&audience=https://api.sdl.com +``` + +Response: + +```json +{ + "access_token": "eyJhbGciO....4NXz8TXatw", + "expires_in": 86400, + "token_type": "Bearer" +} +``` + +Use the token on API calls: + +```http +Authorization: Bearer {{access_token}} +X-LC-Tenant: {{tenantId}} +``` + +## Token management + +| Rule | Detail | +|---|---| +| Lifetime | `expires_in` = 86400 s (24 h) | +| Caching | Cache the token for `expires_in` minus a few minutes (clock drift) | +| Refresh | Application must fetch a new token before expiry using the same request | +| Auth0 request limit | Max **16 token requests per day**; may exceed only when deploying multiple application versions in one day | +| Per-call tokens | Do not request a token per API call; the calling IP risks being blocked by Auth0 as a suspected DoS | + +The 16/day limit applies to Auth0 token requests only, not to API calls (see [rate-limits.md](./rate-limits.md)). + +Extra token requests happen when: +- Multiple application instances run (each holds its own cache). +- The application restarts (cache and token are lost). + +## Service users and applications + +- Service users are non-human users, have no login credentials, and can access the platform only through the API. +- Administrators (human Administrator user type) manage service users. A service user is placed in one or more groups; each group has a predefined role with a set of permissions, and resource access follows those permissions. +- One service user is assigned per custom application. +- When a client authenticates with application credentials, API calls assume the identity of the service user for authorization. + +## Obtaining client credentials (UI steps, performed by an Administrator) + +1. **Add a service user**: Users view → **Service Users** sub-tab → **New Service User**. + - **Name** (unique), **Location** (Root or a child folder), **Groups** (from the same Location), optional **Description** → **Create**. +2. **(Optional) Additional notification users**: select the service user → **Additional users to notify** (existing users notified by email) → **Save**. +3. **Create a custom application**: account menu → **Integrations** → **Applications** sub-tab → **New Application**. + - **Name** (unique), optional **URL**, optional **Description**, **Service User** (dropdown) → **Add**. + - Select the application → **Edit**: + - **Overall Information**: name, URL, description. + - **Webhooks**: default callback URL and per-event webhook URLs (see [webhooks.md](./webhooks.md)). Deleting the application deletes its webhooks. + - **API Access**: **Client ID** and **Client Secret**. + +> Changing the application's service user later is not recommended: due to caching layers the change takes 10 to 20 minutes to take effect, and during that window calls may randomly use either the old or the new service user. If services cannot be paused, create a new application with the new service user and delete the old one. + +## Related + +- Region hosts: [multi-region.md](./multi-region.md) +- Header behaviour: [headers.md](./headers.md) +- Folders, locations and permissions: [locations-folders.md](./locations-folders.md) +- SDK token handling: [api-clients.md](./api-clients.md) diff --git a/articles/LCPublicAPI/aidocs/guides/custom-fields.md b/articles/LCPublicAPI/aidocs/guides/custom-fields.md new file mode 100644 index 0000000..206d2a4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/custom-fields.md @@ -0,0 +1,63 @@ +# Custom fields + +Custom fields attach custom data to projects; definitions are created in the UI and read through the API. + +## Definitions + +| Operation | Endpoint | Notes | +|---|---|---| +| List | [ListCustomFields](../reference/ListCustomFields.md) `GET /custom-field-definitions` | Returns total count and by default `id` and `name`; request more via `fields` | +| Get | [GetCustomField](../reference/GetCustomField.md) `GET /custom-field-definitions/{customFieldDefinitionId}` | Default `id`, `name`; e.g. `fields=id,key,description,type,defaultValue` | + +A definition may have a default value, applied to a project when no value is supplied at creation. Definition `type` examples: `DATE`, `STRING`, `PICKLIST`. + +## On projects + +Set on create or update through the `customFields` array of the request. + +- `key` is **mandatory** for each custom field; `value` is optional (the definition's default is applied if omitted). +- A value that does not match the field type returns **400 Bad Request**. +- When creating from a project template, fields marked `isMandatory: true` must be included with values, unless a default value is defined. +- Update: `PUT` [UpdateProject](../reference/UpdateProject.md) with new values for the fields to change (JSON Merge Patch rules, see [put-semantics.md](./put-semantics.md)). +- Read: [GetProject](../reference/GetProject.md) or [ListProjects](../reference/ListProjects.md) with `fields=customFields.id,customFields.key,customFields.value`. + +Create request: + +```json +{ + "name": "API project with valid custom fields", + "projectTemplate": { "id": "60c1f06d1d8ff66537d674c3" }, + "languageDirections": [ + { "sourceLanguage": { "languageCode": "en-gb" }, "targetLanguage": { "languageCode": "fr-be" } } + ], + "location": "d1d6bd4e2ec14ab99e2ec41682553ac0", + "customFields": [ + { "key": "Custom_Field_Boolean_ps0xw", "value": true }, + { "key": "Custom_Field_Long_Text_qq4olq", "value": "Test custom field" } + ] +} +``` + +Response (default): `id`, `name`, `languageDirections`, `location`, `customFields[]` with `id`. + +Invalid value (boolean field given a string) returns 400: + +```json +{ + "message": "Invalid input on create project.", + "errorCode": "invalidInput", + "details": [ + { "name": "project.customFields[0]", "code": "invalidInput", "value": "Test custom field" } + ] +} +``` + +## On project templates + +- Templates can define custom fields; `isMandatory` marks fields that must be populated when creating a project with that template. +- Read: [GetProjectTemplate](../reference/GetProjectTemplate.md) or [ListProjectTemplates](../reference/ListProjectTemplates.md) with `fields=customFields.id,customFields.key,customFields.value`. + +## Related + +- Project creation: [projects.md](./projects.md) +- Webhook payloads include `customFields` for project events: [webhooks.md](./webhooks.md) diff --git a/articles/LCPublicAPI/aidocs/guides/data-bridge.md b/articles/LCPublicAPI/aidocs/guides/data-bridge.md new file mode 100644 index 0000000..a465f0c --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/data-bridge.md @@ -0,0 +1,75 @@ +# Trados Data Bridge (Data API) + +Read-only OData v4 API for analytical data (projects, tasks, costs, leverage, evaluation); same authentication as the Public API, plus a daily data-volume quota. + +Reference: `../../api/Data-Bridge-API.v1-fv.html`. Host per region: see the base URL in the contract and [multi-region.md](./multi-region.md). + +## Authentication and limits + +- Same mechanism as the Public API: service user, application, client credentials token, `Authorization: Bearer` and `X-LC-Tenant` ([auth.md](./auth.md)). +- `{{lc_tenant}}` is the account ID, for example `LC-00000000000000000`. +- Same rate limits as the Public API ([rate-limits.md](./rate-limits.md)). +- Additional daily data transfer quota, measured by data volume retrieved (not request count): + +| Region | Quota reset | +|---|---| +| Europe | midnight UTC | +| Canada | midnight EST | + +Requests exceeding the quota return HTTP **429** until the reset time. + +## Data availability + +- Most data becomes available after the **Analysis** workflow task completes. +- Revenue data requires **Quote Generation** task completion. +- Some metrics update in real time as workflow tasks complete. + +## Query options + +| Parameter | Purpose | Example | +|---|---|---| +| `$filter` | Filter by condition | `$filter=revenue gt 1000` | +| `$select` | Choose returned fields | `$select=projectId,projectStatus,revenue` | +| `$expand` | Include related entities | `$expand=project,customer` | +| `$orderby` | Sort | `$orderby=projectCreationDate desc` | +| `$top` | Limit result count | `$top=50` | +| `$skip` | Skip results | `$skip=100` | + +### `$filter` operators and functions + +| Kind | Items | +|---|---| +| Comparison | `eq`, `ne`, `gt`, `ge`, `lt`, `le` | +| Logical | `and`, `or`, `not` | +| Grouping | parentheses, e.g. `(projectShortId lt 16867 and projectShortId gt 16800) and projectStatus eq 'completed'` | +| String | `contains(projectName,'Marketing')`, `startswith(customerName,'ABC')`, `endswith(fileName,'.docx')` | +| Date | `year(projectCreationDate) eq 2024`, `month(approveDate) eq 3`, `day(completionDate) eq 15` | + +### Paging + +| Setting | Value | +|---|---| +| Default page size (no `$top`) | 500 | +| Maximum page size | 5,000 | + +``` +$filter=revenue gt 1000&$top=25&$skip=0&$orderby=revenue desc +``` + +Recommendations from the docs: filter to reduce response size (date ranges, status), use `$select`, expand only when necessary, paginate with `$top` and `$skip`. + +## Data sets and dimensions (`$expand`) + +| Data set | Content | Available after | Dimensions | +|---|---|---|---| +| File Translation Status | One entry per target file; human workflow data (source words, pre-translated words and distribution, human-translated and human-reviewed words, total workflow duration); missing workflow steps are null | Analysis task | `project`, `customer`, `languagePair`, `sourceFile`, `projectCreationDate`, `translationDate`, `translator`, `reviewDate`, `reviewer`, `customerReviewDate`, `customerReviewer`, `finalizationDate` | +| Language Revenue Details | Costs per project and language direction: total revenue, number of units that generated revenue | Customer Quote Generation task | `quoteDate`, `customer`, `project`, `languagePair`, `revenueType`, `currency`, `projectCreationDate` | +| Language Revenue | Costs per language direction: translation cost per target language, additional cost per target language and per project, total cost, source words and files per source language, discounts | Customer Quote Generation task | `customer`, `project`, `languagePair`, `approveDate`, `currency`, `quoteApprover`, `quoteDate` | +| Task Status | Per-task metrics: actual, estimated and delivery duration, word count | Analysis task; updated on each workflow task completion | `project`, `customer`, `taskType`, `taskState`, `languagePair`, `sourceFile`, `taskOwner` | +| Translation Leverage | File-level words per leverage bucket from automated translation | Analysis task | `translationDate`, `customer`, `project`, `languagePair`, `sourceFile`, `leverageBand` | +| Translation Quality Evaluation | Smart Review and MTQE (Evolve) evaluation across all project segments; no per-segment data | not stated | `project`, `customer`, `linguist`, `originalTranslationOrigin`, `finalTranslationOrigin`, `taskType`, `languagePair`, `sourceFile`, `translationQualityEvaluationCategory` | +| Vendor Cost | Vendor costs per project and language direction | Vendor Quote Generation task | `project`, `customer`, `languagePair`, `vendorOrderTemplate`, `serviceType`, `currency` | + +## Postman + +Collection: `https://github.com/sdl/language-cloud-public-api-postman/blob/develop/postmanDataCollection.json?raw=true`. Import via Link, Raw Text or File. Set `{{lc_tenant}}` with the `LC-` prefix. Run **Obtain a client credentials access token** in the `Authentication (Start Here)` folder to populate `{{lc-access-token}}`. Do not send Postman default query parameter values; invalid data returns an API error. See [api-clients.md](./api-clients.md). diff --git a/articles/LCPublicAPI/aidocs/guides/errors.md b/articles/LCPublicAPI/aidocs/guides/errors.md new file mode 100644 index 0000000..2b794ab --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/errors.md @@ -0,0 +1,75 @@ +# Errors and issue reporting + +Error response shape, known behaviours, and the information to collect when reporting an API issue. + +## Error response body + +```json +{ + "errorCode": "notFound", + "message": "Invalid input on create project.", + "details": [ + { + "name": "project.template.id", + "code": "notFound", + "value": "invalid_project_template_id" + } + ] +} +``` + +| Field | Meaning | +|---|---| +| `errorCode` | Error code (e.g. `notFound`, `invalidInput`, `TOO_MANY_REQUESTS_EXCEPTION`) | +| `message` | Summary message (wording may change; do not parse) | +| `details[]` | Per-field entries: `name` (property path, e.g. `project.customFields[0]`), `code`, `value` | + +Observed examples: + +| Situation | Status | `errorCode` | +|---|---|---| +| Project created with unknown `projectTemplate.id` | 404 | `notFound` | +| Custom field value does not match field type | 400 | `invalidInput` | +| Rate limit exceeded | 429 | `TOO_MANY_REQUESTS_EXCEPTION` | +| Create without `location` and no access to Root | forbidden error | - | + +Specific codes per endpoint are in the API reference. The .NET SDK exposes constants in the `ErrorCodes` class (see [api-clients.md](./api-clients.md)). + +- 5xx can be returned by any endpoint (unexpected server error). If it persists, report it as below. +- Changes to error message descriptions are not breaking changes (see [api-lifecycle.md](./api-lifecycle.md)). + +## Known behaviours + +| Endpoint | Behaviour | +|---|---| +| [DownloadQuoteReport](../reference/DownloadQuoteReport.md) | One-time download: the file is deleted after a download attempt. To download again, export a new report with [ExportQuoteReport](../reference/ExportQuoteReport.md) and poll with [PollQuoteReportExport](../reference/PollQuoteReportExport.md). | +| [ExportQuoteReport](../reference/ExportQuoteReport.md) | When no Quote Template is used, the response is empty. | + +## Reporting an issue + +Template: + +``` +- Endpoint: +- X-LC-Tenant: +- X-LC-TraceId: +- Request URL: +- Request body: +- Response status code: +- Response body: +- Expected result: +- Actual result: +- Description: +``` + +| Item | Source | +|---|---| +| Endpoint | Link to the endpoint in the API docs | +| X-LC-Tenant | Tenant ID sent in request headers (required on all endpoints) | +| X-LC-TraceId | Unique request ID from the **response headers**; should always be provided if possible | +| Request URL | Full URL (domain, path, query parameters). If unavailable, at least the query parameters, e.g. `fields`, `top`, `skip`, `location`, `locationStrategy` | +| Request body | JSON sent | +| Response status code / body | HTTP status and body (error bodies included) | +| Expected / actual result, description | What you tried, how you got there, any workaround | + +Not all fields are required; more detail speeds up investigation. Also check [multi-region.md](./multi-region.md) for regional API details. diff --git a/articles/LCPublicAPI/aidocs/guides/fields.md b/articles/LCPublicAPI/aidocs/guides/fields.md new file mode 100644 index 0000000..e7d12b5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/fields.md @@ -0,0 +1,43 @@ +# The fields query parameter + +Every endpoint that returns a resource representation accepts a `fields` query parameter to choose which properties are returned. + +## Syntax + +- Comma-separated list of properties and/or subproperties. +- Subproperty format: `propertyname.subpropertyname` (nesting can go deeper, e.g. `languages.terms.termbaseFieldValues`). +- Properties examples: `id`, `name`, `customer`, `createdBy`. +- Subproperties examples: `customer.name`, `customer.keyContact`, `customer.location`, `createdBy.email`. + +## What is returned + +- Fields marked **required** are always returned. +- If fields are not customised for a given level and the requested field is non-null, the **default fields** are returned. +- If fields are customised for a given level and the requested field is non-null, the **requested fields** are returned. +- The same rules apply at nested levels. + +## Example: `GET /projects/101` + +| Request | Response contains | +|---|---| +| `GET /projects/101` | project `id`, `name`, language directions | +| `GET /projects/101?fields=customer` | project `id`; customer `id`, `name`, `keyContact`, `location` | +| `GET /projects/101?fields=customer.keyContact,customer.name` | project `id`; customer `name`, `keyContact` | + +See [GetProject](../reference/GetProject.md). + +## Other examples from the docs + +| Use | Example `fields` value | +|---|---| +| Project custom fields | `customFields.id,customFields.key,customFields.value` | +| Task type name | `taskType` (on `GET /projects/{projectId}/tasks`) | +| Target file latest version | `latestVersion` (on `GET /projects/{projectId}/target-files`) | +| Project status and quote total | `status,quote.totalAmount` | +| Current user location and groups | `location.name,location.path,groups` (on [GetMyUser](../reference/GetMyUser.md)) | +| Custom field definition properties | `id,key,description,type,defaultValue` | +| TM hard filter field metadata | `settings.translationMemorySettings.filters.hardFilter.fields,settings.translationMemorySettings.updateTranslationMemoryFields` | +| Termbase entry content | `humanReadableId,languages.terms,languages.terms.termbaseFieldValues` | +| Termbase template | `name,location,description,languages,fields` | + +Custom field definitions return `id` and `name` by default; other properties must be requested via `fields`. diff --git a/articles/LCPublicAPI/aidocs/guides/file-formats.md b/articles/LCPublicAPI/aidocs/guides/file-formats.md new file mode 100644 index 0000000..b448970 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/file-formats.md @@ -0,0 +1,72 @@ +# File formats and file versions + +Source and target files exist in native, SDLXLIFF or BCM format; which operations are allowed depends on the workflow task and its input file type. + +## Formats + +| Format | Description | +|---|---| +| native | File as attached by the user. The project's File Type Configuration determines which native extensions are allowed | +| SDLXLIFF | XML (`*.sdlxliff`); used to download files for offline translation/review | +| BCM | Bilingual Content Model; JSON content, stored as `.json`; used internally | + +## Task input file types + +A new file version can be added only if its format matches the input file type supported by the task. + +| Input file type | Meaning | Example tasks | +|---|---|---| +| `nativeSource` | Source file versions in uploaded native format | FileTypeDetection, Engineering, FileFormatConversion | +| `bcmSource` | Source files in BCM | DocumentContentAnalysis, CopySourceToTarget | +| `bcmTarget` | Target files in BCM | Translation, Linguistic Review, MachineTranslation, TranslationMemoryMatching, TranslationMemoryUpdate, TargetFileGeneration | +| `nativeTarget` | Target files in native "generated" form | DTP, FinalCheck | +| `sdlxliffTarget` | Target files in SDLXLIFF; specifically for Import tasks | Import tasks | +| `none` | Task does not read or modify file content | - | + +Task input/output types per task are listed on the RWS page "Rules for sequencing tasks correctly". + +## Source files + +| Operation | Endpoint | Notes | +|---|---|---| +| Add one source file | [AddSourceFile](../reference/AddSourceFile.md) | If the extension is supported by the File Type Configuration, a BCM source version is created automatically by the *File Format Conversion* task | +| Add several | [AddSourceFiles](../reference/AddSourceFiles.md) | Attach multiple source files | +| Add a version (native or BCM) | [AddSourceFileVersion](../reference/AddSourceFileVersion.md) | Allowed in the *Engineering* task, custom tasks with task type *Engineering*, and extension tasks handling source files | +| Download a version (native or BCM) | [DownloadSourceFileVersion](../reference/DownloadSourceFileVersion.md) | e.g. in the *Engineering* task | + +- A started project whose native source file has an unsupported extension generates an error task in *File Type Detection* and the workflow is interrupted. +- Extension tasks that add source or target file versions must declare `scope` = `"file"` in the task type configuration. + +## Target files + +The *Copy source to target* task converts the native file into a target file version in BCM format. + +| Operation | Endpoint | Notes | +|---|---|---| +| Add a version (native or BCM) | [AddTargetFileVersion](../reference/AddTargetFileVersion.md) | Extension tasks need `scope` = `"file"` | +| Download BCM/native version | [DownloadFileVersion](../reference/DownloadFileVersion.md) | e.g. while the project is in the *Translation* task | +| Export BCM version to native or SDLXLIFF | [ExportTargetFileVersion](../reference/ExportTargetFileVersion.md) | Async; `format` query parameter selects output; see below | +| Import SDLXLIFF version | [ImportTargetFileVersion](../reference/ImportTargetFileVersion.md) | Replaces a version using a processed SDLXLIFF; triggers update of the associated BCM file; mostly for offline work. Async | + +### Export flow (BCM to native/SDLXLIFF) + +1. `POST` [ExportTargetFileVersion](../reference/ExportTargetFileVersion.md) (`format` query parameter). +2. Poll [PollTargetFileVersionExport](../reference/PollTargetFileVersionExport.md). +3. Download with [DownloadExportedTargetFileVersion](../reference/DownloadExportedTargetFileVersion.md). + +Constraints: +- Export applies only to file versions in BCM format, and only on tasks whose supported output is a bilingual target file. +- To download BCM or native versions directly, use DownloadFileVersion instead. + +### Import flow (SDLXLIFF) + +1. `POST /projects/{projectId}/target-files/{targetFileId}/versions/imports` ([ImportTargetFileVersion](../reference/ImportTargetFileVersion.md)); response returns `importId`. +2. Poll `GET /projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId}` ([PollTargetFileVersionImport](../reference/PollTargetFileVersionImport.md)). + +`targetFileId` comes from [ListTargetFiles](../reference/ListTargetFiles.md); `projectId` from [CreateProject](../reference/CreateProject.md). + +## Related + +- Multipart request construction: [file-upload.md](./file-upload.md) +- Polling pattern: [async-polling.md](./async-polling.md) +- Rate limits on file operations: [rate-limits.md](./rate-limits.md) diff --git a/articles/LCPublicAPI/aidocs/guides/file-upload.md b/articles/LCPublicAPI/aidocs/guides/file-upload.md new file mode 100644 index 0000000..c99b9e5 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/file-upload.md @@ -0,0 +1,59 @@ +# Multipart file uploads + +How to build `multipart/form-data` requests for upload endpoints when not using an SDK. + +The API follows standard HTTP/1.1 (RFC 2616 and subsequent RFCs); no custom HTTP behaviour. + +## Rules + +- File upload endpoints use `multipart/form-data` and may require extra parts beside the file, typically a `properties` part. +- Structures in multipart parts are serialised as **JSON** (even if not stated explicitly in the contract); the `properties` part has `Content-Type: application/json`. +- The `file` part is declared `type: string` in the contract, meaning the raw file content is sent in that part. +- **Part order matters**: send parts in the order given by the API contract (`properties` first, then `file`). +- The file part carries `filename`, a `Content-Type` matching the file type, and the content. +- To debug, intercept the request and inspect the raw HTTP. + +## Raw request example (Add Source File Version) + +```http +POST /tasks//source-files//versions HTTP/1.1 +HOST: host.example.com +Content-Type: multipart/form-data; boundary=--------------------------818668410602542750275539 + +----------------------------818668410602542750275539 +Content-Disposition: form-data; name="properties" +Content-Type: application/json + +{ + "type":"native", + "fileTypeSettingsId": "" +} +----------------------------818668410602542750275539 +Content-Disposition: form-data; name="file"; filename="" +Content-Type: + + +----------------------------818668410602542750275539-- +``` + +## Properties examples + +[AddSourceFile](../reference/AddSourceFile.md) `properties`: + +```json +{ + "language": "en-US", + "type": "native", + "role": "translatable", + "name": "nameOfTheFile.extension" +} +``` + +`role` distinguishes translatable files (value `translatable`) from reference files; `type`: `native`, `bcm`, `sdxliff`. Optional: `targetLanguages`, `path`. + +[ImportTranslationMemory](../reference/ImportTranslationMemory.md): send `properties` before `file` (see [translation-memory.md](./translation-memory.md)). + +## Related + +- File formats and workflow rules: [file-formats.md](./file-formats.md) +- Rate limits: [rate-limits.md](./rate-limits.md) diff --git a/articles/LCPublicAPI/aidocs/guides/headers.md b/articles/LCPublicAPI/aidocs/guides/headers.md new file mode 100644 index 0000000..3fc47ab --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/headers.md @@ -0,0 +1,52 @@ +# Headers + +Reference for the standard, custom and endpoint-specific headers used by the Public API, and how to handle optional response headers. + +Headers must be treated as case-insensitive. + +## Header classes + +| Type | Example | +|---|---| +| Standard | `Content-Type` | +| Custom | `X-LC-TraceId` | +| Endpoint specific | `Content-Disposition` | + +## Request headers + +See [auth.md](./auth.md): `Authorization: Bearer {token}` and `X-LC-Tenant: {tenantId}` on every call. + +## Trace ID + +`X-LC-TraceId` is a unique request identifier returned in response headers. Always include it when reporting an issue (see [errors.md](./errors.md)). The Java and .NET SDKs generate a unique trace ID per request when using the provided credential-based clients. + +## Content-Type + +`application/octet-stream` indicates arbitrary binary data; a consumer should offer to save it as a file. + +## Content-Disposition + +Sent on file-like responses (downloads/exports) to supply a file name, e.g. [DownloadSourceFileVersion](../reference/DownloadSourceFileVersion.md), [DownloadFileVersion](../reference/DownloadFileVersion.md), [DownloadQuoteReport](../reference/DownloadQuoteReport.md). + +``` +Content-Type: application/octet-stream +Content-Disposition: attachment; filename="Public API Download.pdf"; filename*=UTF-8''Public%20API%20Download.pdf +``` + +Rules: +- `Content-Type` and `Content-Disposition` are **optional** on all endpoints. There is no guarantee an endpoint that returned them before will continue to do so. +- `filename` and `filename*` are matched case-insensitively. +- `filename*` uses RFC 5987 encoding (allows characters outside ISO-8859-1). When both are present, **use `filename*` and ignore `filename`**. +- If the header is missing, or a different name is wanted, supply your own file name and extension; the extension can usually be inferred from `Content-Type` and the invoked operation. + +## Rate limit headers + +`X-RateLimit-Limit`, `X-RateLimit-Reset`, `X-RateLimit-Remaining`, `X-RateLimit-Policy` on HTTP 429 responses. See [rate-limits.md](./rate-limits.md). + +## Webhook headers + +`X-LC-Signature`, `X-LC-Signature-Algo`, `X-LC-Retry-Num`, `X-LC-Retry-Reason`, `X-LC-Transmission-Time`, `X-LC-Application`, `X-LC-Webhook`, `X-LC-Region`. See [webhooks.md](./webhooks.md). + +## Deprecation and sunset headers + +Used in the endpoint retirement process. See [api-lifecycle.md](./api-lifecycle.md). diff --git a/articles/LCPublicAPI/aidocs/guides/index.md b/articles/LCPublicAPI/aidocs/guides/index.md new file mode 100644 index 0000000..d2dff31 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/index.md @@ -0,0 +1,27 @@ +# Guides Index + +| Guide | Description | +|---|---| +| [api-clients.md](./api-clients.md) | Installation, client initialization, authentication options, error handling and Postman setup for the Trados Cloud Pl... | +| [api-lifecycle.md](./api-lifecycle.md) | Definition of breaking changes, endpoint deprecation and sunset signalling, and notice periods. | +| [async-polling.md](./async-polling.md) | Long-running operations return an accepted/queued response with an identifier; poll a status endpoint until completio... | +| [auth.md](./auth.md) | Authenticate with an OAuth2 client-credentials Bearer token (Auth0) plus the `X-LC-Tenant` header on every Public API... | +| [custom-fields.md](./custom-fields.md) | Custom fields attach custom data to projects; definitions are created in the UI and read through the API. | +| [data-bridge.md](./data-bridge.md) | Read-only OData v4 API for analytical data (projects, tasks, costs, leverage, evaluation); same authentication as the... | +| [errors.md](./errors.md) | Error response shape, known behaviours, and the information to collect when reporting an API issue. | +| [fields.md](./fields.md) | Every endpoint that returns a resource representation accepts a `fields` query parameter to choose which properties a... | +| [file-formats.md](./file-formats.md) | Source and target files exist in native, SDLXLIFF or BCM format; which operations are allowed depends on the workflow... | +| [file-upload.md](./file-upload.md) | How to build `multipart/form-data` requests for upload endpoints when not using an SDK. | +| [headers.md](./headers.md) | Reference for the standard, custom and endpoint-specific headers used by the Public API, and how to handle optional r... | +| [language-codes.md](./language-codes.md) | Language codes in responses are case-insensitive; send correctly cased codes in requests. | +| [locations-folders.md](./locations-folders.md) | Resources live in a hierarchical folder tree; access depends on the folder and the user's groups, and list endpoints ... | +| [multi-region.md](./multi-region.md) | Each Trados Cloud Platform region has its own Public API host; all requests must target the region where the account ... | +| [pagination.md](./pagination.md) | List (`GET` collection) endpoints return items plus a total count and accept `top`, `skip` and `sort` query parameters. | +| [projects.md](./projects.md) | How to create, start, track and complete translation projects, and how to interact with tasks. | +| [put-semantics.md](./put-semantics.md) | All update (`PUT`) endpoints follow JSON Merge Patch semantics (RFC 7386); arrays are replaced entirely. | +| [quotes.md](./quotes.md) | Update a project quote through the `quote` field of `PUT /projects/{projectId}`, and export a quote report as PDF or ... | +| [rate-limits.md](./rate-limits.md) | Per-tenant request limits, rejection response format and retry guidance. | +| [termbases.md](./termbases.md) | Create and update termbases and termbase templates, manage entries and cross-references, and import/export termbases. | +| [translation-api.md](./translation-api.md) | Use a translation engine to look up translations, search concordance, and add or update translation units in its tran... | +| [translation-memory.md](./translation-memory.md) | Import and export of translation memories (TMs), and TM hard filters and field updates in project and project templat... | +| [webhooks.md](./webhooks.md) | Trados Cloud Platform calls an HTTPS endpoint you expose (HTTP `POST`) when events occur; delivery is signed, retried... | \ No newline at end of file diff --git a/articles/LCPublicAPI/aidocs/guides/language-codes.md b/articles/LCPublicAPI/aidocs/guides/language-codes.md new file mode 100644 index 0000000..a9bacf8 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/language-codes.md @@ -0,0 +1,11 @@ +# Language codes + +Language codes in responses are case-insensitive; send correctly cased codes in requests. + +- Responses can return the same code with different casing on different endpoints, e.g. `en-US`, `en-us`, `EN-US`. All are equivalent; compare case-insensitively. +- In requests, use the correct casing (e.g. `en-US`) to avoid unexpected behaviour. +- Valid codes: [ListLanguages](../reference/ListLanguages.md). + +## Related + +- Language directions in projects: [projects.md](./projects.md) diff --git a/articles/LCPublicAPI/aidocs/guides/locations-folders.md b/articles/LCPublicAPI/aidocs/guides/locations-folders.md new file mode 100644 index 0000000..92faba4 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/locations-folders.md @@ -0,0 +1,72 @@ +# Locations, folders and inheritance + +Resources live in a hierarchical folder tree; access depends on the folder and the user's groups, and list endpoints filter by `location` and `locationStrategy`. + +## Model + +- Folder-based access management applies to all resources. Users access resources according to the permissions of the groups (roles) they belong to. +- The hierarchy starts at **Root**; `hasParent: false` marks Root. +- Resources are stored in a **location** (folder). Webhooks and other resources follow inheritance rules. + +## Finding the user's location + +[GetMyUser](../reference/GetMyUser.md) with `fields=location.name,location.path,groups`: + +```json +{ + "id": "62b...d56", + "location": { + "id": "bbc...c21", + "name": "Customer5", + "path": [ + { "id": "48b...5d0", "location": "fea...a0b", "name": "Customer2", "hasParent": true }, + { "id": "fea...a0b", "location": "60b...fb0", "name": "Customers", "hasParent": true }, + { "id": "60b...fb0", "name": "Root", "hasParent": false } + ] + }, + "groups": [ { "id": "60b...2be", "name": "Project Managers Customer5" } ] +} +``` + +- `location.id` = exact folder of the resource. +- `location.path` = bottom-up list of parent folders up to Root (last entry has `hasParent: false`). + +## Creating resources: the `location` field + +Always send `location` (folder ID) when creating a resource. + +| `location` in create request | Result | +|---|---| +| Set to a folder ID | Created in that folder | +| Not set | System tries Root. Succeeds if user has access to Root; otherwise fails with **forbidden** | + +Examples: a Customer2 user creating a project with `location` = Customer2 ID creates it in Customer2; without `location`, it goes to Root (or fails with forbidden). Same logic for Customer4. + +## Listing: `location` and `locationStrategy` + +List endpoints may accept `location` (folder ID; some endpoints accept an array, comma-separated, results de-duplicated) and `locationStrategy`: + +| `locationStrategy` | Returns resources located in | +|---|---| +| `location` (default) | Exactly the given folder(s) | +| `lineage` | The folder and all its subfolders | +| `bloodline` | The folder and all its ancestor folders | +| `genealogy` | The folder, its subfolders and its ancestors | + +`locationStrategy` without `location` filters nothing. + +Example hierarchy: Root (Project1) > Customers (Project2) > Customer1 > {Customer3 (Project3), Customer4}; Customers > Customer2 > Customer5 (Project4); Root > Vendors > {Vendor1, Vendor2}. + +| `location` | `locationStrategy` | Projects returned | +|---|---|---| +| Customers | (default) / `location` | Project2 | +| Customers | `lineage` | Project2, Project3, Project4 | +| Customer3 | `bloodline` | Project1, Project2, Project3 | +| Customers | `genealogy` | Project1, Project2, Project3, Project4 | +| Customers, Customer3 | `lineage` | Project2, Project3 (once), Project4 | + +## Related + +- Creating projects in a location: [projects.md](./projects.md) +- Service user location and groups: [auth.md](./auth.md) +- Webhook visibility by folder: [webhooks.md](./webhooks.md) diff --git a/articles/LCPublicAPI/aidocs/guides/multi-region.md b/articles/LCPublicAPI/aidocs/guides/multi-region.md new file mode 100644 index 0000000..7c75602 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/multi-region.md @@ -0,0 +1,22 @@ +# Multi-region + +Each Trados Cloud Platform region has its own Public API host; all requests must target the region where the account lives. + +## Rules + +- Host pattern: `https://api.{REGION_CODE}.cloud.trados.com/public-api/v1/` (region codes include `eu`, `ca`). +- Accessing accounts or data that are not in the targeted region produces errors. +- Do not hard-code regional hosts in custom clients; new regions may be added. Discover regions and their Public API hosts with [List Regions](../../api/Global-Public-API.v1-fv.html#/operations/ListRegions) from the Global Public API on the global host `api.cloud.trados.com`. +- The .NET and Java SDKs already support multiple regions (see [api-clients.md](./api-clients.md)). + +## Legacy domain + +| Legacy | Options | +|---|---| +| `lc-api.sdl.com` | Use the Global Public API to discover the correct host for the desired region, or, if integrating only with the legacy EU region, use `api.eu.cloud.trados.com` | + +## Other region-dependent behaviour + +- Webhook requests carry the `X-LC-Region` header (region of the recipient's account). See [webhooks.md](./webhooks.md). +- Data Bridge daily quota reset time differs per region (EU: midnight UTC, CA: midnight EST). See [data-bridge.md](./data-bridge.md). +- Postman provides EU and CA environments; an environment-level `baseUrl` overrides the collection-level value. See [api-clients.md](./api-clients.md). diff --git a/articles/LCPublicAPI/aidocs/guides/pagination.md b/articles/LCPublicAPI/aidocs/guides/pagination.md new file mode 100644 index 0000000..cdad41e --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/pagination.md @@ -0,0 +1,24 @@ +# Paging and sorting + +List (`GET` collection) endpoints return items plus a total count and accept `top`, `skip` and `sort` query parameters. + +## Parameters + +| Parameter | Purpose | Example | +|---|---|---| +| `top` | Number of results to return (first N) | `/projects?top=10` | +| `skip` | Number of results to skip | `/projects?skip=100` | +| `sort` | Sort by one or more properties | `/projects?sort=-dueBy,name` | + +## Behaviour + +- A list response contains the items and a total count (`itemCount`). The count is the same regardless of `top` and `skip`. +- Combine `top` and `skip` for paging through results. +- `sort`: comma-separated properties; prefix `+` for ascending, `-` for descending. Without an operator the default is ascending. Example: `-dueBy,name` = `dueBy` descending, then `name` ascending. +- Sorting works only on first-level fields (not nested fields) of naturally comparable types: strings, numbers, dates. + +Example list call: [ListProjects](../reference/ListProjects.md). + +## Data Bridge + +Data Bridge uses OData `$top`, `$skip`, `$orderby` with different limits. See [data-bridge.md](./data-bridge.md). diff --git a/articles/LCPublicAPI/aidocs/guides/projects.md b/articles/LCPublicAPI/aidocs/guides/projects.md new file mode 100644 index 0000000..47b7321 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/projects.md @@ -0,0 +1,136 @@ +# Projects: creation and task flow + +How to create, start, track and complete translation projects, and how to interact with tasks. + +Resources (translation engines, file processing configurations, pricing models, workflows, project templates) cannot be created through this API version via `POST`; define them in the Trados UI beforehand. Some resources, such as pricing models, must be set up in the UI. Termbases and translation memories can be created via the API. + +## Prerequisites + +- Authentication and tenant: [auth.md](./auth.md) +- Rate limits (CreateProject 2/s, 10/min, 500/day): [rate-limits.md](./rate-limits.md) +- Project and file size limits: RWS page "File and project size limit". +- The project template ID and location ID are provided by RWS (some steps may be done by Trados engineering). + +## Basic flow + +| # | Step | Endpoint | Success | +|---|---|---|---| +| 1 | Create project | [CreateProject](../reference/CreateProject.md) `POST /projects` | 201 Created, body has project `id` | +| 2 | Add source file | [AddSourceFile](../reference/AddSourceFile.md) `POST /projects/{projectId}/source-files` | 201 Created | +| 3 | Start project | [StartProject](../reference/StartProject.md) `PUT /projects/{projectId}/start` | 202 Accepted | +| 4 | List tasks | [ListProjectTasks](../reference/ListProjectTasks.md) `GET /projects/{projectId}/tasks?fields=taskType,status` | 200; all tasks `completed` = files translated | +| 5 | List target files | [ListTargetFiles](../reference/ListTargetFiles.md) `GET /projects/{projectId}/target-files?fields=latestVersion` | 200 | +| 6 | Download file | [DownloadFileVersion](../reference/DownloadFileVersion.md) `GET /projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download` | 200, file body | +| 7 | Complete project | [CompleteProject](../reference/CompleteProject.md) | - | +| 8 | List projects | [ListProjects](../reference/ListProjects.md) | - | + +A project without source files cannot be started. + +### 1. Create project + +```http +POST https://api.{REGION_CODE}.cloud.trados.com/public-api/v1/projects +``` + +```json +{ + "name": "Name of the Project", + "description": "Test Project", + "dueBy": "2021-09-04T08:14:05.858Z", + "projectTemplate": { "id": "xxxxxxxxxxxxxxxxxxxxxxxx" }, + "languageDirections": [ + { + "sourceLanguage": { "languageCode": "en-US" }, + "targetLanguage": { "languageCode": "fr-FR" } + } + ], + "location": "xxxxxxxxxxxxxxxxxxxxxxxx" +} +``` + +Response includes `id`, `name`, `languageDirections` (with `englishName`) and `location` (`id`, `name`). Language codes come from [ListLanguages](../reference/ListLanguages.md) (see [language-codes.md](./language-codes.md)). Always send `location` (see [locations-folders.md](./locations-folders.md)). + +### 2. Add source file + +`properties` part (before the `file` part, see [file-upload.md](./file-upload.md)): + +```json +{ "language": "en-US", "type": "native", "role": "translatable", "name": "nameOfTheFile.extension" } +``` + +### 4. Task list response + +```json +{ + "items": [ + { "id": "613f621fe5ed2804ba31870e", "status": "completed", + "taskType": { "id": "607932f25c7cc701241f0f60", "key": "scan", "name": "File Type Detection" } } + ], + "itemCount": 11 +} +``` + +### 5. Target file response + +`items[]` with target file `id` and `latestVersion` (`id` = file version ID, `type`, e.g. `native`). + +## Creating a project from a template + +1. [ListProjectTemplates](../reference/ListProjectTemplates.md): note the template `id`. +2. [ListLanguages](../reference/ListLanguages.md): note `languageCode` values. A template may contain more languages than needed; send only the ones you want. +3. Get the customer folder `locationId` via [GetCustomer](../reference/GetCustomer.md) `GET /customers/{customerId}` (usually the same location as the template). +4. [CreateProject](../reference/CreateProject.md) with template `id` and `location`. All template resources are included. +5. Add files; start the project. + +Custom fields and project settings can be set via the API **only through a project template** configured in the UI (see [custom-fields.md](./custom-fields.md)). + +## Creating a project from scratch + +1. Get resource IDs via GET on: translation engines ([ListTranslationEngines](../reference/ListTranslationEngines.md), required), file processing configurations ([ListFileProcessingConfigurations](../reference/ListFileProcessingConfigurations.md), required), workflows ([ListWorkflows](../reference/ListWorkflows.md), required), pricing models ([ListPricingModels](../reference/ListPricingModels.md), optional), custom field definitions ([ListCustomFields](../reference/ListCustomFields.md), optional). +2. Get language codes ([ListLanguages](../reference/ListLanguages.md)). +3. Choose a location (customer folder `locationId`); if not specified the project is created in Root. +4. `POST /projects` with IDs for the required resources. Each resource object has a `strategy`: + +| `strategy` | Effect | +|---|---| +| `copy` (recommended) | A copy (clone) of the resource is included in the project | +| `use` | The actual resource is included; you lose control over updates made elsewhere | + +5. Add source files; start the project. + +### Add files + +[AddSourceFile](../reference/AddSourceFile.md): add translatable and reference files (`role`), in `native`/`bcm`/`sdxliff` (`type`). Source file language is required; `targetLanguages` and `path` are optional. Multiple files: [AddSourceFiles](../reference/AddSourceFiles.md). + +Optional PerfectMatch: [CreatePerfectMatchMapping](../reference/CreatePerfectMatchMapping.md) (after files are added, before start). + +## Restricting file downloads + +Use a project template with the restriction enabled, or create the project from scratch with `forceOnline`: + +```json +{ "name": "Restricted Project Name", "description": "Restricted Project Description", "forceOnline": true } +``` + +When listing projects, `excludeOnline` filters out projects that have a file download restriction. + +## Tracking + +[GetProject](../reference/GetProject.md) returns creation date, due date, status and resources used. Example with fields: `status,quote.totalAmount`. + +## Interacting with tasks + +| Action | Endpoint | Behaviour | +|---|---|---| +| Find task ID | [ListTasksAssignedToMe](../reference/ListTasksAssignedToMe.md) `GET /tasks/assigned` | Pick the task `id` | +| List all tasks in a project | [ListProjectTasks](../reference/ListProjectTasks.md) `GET /projects/{projectId}/tasks` | Returns count and per-task: `taskId`, input and outcome, owner and assignees, creation and due dates | +| Reclaim | [ReclaimTask](../reference/ReclaimTask.md) `PUT /tasks/{taskId}/reclaim` | Removes the owner; another user in the assignees list can accept it; not reassigned automatically | +| Complete | [CompleteTask](../reference/CompleteTask.md) `PUT /tasks/{taskId}/complete` | - | +| Assign | [AssignTask](../reference/AssignTask.md) `PUT /tasks/{taskId}/assign` | For tasks rejected by all assignees: get IDs from [ListUsers](../reference/ListUsers.md) or [ListGroups](../reference/ListGroups.md), then PUT the identifiers | +| Import target file version | [ImportTargetFileVersion](../reference/ImportTargetFileVersion.md) | See [file-formats.md](./file-formats.md) | + +## Related + +- File versions and workflow input types: [file-formats.md](./file-formats.md) +- Quotes: [quotes.md](./quotes.md) +- Webhooks for project/task events: [webhooks.md](./webhooks.md) diff --git a/articles/LCPublicAPI/aidocs/guides/put-semantics.md b/articles/LCPublicAPI/aidocs/guides/put-semantics.md new file mode 100644 index 0000000..d62f5dd --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/put-semantics.md @@ -0,0 +1,25 @@ +# PUT update semantics + +All update (`PUT`) endpoints follow JSON Merge Patch semantics (RFC 7386); arrays are replaced entirely. + +## Array fields + +An update overrides the entire array, not just the elements sent. + +| ORIGINAL | PATCH | RESULT | +|:---|:---|:---| +| `{"a":[{"b":"c"}]}` | `{"a":[1]}` | `{"a":[1]}` | + +- Elements not sent are removed from the result. +- A new element sent in the array is added to the result. +- To change one existing array element, send the original array with the new value for that element. + +## Resource-specific consequences + +| Resource | Behaviour | +|---|---| +| Termbase entry (`PUT /termbases/{termbaseId}/entries/{entryId}`) | Update replaces the entire entry structure; terms not sent are deleted. Resend unchanged terms as they currently are. | +| Termbase (`PUT /termbases/{termbaseId}`) | Fields can be updated only if the termbase was not created from a template or has no fields defined. A field sent without `id` is added to the termbase. | +| Project `customFields` | Sent through [UpdateProject](../reference/UpdateProject.md) with new values for the fields to change. | + +See [termbases.md](./termbases.md) and [custom-fields.md](./custom-fields.md). diff --git a/articles/LCPublicAPI/aidocs/guides/quotes.md b/articles/LCPublicAPI/aidocs/guides/quotes.md new file mode 100644 index 0000000..32d3ac1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/quotes.md @@ -0,0 +1,91 @@ +# Quotes: update and export + +Update a project quote through the `quote` field of `PUT /projects/{projectId}`, and export a quote report as PDF or Excel. + +## Update quote + +`PUT` [UpdateProject](../reference/UpdateProject.md) with the `quote` field. + +Two cost groups: +- **Language costs** (`languageCosts`): per language; types volume, percentage, hourly, perPage, conditional. `targetLanguage` is **required**. +- **Project costs**: project-level additional costs; types volume, percentage, hourly, perPage, conditional, perFile, perTargetLanguage. + +Language and project costs have identical request/response bodies (except the `targetLanguage` requirement). + +### Cost types + +All examples assume translation cost 85.4 (854 words, rate 0.1) for `fr-FR`; `runningTotal` carries across costs by `costOrder`. + +| `costType` | Request fields (as in docs example) | Formula | Type availability | +|---|---|---|---| +| `volume` | `name`, `costOrder`, `cost`, `volumeUnitType` (e.g. `Words`) | `total = count * cost` (count = words/characters) | language + project | +| `percentage` | `name`, `costOrder`, `count` (percent, may be negative) | `total = count% * previousRunningTotal` | language + project | +| `hourly` | `name`, `costOrder`, `count` (hours), `cost` | `total = count * cost` | language + project | +| `perPage` | `name`, `costOrder`, `count` (pages), `cost` | `total = count * cost` | language + project | +| `conditional` | `name`, `costOrder`, `conditionalCostVariable`, `conditionalCostOperator`, `conditionalCostThreshold`, `cost`, `conditionalCostType` | See below | language + project | +| `perTargetLanguage` | `name`, `costOrder`, `cost` | `total = (number of target languages) * cost` | project only | +| `perFile` | `name`, `costOrder`, `cost` | `total = (number of files) * cost` | project only | + +`runningTotal = previous runningTotal + total` (the first additional cost adds to the translation costs). + +Volume example (request then response): + +```json +{ "name": "Volume Cost", "costOrder": 0, "cost": 0.5, "volumeUnitType": "Words", "costType": "volume" } +``` + +```json +{ "name": "Volume Cost", "count": 854.0, "total": 427.0, "cost": 0.5, "costType": "volume", + "volumeUnitType": "words", "costOrder": 0, "runningTotal": 512.4 } +``` + +Chained example: 85.4 + 427 = 512.4; percentage -10 gives `total = -10% * 512.4 = -51.24`, `runningTotal = 461.16`; hourly (5 h at 1.5) gives 7.5 -> 468.66; perPage (10 at 0.2) gives 2 -> 470.66; conditional gives 100 -> 570.66; perTargetLanguage (1 at 5) -> 575.66; perFile (2 at 3) gives 6 -> 581.66. + +### Conditional cost + +Request: + +```json +{ "name": "Conditional Cost", "costOrder": 4, "conditionalCostVariable": "wordCount", + "conditionalCostOperator": "less", "conditionalCostThreshold": 1000, + "cost": 100, "conditionalCostType": "relative", "costType": "conditional" } +``` + +Reads as: if `[conditionalCostVariable] [conditionalCostOperator] [conditionalCostThreshold]` then add/set `[cost]` `[conditionalCostType]`. Example: if `wordCount < 1000` (854 < 1000 = true) then add 100 relative. + +| Condition result | `conditionalCostType` | `total` | `runningTotal` (previous 470.66) | +|---|---|---|---| +| true | `relative` | `cost` = 100 | 570.66 | +| false | any | 0 | unchanged (470.66) | +| true | `percentage` (cost 100) | `100% * 470.66 = 470.66` | 941.32 | +| true | `absolute` (cost 100) | `100 - 470.66 = -370.66` | 100 | + +`absolute` cancels all previous costs for the project or target language. + +### Cost order + +`costOrder` defines calculation order; each cost uses the previous running total. Swapping order changes percentage results: with percentage `costOrder` 0 on translation cost 85.4: `total = -10% * 85.4 = -8.54`, `runningTotal = 76.86`; then volume (`costOrder` 1) gives 427 -> 503.86 (versus 461.16 when volume goes first). + +## Export quote report + +Three endpoints, called in this order: + +1. [ExportQuoteReport](../reference/ExportQuoteReport.md) `POST /projects/{projectId}/quote-report/export` -> Accepted. +2. [PollQuoteReportExport](../reference/PollQuoteReportExport.md) `GET /projects/{projectId}/quote-report/export` -> wait for status `completed`. +3. [DownloadQuoteReport](../reference/DownloadQuoteReport.md) `GET /projects/{projectId}/quote-report/download`. + +| Option | Query parameter | Values | Default | +|---|---|---|---| +| Format | `format` | PDF, Excel | PDF | +| Language | `languageId` | `en`, `de`, `fr`, `fr-CA`, `ja`, `es`, `zh-CN`, `nl`, `it` | - | + +Notes: +- Download is one-time; the file is deleted after a download attempt (re-export to download again). +- Without a Quote Template the export response is empty. +- Rate limit: ExportQuoteReport (see [rate-limits.md](./rate-limits.md)). +- The old export quote endpoint is deprecated. + +## Related + +- Async pattern: [async-polling.md](./async-polling.md) +- PUT merge behaviour: [put-semantics.md](./put-semantics.md) diff --git a/articles/LCPublicAPI/aidocs/guides/rate-limits.md b/articles/LCPublicAPI/aidocs/guides/rate-limits.md new file mode 100644 index 0000000..e1d51ae --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/rate-limits.md @@ -0,0 +1,55 @@ +# Rate limits + +Per-tenant request limits, rejection response format and retry guidance. + +Limits are subject to change without notice. Always rely on response headers; never hard-code limit values. Daily limits use a fixed window reset nightly at 00:00 UTC. Contact support to increase account limits. + +## Default limits (per tenant) + +| Scope | Per second | Per minute | Per day | +|---|---|---|---| +| All API requests | 10 | 200 | 200 000 | +| [CreateProject](../reference/CreateProject.md) | 2 | 10 | 500 | +| [ExportQuoteReport](../reference/ExportQuoteReport.md) | 2 | 10 | 1000 | +| Import / export Translation Memory | 2 | 10 | 2000 | +| Project file operations (below) | 5 | 200 | 5000 | + +Project file operations covered by the last row, each: +- [AddSourceFile](../reference/AddSourceFile.md) +- [DownloadSourceFileVersion](../reference/DownloadSourceFileVersion.md) +- [DownloadExportedTargetFileVersion](../reference/DownloadExportedTargetFileVersion.md) +- [DownloadFileVersion](../reference/DownloadFileVersion.md) +- [AddSourceFileVersion](../reference/AddSourceFileVersion.md) +- [AddTargetFileVersion](../reference/AddTargetFileVersion.md) +- [ImportTargetFileVersion](../reference/ImportTargetFileVersion.md) + +Inspect individual limits with [ListRateLimits](../reference/ListRateLimits.md). + +The Auth0 token limit (16/day) is separate; see [auth.md](./auth.md). Data Bridge adds a data-volume quota; see [data-bridge.md](./data-bridge.md). + +## Rejection response + +Status **429** (`Too Many Requests`): + +```json +{ + "errorCode": "TOO_MANY_REQUESTS_EXCEPTION", + "message": "Quota exceeded. Please check X-RateLimit-Reset response header", + "details": [] +} +``` + +| Response header | Meaning | +|---|---| +| `X-RateLimit-Limit` | The exceeded quota value (e.g. `2`). Does not state which limit type was exceeded; use `X-RateLimit-Reset` and `X-RateLimit-Policy` to decide when to retry | +| `X-RateLimit-Reset` | Exact time the client can resume, RFC 1123 datetime, e.g. `Tue, 3 Jun 2008 11:05:30 GMT` | +| `X-RateLimit-Remaining` | Always `0` (reserved for future use) | +| `X-RateLimit-Policy` | Name of the violated policy (operation + time interval); see ListRateLimits | + +## Recommended handling + +1. Unless time-critical, send requests sequentially, not in parallel. +2. On HTTP 429: block all requests and wait until `X-RateLimit-Reset`. +3. Retry. + +SDKs do not handle 429 for you; implement it yourself (see [api-clients.md](./api-clients.md)). diff --git a/articles/LCPublicAPI/aidocs/guides/termbases.md b/articles/LCPublicAPI/aidocs/guides/termbases.md new file mode 100644 index 0000000..9b49954 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/termbases.md @@ -0,0 +1,137 @@ +# Termbases: structure, templates, entries, import and export + +Create and update termbases and termbase templates, manage entries and cross-references, and import/export termbases. + +## Create a termbase + +`POST` [CreateTermbase](../reference/CreateTermbase.md) `/termbases`. Provide one of: + +| Option | Body | +|---|---| +| Template | `termbaseTemplateId` | +| Custom structure | `termbaseStructure` object: `languages[]` (`languageCode`), `fields[]` | + +If both are sent, `termbaseStructure` takes precedence and `termbaseTemplateId` is ignored. + +```json +{ + "name": "Simple Termbase", + "description": "A simple termbase", + "copyright": "RWS", + "location": "60b0a03152a974047fd46fb0", + "termbaseStructure": { + "languages": [ { "languageCode": "en-US" } ], + "fields": [ + { + "name": "Entry level field", + "description": "A simple entry level field description.", + "level": "entry", + "allowCustomValues": true, + "allowMultiple": true, + "isMandatory": false, + "dataType": "picklist", + "pickListValues": ["picklist-value-1", "picklist-value-2"] + } + ] + } +} +``` + +Response: `id`, `name`, `location` (`id`, `name`). + +## Update a termbase + +`PUT` [UpdateTermbase](../reference/UpdateTermbase.md) `/termbases/{termbaseId}` with `name`, `description`, `copyright` and `termbaseTemplateId` or `termbaseStructure`. + +- Fields can be updated only if the termbase was not created from a template, or does not already have fields defined. +- `termbaseStructure` takes precedence over `termbaseTemplateId` if both are sent. +- A field sent without an `id` is added to the termbase. + +## Read and delete + +- [GetTermbase](../reference/GetTermbase.md) `GET /termbases/{termbaseId}` +- [ListTermbase](../reference/ListTermbase.md) `GET /termbases`: `numberOfEntries`, `status`, `createdAt`, `lastModifiedAt` are not available in the list. +- [DeleteTermbase](../reference/DeleteTermbase.md) `DELETE /termbases/{termbaseId}` + +## Termbase templates + +Endpoints: [CreateTermbaseTemplate](../reference/CreateTermbaseTemplate.md) `POST /termbase-templates`, [UpdateTermbaseTemplate](../reference/UpdateTermbaseTemplate.md) `PUT /termbase-templates/{termbaseTemplateId}`, [GetTermbaseTemplate](../reference/GetTermbaseTemplate.md), [ListTermbaseTemplates](../reference/ListTermbaseTemplates.md), [DeleteTermbaseTemplate](../reference/DeleteTermbaseTemplate.md). + +| Rule | Detail | +|---|---| +| `location` | If omitted, the template is created in the root folder | +| `type` in responses | `system` (e.g. Basic, Advanced) or `userDefined` | +| Delete | Only `userDefined` templates can be deleted | +| Picklist | If `dataType` is `picklist`, `pickListValues` must be filled in or `allowCustomValues` must be `true` | + +Template body: `name`, `description`, `location`, `copyright`, `languages[]` (`languageCode`), `fields[]`. + +Field properties: `name`, `description`, `level` (`entry`, `language`, `term`), `dataType` (examples in docs: `text`, `boolean`, `picklist`, `double`), `allowMultiple`, `isMandatory`, `pickListValues`, `allowCustomValues`. Read with `fields=name,location,description,languages,fields` (see [fields.md](./fields.md)). + +## Entries + +| Operation | Endpoint | +|---|---| +| Create | [CreateTermbaseEntry](../reference/CreateTermbaseEntry.md) `POST /termbases/{termbaseId}/entries` | +| Update | [UpdateTermbaseEntry](../reference/UpdateTermbaseEntry.md) `PUT /termbases/{termbaseId}/entries/{entryId}` | +| Get | [GetTermbaseEntry](../reference/GetTermbaseEntry.md) `GET .../entries/{entryId}` | +| List | [ListTermbaseEntries](../reference/ListTermbaseEntries.md) `GET .../entries` | +| Delete one | [DeleteTermbaseEntry](../reference/DeleteTermbaseEntry.md) | +| Delete all | [DeleteTermbaseEntries](../reference/DeleteTermbaseEntries.md) `DELETE /termbases/{termbaseId}/entries` | + +Entry body: `humanReadableId` (optional, any value; autogenerated without a guaranteed format if omitted), `languages[]` (`language.languageCode`, `terms[]` with `text` and optional `termbaseFieldValues[]`). + +```json +{ + "humanReadableId": "LC000000000000000000000001", + "languages": [ + { "language": { "languageCode": "en" }, "terms": [ { "text": "Simple Entry" } ] } + ] +} +``` + +Read with `fields=humanReadableId,languages.terms,languages.terms.termbaseFieldValues`. + +### Update behaviour + +Update replaces the entire entry structure; terms not specified in the request are deleted. Re-send current structure (with `id` values) for anything that must stay unchanged. See [put-semantics.md](./put-semantics.md). + +### Cross-references + +Reference types: `entry`, `term`, `external` (value is an external URL). For `entry`, the identifier is the target's `humanReadableId` (UI: **Copy Entry ID**). Create through `fieldValueLinks` in a `termbaseFieldValues[]` item; `termbaseFieldId` must match the termbase field `id`. + +```json +{ + "termbaseFieldId": "61b71de9877e04258abc7d9f", + "value": "This is an new entry reference", + "fieldValueLinks": [ { "type": "entry", "value": "This is a new entry reference" } ] +} +``` + +The identifier `LC61b7264d877e04258abc7da8` appears twice in the HTML snippet (`data-value` and `href`). + +## Import + +Supported formats: `tbx`, `xml`. Create the termbase first. + +`POST` [ImportTermbase](../reference/ImportTermbase.md) with `termbaseId` and the file. Optional query parameters: + +| Parameter | Values | Default | +|---|---|---| +| `duplicateEntriesStrategy` | `ignore` (keep current entry with the same identifier, ignore new), `merge` (merge current content into imported entry; merged by text if no identifier), `override` (replace current with imported) | `override` | +| `strictImport` | `true` (import only if file language matches exactly a termbase language), `false` (import even with non-matching languages, matching them to a relevant main language or variant if available) | `true` | + +Response: `importId` and `status`. Poll with [PollTermbaseImport](../reference/PollTermbaseImport.md) (`importId`, `termbaseId`); complete when status is `done`. + +## Export + +`POST` [ExportTermbase](../reference/ExportTermbase.md) with `termbaseId`. Optional body: format (`tbx` or `xml`; default `tbx`) and compression flag (zipped; default `false`). Response: `exportId`, `status`, `downloadUrl`; on failure `errorMessage`. + +Poll with [PollExportTermbase](../reference/PollExportTermbase.md) (`exportId`, `termbaseId`); complete when `done`. Download with [DownloadExportedTermbase](../reference/DownloadExportedTermbase.md) (`exportId`, `termbaseId`). + +See [async-polling.md](./async-polling.md). + +## Related + +- Multipart upload: [file-upload.md](./file-upload.md) +- Locations: [locations-folders.md](./locations-folders.md) diff --git a/articles/LCPublicAPI/aidocs/guides/translation-api.md b/articles/LCPublicAPI/aidocs/guides/translation-api.md new file mode 100644 index 0000000..6cc9182 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/translation-api.md @@ -0,0 +1,124 @@ +# Translation API: lookup, concordance and translation units + +Use a translation engine to look up translations, search concordance, and add or update translation units in its translation memories. + +All operations require a translation engine (`definition.translationEngineId`) that defines the translation memories, machine translation engines and termbases to use. BCM fragments are exchanged as JSON strings: serialize/deserialize them in requests and responses. For .NET, the NuGet package `Sdl.Core.Bcm.API` can be used. + +## Endpoints + +| Operation | Endpoint | Purpose | +|---|---|---| +| [TranslationsLookup](../reference/TranslationsLookup.md) | `POST /translations/lookup` | Translate plain text or a BCM fragment with a single segment; returns TM, MT and termbase results | +| [TranslationsConcordanceSearch](../reference/TranslationsConcordanceSearch.md) | `POST /translations/concordance` | Find segments containing a word or phrase in the engine's translation memories | +| [TranslationsUpdate](../reference/TranslationsUpdate.md) | `PUT /translations/translation-unit` | Update an existing translation unit | +| [TranslationsAdd](../reference/TranslationsAdd.md) | `POST /translations/translation-unit` | Add a translation unit | + +### Lookup request + +```json +{ + "input": { "content": "Hello world", "contentType": "text" }, + "languageDirection": { + "sourceLanguage": { "languageCode": "en-US" }, + "targetLanguage": { "languageCode": "fr-FR" } + }, + "definition": { "translationEngineId": "your-translation-engine-id" }, + "settings": { + "translationMemory": { + "minimumMatchValue": 70, + "penalties": { "standardPenalties": { "missingFormatting": 1, "differentFormatting": 1 } } + } + } +} +``` + +The response `translationProposal` is either a BCM fragment or a term. Use `responseType` to decide how to deserialize it. + +### Concordance request + +```json +{ + "input": { "content": "user interface" }, + "languageDirection": { + "sourceLanguage": { "languageCode": "en-US" }, + "targetLanguage": { "languageCode": "fr-FR" } + }, + "definition": { "translationEngineId": "your-translation-engine-id" }, + "targetOnly": false, + "settings": { "translationMemory": { "minimumMatchValue": 80 } } +} +``` + +The Translation Memory penalty defined in the translation engine is automatically included in the translation score. + +### Add and update request + +Same body for both: + +```json +{ + "input": { "content": "BCM fragment" }, + "definition": { "translationEngineId": "your-translation-engine-id" }, + "settings": { "fields": [ { "name": "field-name", "values": [ "field-value" ] } ] } +} +``` + +- Add: if a translation unit with the same source already exists, it is updated according to the `ifTargetSegmentsDiffer` field. +- Update: the existing unit is matched using `targetContent.translationOrigin.originalTranslationHash` in the BCM fragment. + +## Hash chaining on update + +After each update, `targetContent.translationOrigin.originalTranslationHash` changes; the new value is returned in the response field `translationHash`. For the next update, set `originalTranslationHash` to that `translationHash`; otherwise a new translation unit is added instead of updating the existing one. + +Changing any field in `sourceContent` also results in a new translation unit being added instead of an update. + +## BCM fragment structure (example, abbreviated) + +```json +{ + "sourceLanguageCode": "en-US", + "targetLanguageCode": "fr-FR", + "sourceContent": { + "id": "166fbfdd-8e0a-46aa-97bf-7b2b62014e5f", + "segmentNumber": "1", + "confirmationLevel": "Translated", + "type": "segment", + "children": [ + { "id": "4b5cbfc4-53b1-462c-86a4-dbc061b5f266", "text": "This is a sample text", "type": "text" } + ] + }, + "targetContent": { + "id": "166fbfdd-8e0a-46aa-97bf-7b2b62014e5f", + "segmentNumber": "1", + "confirmationLevel": "Translated", + "translationOrigin": { + "originType": "tm", + "originSystem": "Example TM", + "matchPercent": 92, + "textContextMatchLevel": "None", + "originalTranslationHash": "-377851791" + }, + "type": "segment", + "children": [ + { "id": "6143602c-5548-43d0-a2fc-1a5a7f2aeb35", "text": "Ceci est un exemple de texte", "type": "text" } + ] + } +} +``` + +Node `type` values in the example: `segment`, `text`, `placeholderTag`. BCM reference: `https://developers.rws.com/languagecloud-api-docs/api/bcm/Sdl.Core.Bcm.BcmModel.Fragment.html`. + +## Penalties + +| Group | Types | +|---|---| +| Standard | Missing Formatting, Different Formatting, Multiple Translations | +| Translation unit status | Translated, Approved Translation, Rejected Translation | + +Lookup request field example: `settings.translationMemory.penalties.standardPenalties.missingFormatting`. + +## Related + +- TM bulk import/export: [translation-memory.md](./translation-memory.md) +- Terminology: [termbases.md](./termbases.md) +- File format background (BCM): [file-formats.md](./file-formats.md) diff --git a/articles/LCPublicAPI/aidocs/guides/translation-memory.md b/articles/LCPublicAPI/aidocs/guides/translation-memory.md new file mode 100644 index 0000000..2166066 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/translation-memory.md @@ -0,0 +1,152 @@ +# Translation memory: import, export and advanced configuration + +Import and export of translation memories (TMs), and TM hard filters and field updates in project and project template settings. + +A translation unit (TU) is a source/target segment pair; `fields` hold TU metadata. + +## Import + +Create the TM first with [CreateTranslationMemory](../reference/CreateTranslationMemory.md). Accepted import file formats: `tmx`, `sdltm`, `zip`, `tmx.gz`, `sdlxliff`. + +`POST` [ImportTranslationMemory](../reference/ImportTranslationMemory.md) with `translationMemoryId`, the file and `properties`. **`properties` must come before `file`** in the multipart body (see [file-upload.md](./file-upload.md)). Response: import `id` and `status` (normally `queued`). + +### Import properties + +Only `sourceLanguageCode` and `targetLanguageCode` are required; the rest have defaults. + +| Property | Meaning | +|---|---| +| `sourceLanguageCode`, `targetLanguageCode` | Language direction of the import (required) | +| `importAsPlainText` | When true, TUs are imported as plain text without markup | +| `exportInvalidTranslationUnits` | When true, TUs that failed to import are saved in a `tmx` file | +| `triggerRecomputeStatistics` | When true, recomputes fuzzy index statistics after import | +| `targetSegmentsDifferOption` | Handling when target segments differ (below) | +| `unknownFieldsOption` | Handling of unknown user-defined fields (below) | +| `onlyImportSegmentsWithConfirmationLevels` | Only import segments with the listed confirmation levels | + +`targetSegmentsDifferOption`: + +| Value | Effect | +|---|---| +| `addNew` | Add a new TU; leave the original TU with the same source untouched | +| `overwrite` | Overwrite all existing TUs whose source segment matches | +| `leaveUnchanged` | Keep existing TUs with the same source; ignore the new TU | +| `keepMostRecent` | Delete all existing TUs with matching source; retain only the most recent | + +`unknownFieldsOption`: + +| Value | Effect | +|---|---| +| `addToTranslationMemory` | TU processed; unknown user-defined fields added to the setup | +| `skipTranslationUnit` | TUs containing unknown user-defined fields are skipped | +| `ignore` | TU processed; unknown fields ignored (not added) | +| `failTranslationUnitImport` | Error thrown if any TU has an unknown user-defined field | + +`onlyImportSegmentsWithConfirmationLevels` values: `translated` (fully translated, not reviewed), `approvedTranslation` (reviewed and approved, not signed-off), `approvedSignOff`, `draft` (target changed, not yet fully translated), `rejectedTranslation`, `rejectedSignOff`. + +### Poll import + +`GET` [PollTMImport](../reference/PollTMImport.md) with `importId` and `translationMemoryId`; complete when status is `done`. + +## Export + +1. `POST` [ExportTranslationMemory](../reference/ExportTranslationMemory.md) with `translationMemoryId` and a valid `languageDirection`. Response: `exportId` and `status` (error message on failure). +2. `GET` [PollTranslationMemoryExport](../reference/PollTranslationMemoryExport.md) with `exportId`; complete when status is `done`. +3. `GET` [DownloadExportedTranslationMemory](../reference/DownloadExportedTranslationMemory.md) with `exportId`; the file is `tmx.gz`. + +See [async-polling.md](./async-polling.md). + +## Advanced configuration + +Applies to settings returned/updated by [GetProject](../reference/GetProject.md), [UpdateProject](../reference/UpdateProject.md), [GetProjectTemplate](../reference/GetProjectTemplate.md) and [UpdateProjectTemplate](../reference/UpdateProjectTemplate.md), under `settings.translationMemorySettings`. + +### Hard filter + +`settings.translationMemorySettings.filters.hardFilter` contains: +- `expression`: logical expression over TU fields +- `fields`: field definitions referenced by the expression (returned on GET only) + +Logical operators (precedence from highest): `NOT`, `AND`, `OR`; parentheses allowed. Each comparison is a `"Field name" operator value` triplet. Field names must be quoted strings; values are quoted strings or unquoted integers (optional leading `-`). + +``` +(NOT "TU confirmation level" = "Not Translated" OR "Last modified on" > 2024-02-29T10:00:00.000Z) AND "Source segment length" >= 10 +``` + +Operators: `=`, `!=`, `<`, `<=`, `>`, `>=`, `CONTAINS`, `DOES NOT CONTAIN`, `MATCHES`, `DOES NOT MATCH`. The expression is parsed by an ANTLR4 grammar `FilterExpression` (`expression: orExpression EOF`, `orExpression: andExpression (OR andExpression)*`, `andExpression: notExpression (AND notExpression)*`, `notExpression: NOT? primaryExpression`, `primaryExpression: comparison | LPAREN orExpression RPAREN`, `comparison: field operator value`). + +Operator support by field type (Y = supported): + +| Operator | singleString | multipleString | singlePicklist | multiplePicklist | dateTime | integer | +|---|:-:|:-:|:-:|:-:|:-:|:-:| +| `=` | Y | Y | Y | Y | Y | Y | +| `<`, `<=`, `>`, `>=` | - | - | - | - | Y | Y | +| `!=` | Y | - | Y | - | Y | Y | +| `CONTAINS`, `DOES NOT CONTAIN` | Y | Y | - | Y | - | - | +| `MATCHES`, `DOES NOT MATCH` | Y | - | - | - | - | - | + +### System fields + +| Field name | Type | +|---|---| +| `Last modified on` | `dateTime` | +| `Last modified by` | `singleString` | +| `Last used on` | `dateTime` | +| `Last used by` | `singleString` | +| `Usage count` | `integer` | +| `Created on` | `dateTime` | +| `Created by` | `singleString` | +| `TU confirmation level` | `singlePicklist` | +| `Source segment` | `singleString` | +| `Target segment` | `singleString` | +| `Source segment length` | `integer` | +| `Target segment length` | `integer` | +| `Number of tags in source segment` | `integer` | +| `Number of tags in target segment` | `integer` | + +`TU confirmation level` accepted values (exact): `Not Translated`, `Draft`, `Translated`, `Translation Rejected`, `Translation Approved`, `Sign-off Rejected`, `Signed Off`. + +Field types: `singleString`, `multipleString`, `singlePicklist`, `multiplePicklist`, `dateTime`, `integer`. + +### Field updates + +`settings.translationMemorySettings.updateTranslationMemoryFields`: + +| Direction | Shape | +|---|---| +| PUT request | `fieldId` (system field name or custom field ID) and `values` (array; format depends on type). Metadata is resolved automatically; do not send the `fields` array | +| GET response | Adds `fieldTemplateId` (`system` or template ID), `fieldTemplateName`, `name`, `type`, `allowedValues` (picklists only) and `values`. `singleString`, `singlePicklist`, `integer`, `dateTime` hold exactly one value; `multipleString`, `multiplePicklist` may hold several | + +PUT example: + +```json +{ + "settings": { + "translationMemorySettings": { + "filters": { + "hardFilter": { + "expression": "(\"Created by\" CONTAINS \"API Integration\" OR \"TU confirmation level\" != \"Not Translated\") AND NOT (\"Text\" MATCHES \"exampleText\" AND \"Usage count\" >= 10)" + } + }, + "updateTranslationMemoryFields": [ + { "fieldId": "1e5b54da-9048-45f7-a5d8-c3878ac4c5b7", "values": ["11"] }, + { "fieldId": "bf6e413d-e617-4fcd-be13-e389af7ce7d4", "values": ["1Multi List", "2Multi List"] }, + { "fieldId": "6c6d9004-3a9e-4bde-97b4-62a6d2ec1a7f", "values": ["2025-10-29T12:00:00.000Z"] } + ] + } + } +} +``` + +GET: request metadata with + +``` +fields=settings.translationMemorySettings.filters.hardFilter.fields,settings.translationMemorySettings.updateTranslationMemoryFields +``` + +See [fields.md](./fields.md). + +## Related + +- Multipart upload: [file-upload.md](./file-upload.md) +- Lookup and add/update TUs: [translation-api.md](./translation-api.md) +- Rate limits: [rate-limits.md](./rate-limits.md) diff --git a/articles/LCPublicAPI/aidocs/guides/webhooks.md b/articles/LCPublicAPI/aidocs/guides/webhooks.md new file mode 100644 index 0000000..f6469d1 --- /dev/null +++ b/articles/LCPublicAPI/aidocs/guides/webhooks.md @@ -0,0 +1,171 @@ +# Webhooks + +Trados Cloud Platform calls an HTTPS endpoint you expose (HTTP `POST`) when events occur; delivery is signed, retried with back-off, and not ordered. + +Schemas: [Webhook](../../api/Webhooks.v1-fv.html#/schemas/webhook), [Webhook batch](../../api/Webhooks.v1-fv.html#/schemas/webhook-batch). + +## Subscribing + +Webhooks are configured on a custom application (UI, as a human Administrator): account menu → **Integrations** → **Applications** → select/edit application → **Webhooks** page. + +- Enter a default callback URL (applies to all webhooks defined for the application), and/or a **Webhook URL** plus one or more event types (press Enter). One webhook per event, or several event types per webhook. +- Webhook URLs must be **HTTPS**. +- Deleting the application deletes its webhooks. +- Prerequisites: a service user in the correct customer folder; an application based on that service user (saved in the same folder); the application's webhooks configured for that customer. +- A webhook triggers for projects located in the same folder as the service user. Webhooks follow folder inheritance, and are delivered only for users having READ permission on the resource that triggered the event. + +Example (Root > Customer1 > {Customer2, Customer3}; Group1/2/3 at Customer1/2/3; service users S1/S2/S3 with webhooks WB1/WB2/WB3 in those groups): + +| Project created in | Webhooks called | +|---|---| +| Customer1 | WB1 | +| Customer2 | WB1, WB2 | +| Customer3 | WB1, WB3 | + +## Event ordering + +Delivery order is **not guaranteed** (parallel sending, retries, network). Use the payload `timestamp` (moment the event occurred, not sent): +1. Order events chronologically by `timestamp`. +2. Process idempotently by tracking the last processed timestamp per entity. +3. Ignore an entity's webhook if its timestamp is older than the last successfully processed event for that entity. + +## Request + +Standard envelope (same for all events); only `data` varies: + +```json +{ + "eventId": "EVENT_ID", + "eventType": "PROJECT.CREATED", + "version": "1.0", + "timestamp": "TIMESTAMP", + "accountId": "ACCOUNT_ID", + "data": { } +} +``` + +### Request headers + +| Header | Meaning | +|---|---| +| `X-LC-Signature` | Message digital signature | +| `X-LC-Signature-Algo` | Signing algorithm; possible value `SHA256withRSA` | +| `X-LC-Retry-Num` | Retry counter; initial value 0, incremented on each redelivery | +| `X-LC-Retry-Reason` | Description of the previous error that caused the redelivery | +| `X-LC-Transmission-Time` | Delivery date/time, ISO 8601 | +| `X-LC-Application` | ID of the application receiving the message | +| `X-LC-Webhook` | ID of the webhook definition (not exposed in the UI; can be ignored) | +| `X-LC-Region` | Region of the recipient's account | + +### Event types + +| Event | `data` model | Triggered by (API / UI) | +|---|---|---| +| `PROJECT.CREATED` | `project-event` | Create project | +| `PROJECT.STARTED` | `project-event` | Start project | +| `PROJECT.UPDATED` | `project-event` | Start project (also emitted with `PROJECT.STARTED`); update any project field; complete project; cancel source file (API); complete target file. UI: edit Project Information/Configuration/Custom Fields, complete, set back in progress, cancel project | +| `PROJECT.DELETED` | `project-event` | Delete project | +| `PROJECT.TASK.CREATED` | `task-event` | Generate task | +| `PROJECT.TASK.ACCEPTED` | `task-event` | Accept task / accept error task | +| `PROJECT.TASK.COMPLETED` | `task-event` | Complete task | +| `PROJECT.TASK.UPDATED` | `task-event` | Generate, accept, reject, release, assign, reassign, complete task | +| `PROJECT.TASK.DELETED` | `task-event` | Delete project and its tasks | +| `PROJECT.ERROR.TASK.CREATED` | `error-task-event` | Generate error task | +| `PROJECT.ERROR.TASK.ACCEPTED` | `error-task-event` | Accept error task | +| `PROJECT.ERROR.TASK.COMPLETED` | `error-task-event` | Complete error task | +| `PROJECT.TEMPLATE.CREATED` | `project-template-event` | UI: create project template | +| `PROJECT.TEMPLATE.UPDATED` | `project-template-event` | UI: create or update project template | +| `PROJECT.TEMPLATE.DELETED` | `project-template-event` | UI: delete project template | +| `PROJECT.SOURCE.FILE.CREATED` | `source-file-event` | API: add source file / attach source files. UI: add reference or translatable file | +| `PROJECT.SOURCE.FILE.UPDATED` | `source-file-event` | API: update source file `name`, add source file version, project reaches *File Type Detection* or *File Format Conversion*. UI: change `fileType`/`fileRole`, replace file, delete version, cancel source file, same task transitions | +| `PROJECT.SOURCE.FILE.DELETED` | `source-file-event` | Delete project and its tasks | +| `PROJECT.TARGET.FILE.CREATED` | `target-file-event` | Project reaches *File Format Conversion* | +| `PROJECT.TARGET.FILE.UPDATED` | `target-file-event` | Add/import target file version, update name, project reaches *File Format Conversion*, *Copy Source to Target*, *Machine Translation*, *Bilingual Engineering*, *Translation*, *Linguistic Review*, *Customer Review*, *Implement Customer Review* or *Target File Generation*. UI: upload SDLXLIFF, replace/delete/cancel target file | +| `PROJECT.TARGET.FILE.DELETED` | `target-file-event` | Delete project and its tasks | +| `PROJECT.GROUP.PROJECT.MEMBERSHIP.CHANGE` | `project-group-event` | Add/remove project to/from project group | + +`data` schemas: `{task|project|project-template|source-file|target-file|project-group|error-task}-event` under `../../api/Webhooks.v1-fv.html#/schemas/`. + +Example `data` for `PROJECT.CREATED`: `id`, `name`, `description`, `customFields[]` (`id`, `key`, `value`). + +## Batched webhooks + +Multiple events are sent in a single HTTP request. + +```json +{ + "itemCount": 42, + "items": [ + { "eventId": "EVENT_ID", "eventType": "PROJECT.CREATED", "version": "1.0", "timestamp": "TIMESTAMP", "accountId": "ACCOUNT_ID", "data": { } } + ] +} +``` + +| Aspect | Value | +|---|---| +| Max batch size | 100 events | +| Max interval | 1 second | +| Success timeout | 2xx within **20 s** (3 s for single webhooks) | + +Batch size/interval values may change without notice. Authenticity, success/failure rules, retry policy, circuit breaker and headers are the same as for single webhooks. Use a single URL for batched webhooks, and one webhook subscribed to multiple event types. The endpoint must be able to process multiple events per request. + +## Validating notifications + +Webhooks are validated for authenticity, integrity and confidentiality. + +- **Authenticity**: signature over `transmissionTime|applicationId|webhookId|crc32`, where `crc32` is the CRC32 checksum of the HTTP request body. Verify with the application's public key (UI: Integrations → Applications → open application → **Webhooks** tab → **Secret Key** field) using the algorithm from `X-LC-Signature-Algo`. +- **Integrity**: the signature covers the payload checksum (CRC32). +- **Confidentiality**: only HTTPS webhook URLs are accepted. + +Java verification sample: + +```java +// retrieve transmissionTime, applicationId, webhookId, signatureAlg & signature from request headers +CRC32 checkSum = new CRC32(); +checkSum.update(event.getBytes(UTF_8)); // event = request body +long crc32Val = checkSum.getValue(); + +String message = transmissionTime + "|" + applicationId + "|" + webhookId + "|" + crc32Val; + +byte[] bytes = Base64.decode(publicKeyAsString.getBytes()); +X509EncodedKeySpec ks = new X509EncodedKeySpec(bytes); +KeyFactory kf = KeyFactory.getInstance("RSA"); +PublicKey publicKey = kf.generatePublic(ks); + +Signature publicSignature = Signature.getInstance(signatureAlg); +publicSignature.initVerify(publicKey); +publicSignature.update(message.getBytes(UTF_8)); +byte[] signatureBytes = Base64.getDecoder().decode(signature); +publicSignature.verify(signatureBytes); +``` + +A valid signature means the message was sent by Trados Cloud Platform. + +## Responses, retries, circuit breaker + +| Outcome | Condition | +|---|---| +| Success | 2xx within **3 seconds** (response body is not inspected) | +| Failure | 2xx after 3 s; any 3xx (redirects are not followed); 4xx; 5xx | + +Do minimal work on receipt (e.g. enqueue and process asynchronously). + +Retries: up to **8** deliveries with exponential back-off, carrying `X-LC-Retry-Num` and `X-LC-Retry-Reason`. + +| Retry | Interval since last attempt (min) | Since original attempt (min) | +|---|---|---| +| 1 | 5 | 5 | +| 2 | 10 | 15 | +| 3 | 30 | 45 | +| 4 | 120 (2h) | 165 | +| 5 | 360 (6h) | 525 | +| 6 | 600 (10h) | 1125 | +| 7 | 960 (16h) | 2085 | +| 8 | 1440 (24h) | 3525 | + +Circuit breaker: triggers when 3 calls to a URL fail within a short window (URLs that do not respond in time; HTTP code is irrelevant because the connection is closed). Opens for **1 hour** for that URL only (not the whole tenant); webhooks to that URL are scheduled for the next retry. Webhooks that harm platform performance may be removed without advance notice. + +## Related + +- Application setup and credentials: [auth.md](./auth.md) +- Folder inheritance: [locations-folders.md](./locations-folders.md) diff --git a/articles/LCPublicAPI/aidocs/index.md b/articles/LCPublicAPI/aidocs/index.md index c8575d4..46b684a 100644 --- a/articles/LCPublicAPI/aidocs/index.md +++ b/articles/LCPublicAPI/aidocs/index.md @@ -1,4 +1,4 @@ -# Language Cloud Public API — AI Docs +# Trados Public API — AI Docs ## API Reference → [reference/Index.md](./reference/Index.md) diff --git a/articles/LCPublicAPI/docs/AI-Development.md b/articles/LCPublicAPI/docs/AI-Development.md index 00da0ac..2cea5c2 100644 --- a/articles/LCPublicAPI/docs/AI-Development.md +++ b/articles/LCPublicAPI/docs/AI-Development.md @@ -1,4 +1,4 @@ -# AI Agent Development +# Documentation for AI Agents The Trados Cloud Platform API provides a machine-readable documentation set designed specifically for AI-assisted integrations.This section gives you and your tooling everything needed to understand and call the API correctly. diff --git a/articles/LCPublicAPI/toc.yml b/articles/LCPublicAPI/toc.yml index 6817a76..2cdbfe2 100644 --- a/articles/LCPublicAPI/toc.yml +++ b/articles/LCPublicAPI/toc.yml @@ -48,6 +48,9 @@ - name: Multipart considerations href: docs/How-to-multipart.md + - name: Documentation for AI Agents + href: docs/AI-Development.md + - name: Authentication items: - name: Service users and custom applications diff --git a/scripts/ai-docs-scripts/README.md b/scripts/ai-docs-scripts/README.md index ca6bf63..3ce6e52 100644 --- a/scripts/ai-docs-scripts/README.md +++ b/scripts/ai-docs-scripts/README.md @@ -1,6 +1,6 @@ # AI Docs Pipeline -Generates and maintains the `aidocs/` section of the Language Cloud API docs. +Generates and maintains the `aidocs/` section of the Trados API docs. - **`aidocs/reference/`** — fully automated from the OpenAPI spec - **`aidocs/guides/`** — human-reviewed, AI-assisted via VS Code Copilot From e10ff573be506361ac903297bb0cc6c4cf6971b5 Mon Sep 17 00:00:00 2001 From: Rares Tritean Date: Thu, 8 Oct 2026 16:11:40 +0300 Subject: [PATCH 3/6] Initial AI documentation generation --- articles/LCPublicAPI/docs/AI-Development.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/docs/AI-Development.md b/articles/LCPublicAPI/docs/AI-Development.md index 2cea5c2..c5cd40a 100644 --- a/articles/LCPublicAPI/docs/AI-Development.md +++ b/articles/LCPublicAPI/docs/AI-Development.md @@ -1,6 +1,6 @@ # Documentation for AI Agents -The Trados Cloud Platform API provides a machine-readable documentation set designed specifically for AI-assisted integrations.This section gives you and your tooling everything needed to understand and call the API correctly. +The Trados Cloud Platform API provides a machine-readable documentation set designed specifically for AI-assisted integrations. This section gives you and your tooling everything needed to understand and call the API correctly. ## What are AI Docs? From 89abca7c51c8fba256dc23f28b08549cf5e7cc81 Mon Sep 17 00:00:00 2001 From: vblajan_RWSGroup Date: Wed, 14 Oct 2026 13:02:38 +0300 Subject: [PATCH 4/6] what's new update --- articles/LCPublicAPI/docs/Whats-New.md | 1 + 1 file changed, 1 insertion(+) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 58bfc9b..803397c 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,6 +5,7 @@ ## 09 September 2026 - You can now export and import translation packages. Use [Export Package](../api/Public-API.v1-fv.html#/operations/ExportPackage), [Poll Export Package](../api/Public-API.v1-fv.html#/operations/PollExportPackage), and [Download Exported Package](../api/Public-API.v1-fv.html#/operations/DownloadExportedPackage) to generate and download `.sdlppx` packages. Use [Import Package](../api/Public-API.v1-fv.html#/operations/ImportPackage) together with [Poll Import Package](../api/Public-API.v1-fv.html#/operations/PollImportPackage) to return completed `.sdlppx`/`.sdlrpx` packages. - You can now retrieve the entry templates linked to a termbase via the new [List Termbase Entry Templates](../api/Public-API.v1-fv.html#/operations/ListTermbaseEntryTemplates) endpoint. +- We added [AI docs](AI-Development.md), integrating agents with our documentation. - We fixed various bugs. ## 02 July 2026 From 9cb6ceb8dc25d14294abbb414397a28b0a065e7a Mon Sep 17 00:00:00 2001 From: vblajan_RWSGroup Date: Wed, 14 Oct 2026 15:33:38 +0300 Subject: [PATCH 5/6] what's new update --- articles/LCPublicAPI/docs/Whats-New.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 917bc6d..4de79ea 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,12 +5,12 @@ ## 08 October 2026 - You can now update your TM filters using the new [Update Translation Memory Filter Expression](../api/Public-API.v1-fv.html#/operations/UpdateTranslationMemoryFilterExpressions) endpoint. - You can get the verification messages of a target file version using the new [Get Verification Messages](../api/Public-API.v1-fv.html#/operations/GetVerificationMessages) endpoint. +- We added [AI docs](AI-Development.md), integrating agents with our documentation. - We fixed various bugs. ## 09 September 2026 - You can now export and import translation packages. Use [Export Package](../api/Public-API.v1-fv.html#/operations/ExportPackage), [Poll Export Package](../api/Public-API.v1-fv.html#/operations/PollExportPackage), and [Download Exported Package](../api/Public-API.v1-fv.html#/operations/DownloadExportedPackage) to generate and download `.sdlppx` packages. Use [Import Package](../api/Public-API.v1-fv.html#/operations/ImportPackage) together with [Poll Import Package](../api/Public-API.v1-fv.html#/operations/PollImportPackage) to return completed `.sdlppx`/`.sdlrpx` packages. - You can now retrieve the entry templates linked to a termbase via the new [List Termbase Entry Templates](../api/Public-API.v1-fv.html#/operations/ListTermbaseEntryTemplates) endpoint. -- We added [AI docs](AI-Development.md), integrating agents with our documentation. - We fixed various bugs. ## 02 July 2026 From 83ef54c4fb68a2f2e6a0f295ca7f3998f03f719c Mon Sep 17 00:00:00 2001 From: vblajan_RWSGroup Date: Wed, 14 Oct 2026 16:28:34 +0300 Subject: [PATCH 6/6] what's new update --- articles/LCPublicAPI/docs/Whats-New.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 4de79ea..388b267 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -5,7 +5,7 @@ ## 08 October 2026 - You can now update your TM filters using the new [Update Translation Memory Filter Expression](../api/Public-API.v1-fv.html#/operations/UpdateTranslationMemoryFilterExpressions) endpoint. - You can get the verification messages of a target file version using the new [Get Verification Messages](../api/Public-API.v1-fv.html#/operations/GetVerificationMessages) endpoint. -- We added [AI docs](AI-Development.md), integrating agents with our documentation. +- We have introduced [AI-readable API documentation](AI-Development.md), designed specifically for AI-assisted integrations. - We fixed various bugs. ## 09 September 2026