diff --git a/.github/workflows/generate-aidocs.yml b/.github/workflows/generate-aidocs.yml
new file mode 100644
index 0000000..f1298b7
--- /dev/null
+++ b/.github/workflows/generate-aidocs.yml
@@ -0,0 +1,134 @@
+name: Generate AI Docs
+
+# ──────────────────────────────────────────────────────────────────────────────
+# Triggers
+# ──────────────────────────────────────────────────────────────────────────────
+on:
+ # Manual run only: operator supplies the release version label
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'Release version for the output branch (e.g. v2.5.0)'
+ required: true
+ type: string
+ force_regenerate:
+ description: 'Force full regeneration'
+ required: false
+ type: boolean
+ default: false
+
+# ──────────────────────────────────────────────────────────────────────────────
+# Jobs
+# ──────────────────────────────────────────────────────────────────────────────
+jobs:
+ generate-aidocs:
+ name: Generate AI Documentation
+ # C2M4AI.exe is a Windows x64 binary — must use a Windows runner
+ runs-on: windows-latest
+ permissions:
+ contents: write # needed to push the versioned branch
+
+ steps:
+ # ── 1. Checkout ──────────────────────────────────────────────────────────
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ # fetch-depth 2 gives us HEAD and HEAD~1 for incremental spec diffing
+ fetch-depth: 2
+ token: ${{ secrets.GITHUB_TOKEN }}
+
+ # ── 2. Resolve release version ───────────────────────────────────────────
+ - name: Resolve release version
+ id: version
+ shell: pwsh
+ run: |
+ if ('${{ github.event_name }}' -eq 'workflow_dispatch') {
+ $v = '${{ inputs.version }}'
+ } else {
+ # Auto-derive from api.json info.version for push and workflow_run triggers
+ $spec = Get-Content articles/LCPublicAPI/api/Public-API.v1.json | ConvertFrom-Json
+ $v = "v$($spec.info.version)"
+ }
+ Write-Host "Release version: $v"
+ "version=$v" | Out-File -FilePath $env:GITHUB_OUTPUT -Append -Encoding utf8
+
+ # ── 3. Download C2M4AI.exe ────────────────────────────────────────────────
+ - name: Download C2M4AI
+ shell: pwsh
+ run: |
+ New-Item -ItemType Directory -Force -Path tools | Out-Null
+ .\pipeline\Get-C2M4AI.ps1 -OutputPath tools\C2M4AI.exe
+
+ # ── 4. Download .NET SDK XML documentation ───────────────────────────────
+ - name: Download .NET SDK XML documentation
+ shell: pwsh
+ run: .\pipeline\Get-DotNetSdkXml.ps1 -OutputPath tools\Rws.LanguageCloud.Sdk.xml
+
+ # ── 5. Download Java SDK sources ─────────────────────────────────────────
+ - name: Download Java SDK sources
+ shell: pwsh
+ run: .\pipeline\Get-JavaSdkSources.ps1 -OutputDir tools\java-api
+
+ # ── 6. Save previous api.json for incremental spec diffing ───────────────
+ - name: Save previous api.json
+ id: prev_spec
+ shell: pwsh
+ run: |
+ New-Item -ItemType Directory -Force -Path tools | Out-Null
+ try {
+ # git show exits non-zero when there is no previous commit (first push)
+ git show HEAD~1:articles/LCPublicAPI/api/Public-API.v1.json | Set-Content tools\prev-api.json -NoNewline
+ Write-Host "Previous spec saved to tools\prev-api.json"
+ "exists=true" | Out-File -FilePath $env:GITHUB_OUTPUT -Append -Encoding utf8
+ } catch {
+ Write-Host "No previous commit available — will do full regeneration."
+ "exists=false" | Out-File -FilePath $env:GITHUB_OUTPUT -Append -Encoding utf8
+ }
+
+ # ── 7. Run the AI Docs Pipeline ───────────────────────────────────────────
+ - name: Run AI Docs Pipeline
+ shell: pwsh
+ run: |
+ $params = @{
+ RootDir = '.'
+ }
+
+ $forceRegen = '${{ inputs.force_regenerate }}' -eq 'true'
+ $hasPrevSpec = '${{ steps.prev_spec.outputs.exists }}' -eq 'true'
+ $isManual = '${{ github.event_name }}' -eq 'workflow_dispatch'
+
+ if ($forceRegen) {
+ # Explicit full rebuild: ignore hashes and re-write every file
+ $params.All = $true
+ $params.Force = $true
+ } elseif ($isManual -or -not $hasPrevSpec) {
+ # Manual run without force, or first-ever commit: full rebuild
+ $params.All = $true
+ } else {
+ # Push-triggered incremental: pass changed files for smart routing
+ $changed = @(git diff --name-only HEAD~1 HEAD)
+ Write-Host "Changed files: $($changed -join ', ')"
+ $params.ChangedFiles = $changed
+ $params.OldApiSpec = 'tools\prev-api.json'
+ }
+
+ .\pipeline\Invoke-AiDocsPipeline.ps1 @params
+
+ # ── 8. Commit changes to current branch ──────────────────────────────────
+ - name: Commit changes to current branch
+ shell: pwsh
+ run: |
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+ git config user.name "github-actions[bot]"
+
+ # Stage only the aidocs/ output directory
+ git add aidocs/
+ $staged = git diff --cached --stat
+
+ if ($staged) {
+ git commit -m "docs: generate aidocs ${{ steps.version.outputs.version }} [skip ci]"
+ git push origin HEAD
+ Write-Host "Changes committed and pushed to current branch." -ForegroundColor Green
+ } else {
+ Write-Host "No changes in aidocs/ — nothing to commit." -ForegroundColor DarkGray
+ }
diff --git a/.gitignore b/.gitignore
index 19ef2f3..9a01ceb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,6 @@ _site
*.testlog
.vscode
.vs
+tools/
+_update-prompt.md
+.api-spec-hash
\ No newline at end of file
diff --git a/articles/LCPublicAPI/aidocs/guides/api-clients.md b/articles/LCPublicAPI/aidocs/guides/api-clients.md
new file mode 100644
index 0000000..6bfe0fc
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/api-clients.md
@@ -0,0 +1,173 @@
+# API Clients (.NET and Java SDKs)
+
+Both SDKs are auto-generated from the API contracts. Minor version bumps do not guarantee backward compatibility.
+
+## .NET SDK
+
+**Target:** .NET Standard 2.0 ([compatibility matrix](https://docs.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0#net-implementation-support))
+**Package:** [Rws.LanguageCloud.Sdk on NuGet](https://www.nuget.org/packages/Rws.LanguageCloud.Sdk)
+
+### Initialization
+
+```csharp
+using Rws.LanguageCloud.Sdk;
+
+ServiceCredentials credentials = new ServiceCredentials("CLIENT_ID", "CLIENT_SECRET", "TENANT_ID");
+var provider = new LanguageCloudClientProvider("eu"); // default region is "eu"
+var projectClient = provider.GetProjectClient(credentials);
+```
+
+Three factory methods per client:
+
+| Method | Auth behavior |
+|---|---|
+| `GetProjectClient(credentials, handlers)` | Implicit auth via `ServiceCredentials` |
+| `GetProjectClient(handlers)` | Auth via context scoping (`ApiClientContext.BeginScope`) |
+| `GetProjectClientNoAuth(handlers)` | No implicit auth; provide a custom `DelegatingHandler` |
+
+**Important:** Each call to `GetProjectClient` creates a new `HttpClient` instance. Reuse the same instance via Dependency Injection to avoid multiple token caches.
+
+### Token Management
+
+Token caching is automatic. Tokens are reused until expiry. Each application instance holds its own cache; restarts reset the cache.
+
+### Error Handling
+
+All exceptions inherit from `ApiClientException` and expose an `ApiErrorResponse`.
+
+| Exception | Cause |
+|---|---|
+| `ModelDeserializationException` | Response deserialization failed |
+| `ApiUnauthorizedException` | Identity not recognized |
+| `ApiPermissionException` | No permission for the resource |
+| `ApiForbiddenException` | No access to the resource |
+| `ApiErrorException` | General API error |
+| `ApiConnectionException` | Connection failure |
+| `TaskCanceledException` | Request timeout |
+
+```csharp
+catch (ApiErrorException e) when (e.ApiError.ErrorCode == ErrorCodes.MaxSize)
+{
+ string summary = e.ApiError.Message;
+ foreach (var detail in e.ApiError.Details) { /* ... */ }
+}
+```
+
+### Basic Project Flow (.NET)
+
+```csharp
+// Create project
+var project = await projectClient.CreateProjectAsync(new ProjectCreateRequest
+{
+ Name = "My Project",
+ ProjectTemplate = new ObjectIdRequest { Id = "TEMPLATE_ID" }
+});
+
+// Add source file
+var sourceFileClient = provider.GetSourceFileClient(credentials);
+using (var stream = File.Open("file.txt", FileMode.Open))
+{
+ await sourceFileClient.AddSourceFileAsync(project.Id,
+ new SourceFileRequest { Name = "file.txt", Role = SourceFileRequestRole.Translatable,
+ Type = SourceFileRequestType.Native, Language = "en-US" },
+ new FileParameter(stream, "file.txt", "text/plain"));
+}
+
+// Start project
+await projectClient.StartProjectAsync(project.Id);
+
+// Get project (with field selection)
+var details = await projectClient.GetProjectAsync(project.Id, "status,quote.totalAmount");
+```
+
+---
+
+## Java SDK
+
+**Target:** Java 11+
+**Based on:** [OpenFeign](https://spring.io/projects/spring-cloud-openfeign)
+**Package:** [lc-public-api-sdk on Maven Central](https://search.maven.org/artifact/com.rws.lt.lc.public-api/lc-public-api-sdk)
+
+```xml
+
+ com.rws.lt.lc.public-api
+ lc-public-api-sdk
+ LATEST_VERSION
+
+```
+
+Always use the latest version from Maven Central.
+
+### Initialization
+
+```java
+ServiceCredentials credentials = new ServiceCredentials("CLIENT_ID", "CLIENT_SECRET", "TENANT_ID");
+
+LanguageCloudClientProvider provider = LanguageCloudClientProvider.builder()
+ .withRegionCode("eu") // default is "eu"
+ .withServiceCredentials(credentials)
+ .build();
+
+ProjectApi projectApi = provider.getProjectClient();
+```
+
+### Token Management
+
+- Tokens are cached in a singleton cache shared across all `LanguageCloudClientProvider` instances in the JVM.
+- Tokens are evicted `expiry - 1 minute` before they expire.
+- No need to recreate `LanguageCloudClientProvider` or its clients — one instance per application is sufficient.
+
+### Context Scoping (Multi-Tenant)
+
+```java
+LCContext.executeInScope(
+ () -> projectApi.listProjects(new ProjectApi.ListProjectsQueryParams()),
+ serviceCredentials1,
+ "trace-id-1"
+);
+```
+
+Allows making API calls on behalf of different tenants using the same client instance.
+
+### Basic Project Flow (Java)
+
+```java
+// Create project
+ProjectCreateRequest req = new ProjectCreateRequest();
+req.setName("My Project");
+req.setProjectTemplate(new ObjectIdRequest().id("TEMPLATE_ID"));
+req.setLocation("LOCATION_ID");
+req.setLanguageDirections(List.of(new LanguageDirectionRequest()
+ .sourceLanguage(new SourceLanguageRequest("en-US"))
+ .targetLanguage(new TargetLanguageRequest("fr-FR"))));
+
+Project project = projectApi.createProject(req, new ProjectApi.CreateProjectQueryParams());
+
+// Add source file
+SourceFileApi sourceFileApi = provider.getSourceFileClient();
+SourceFileRequest fileProps = new SourceFileRequest();
+fileProps.setLanguage(new LanguageRequest("en-US"));
+fileProps.setName("file.txt");
+fileProps.setRole(SourceFileRequest.RoleEnum.TRANSLATABLE);
+fileProps.setType(SourceFileRequest.TypeEnum.NATIVE);
+sourceFileApi.addSourceFile(project.getId(), fileProps, new File("file.txt"));
+
+// Start project
+projectApi.startProject(project.getId());
+
+// Get project
+Project details = projectApi.getProject(project.getId(), "status,quote.totalAmount");
+```
+
+### v25.x.x Migration (Fat JAR → Light JAR)
+
+Key dependency changes in v25.x.x:
+
+| Old | New |
+|---|---|
+| JUnit 4 | JUnit 5 (Jupiter) |
+| Apache HttpClient 4 (`org.apache.http`) | Apache HttpClient 5 (`org.apache.hc.core5.http`) |
+| Commons Lang 2 (`org.apache.commons.lang`) | Commons Lang 3 (`org.apache.commons.lang3`) |
+| OpenAPI Generator 6.5.0 | OpenAPI Generator 7.14.0 |
+
+For most users: update the version in `pom.xml` and recompile. Run `mvn dependency:tree` to detect conflicts.
diff --git a/articles/LCPublicAPI/aidocs/guides/async-polling.md b/articles/LCPublicAPI/aidocs/guides/async-polling.md
new file mode 100644
index 0000000..8b0d061
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/async-polling.md
@@ -0,0 +1,69 @@
+# Async Operations and Polling
+
+Several API operations are asynchronous: they accept a request, return an identifier, and complete in the background. The caller must poll a status endpoint until completion, then optionally download the result.
+
+## General Pattern
+
+1. **Trigger** — `POST` or `PUT` to start the operation. Response: `202 Accepted` (or `201 Created`) with an operation ID.
+2. **Poll** — `GET` the status endpoint with the operation ID. Repeat until `status` is `done` (or `completed`).
+3. **Consume** — `GET` the download endpoint (if applicable).
+
+## Operations Using This Pattern
+
+### Target File Export
+
+| Step | Method | Endpoint |
+|---|---|---|
+| Trigger | `POST` | `/projects/{projectId}/target-files/{targetFileId}/versions/{versionId}/export` |
+| Poll | `GET` | `/projects/{projectId}/target-files/{targetFileId}/versions/{versionId}/export` |
+| Download | `GET` | `/projects/{projectId}/target-files/{targetFileId}/versions/{versionId}/export/download` |
+
+The export converts a BCM target file to native or SDLXLIFF format (controlled by the `format` query parameter). Only available on tasks where the output is a bilingual target file. BCM and native format files must be downloaded directly via [Download Target File Version](../../api/Public-API.v1-fv.html#/operations/DownloadFileVersion).
+
+### Target File Import (SDLXLIFF)
+
+| Step | Method | Endpoint |
+|---|---|---|
+| Trigger | `POST` | `/projects/{projectId}/target-files/{targetFileId}/versions/imports` |
+| Poll | `GET` | `/projects/{projectId}/target-files/{targetFileId}/versions/imports/{importId}` |
+
+Returns `importId`. Poll until complete.
+
+### Translation Memory Import
+
+| Step | Method | Endpoint |
+|---|---|---|
+| Trigger | `POST` | `/translation-memories/{translationMemoryId}/import` |
+| Poll | `GET` | `/translation-memories/{translationMemoryId}/import/{importId}` |
+
+Supported input formats: `tmx`, `sdltm`, `zip`, `tmx.gz`, `sdlxliff`. Poll until `status` = `done`.
+
+### Translation Memory Export
+
+| Step | Method | Endpoint |
+|---|---|---|
+| Trigger | `POST` | `/translation-memories/{translationMemoryId}/export` |
+| Poll | `GET` | `/translation-memories/export/{exportId}` |
+| Download | `GET` | `/translation-memories/export/{exportId}/download` |
+
+Downloaded file format: `tmx.gz`.
+
+### Quote Report Export
+
+| Step | Method | Endpoint |
+|---|---|---|
+| Trigger | `POST` | `/projects/{projectId}/quote-report/export` |
+| Poll | `GET` | `/projects/{projectId}/quote-report/export` |
+| Download | `GET` | `/projects/{projectId}/quote-report/download` |
+
+Format options: `PDF` (default), `Excel`. Language options via `languageId`: `en`, `de`, `fr`, `fr-CA`, `ja`, `es`, `zh-CN`, `nl`, `it`.
+
+## Project Status Tracking
+
+Projects are not polled via a separate endpoint — use `GET /projects/{projectId}` and inspect the `status` field. Use `GET /projects/{projectId}/tasks?fields=taskType,status` to monitor individual task completion. A project is fully translated when all tasks have `status: completed`.
+
+## Polling Recommendations
+
+- Do not poll at a rate that could trigger rate limits (see [rate-limits.md](./rate-limits.md)).
+- Use exponential back-off for long-running operations such as large TM imports/exports.
+- For file upload/download operations, check applicable [rate limits](./rate-limits.md) (5 req/s, 5,000/day for file endpoints).
diff --git a/articles/LCPublicAPI/aidocs/guides/auth.md b/articles/LCPublicAPI/aidocs/guides/auth.md
new file mode 100644
index 0000000..7ee5a93
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/auth.md
@@ -0,0 +1,85 @@
+# Authentication and Identity
+
+## Base API URL
+
+`https://api.{REGION_CODE}.cloud.trados.com/public-api/v1/`
+
+Region codes are discoverable via `GET https://api.cloud.trados.com` — [List Regions](../../api/Global-Public-API.v1-fv.html#/operations/ListRegions). Do not hard-code region hosts; new regions may be added at any time. Legacy domain `lc-api.sdl.com` redirects to `api.eu.cloud.trados.com`.
+
+## Required Headers on Every Request
+
+| Header | Value |
+|---|---|
+| `Authorization` | `Bearer {access_token}` |
+| `X-LC-Tenant` | Tenant ID (24-character hex, e.g. `2ef3c10e74fc39104e633c11`) |
+
+Both headers are required on all endpoints. Headers are case-insensitive per HTTP spec.
+
+## Service Users and Custom Applications
+
+Service users are non-human users that authenticate via the API. They have no login credentials and access the platform only through the API.
+
+**Setup sequence (performed by an Administrator in the Trados UI):**
+
+1. Create a Service User: **Users → Service Users → New Service User**. Assign a name, location (folder), and one or more groups. Group membership determines the role and permissions.
+2. Create a Custom Application: **Account menu → Integrations → Applications → New Application**. Assign the service user to the application.
+3. Retrieve credentials from the application's **API Access** page: `Client ID` and `Client Secret`.
+
+**Note:** Changing the service user on an existing application takes 10–20 minutes to propagate due to caching. During this period, calls may use either the old or new service user. To avoid this, create a new application instead.
+
+## Generating a Bearer Token
+
+Token endpoint: `POST https://sdl-prod.eu.auth0.com/oauth/token`
+
+**JSON body:**
+```json
+{
+ "client_id": "{{CLIENT_ID}}",
+ "client_secret": "{{CLIENT_SECRET}}",
+ "grant_type": "client_credentials",
+ "audience": "https://api.sdl.com"
+}
+```
+
+**URL-encoded form body** (`Content-Type: application/x-www-form-urlencoded`):
+```
+client_id={{CLIENT_ID}}&client_secret={{CLIENT_SECRET}}&grant_type=client_credentials&audience=https://api.sdl.com
+```
+
+**Response:**
+```json
+{
+ "access_token": "eyJhbGci....",
+ "expires_in": 86400,
+ "token_type": "Bearer"
+}
+```
+
+## Token Management
+
+- Token expiry: `expires_in` seconds (default 86400 = 24 hours).
+- Cache the token and refresh it `expires_in - buffer` seconds after issue (subtract a few minutes to avoid clock drift).
+- **Maximum 16 Auth0 token requests per day** per integration. This limit applies to token requests, not to API calls.
+- Scenarios that cause additional token requests: multiple application instances (each holds its own cache), application restarts (destroys cache).
+- The SDKs (.NET and Java) handle token caching automatically.
+
+## Finding the Tenant ID
+
+In the Trados UI: profile menu → **Manage Account** → **Account Information** tab → **Trados Account ID**. Looks like `2ef3c10e74fc39104e633c11`.
+
+## Multi-Region
+
+All API requests are region-scoped. Data from one region is not accessible via another region's host. Use the Global API (`api.cloud.trados.com`) to discover available regions and their Public API hosts before building multi-tenant integrations.
+
+## Response Headers
+
+| Header | Type | Description |
+|---|---|---|
+| `Content-Type` | Standard | e.g. `application/octet-stream` for binary downloads |
+| `Content-Disposition` | Endpoint-specific | Provides a filename for downloaded content. When both `filename` and `filename*` params are present, use `filename*` (RFC 5987 encoding). Both headers are optional — treat them as advisory. |
+| `X-LC-TraceId` | Custom | Unique request identifier; always include in support tickets. |
+| `Deprecation` / `Sunset` | Standard | Indicates endpoint retirement timeline. See the Public API Management Process. |
+
+## Webhook Authentication (Outgoing)
+
+When Trados Cloud Platform sends webhook `POST` requests, it signs the payload. See [webhooks.md](./webhooks.md) for signature validation details.
diff --git a/articles/LCPublicAPI/aidocs/guides/custom-fields.md b/articles/LCPublicAPI/aidocs/guides/custom-fields.md
new file mode 100644
index 0000000..8978dc7
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/custom-fields.md
@@ -0,0 +1,62 @@
+# Custom Fields
+
+Custom Fields allow associating typed metadata with projects. Definitions are configured in the Trados UI; values are set and retrieved via the API.
+
+## Custom Field Definitions
+
+| Endpoint | Operation |
+|---|---|
+| `GET /custom-field-definitions` | List all definitions. Default fields: `id`, `name`. |
+| `GET /custom-field-definitions/{id}` | Get a single definition. Use `fields=id,key,description,type,defaultValue` to see all properties. |
+
+Each definition has a `type`: `DATE`, `STRING`, `PICKLIST`, or `BOOLEAN`. A `defaultValue` may be set on the definition, which is applied to new projects if no value is specified.
+
+## Custom Fields on Projects
+
+### Creating with Custom Fields
+
+Include a `customFields` array in the `POST /projects` request body:
+
+```json
+{
+ "name": "My Project",
+ "projectTemplate": { "id": "TEMPLATE_ID" },
+ "languageDirections": [...],
+ "location": "LOCATION_ID",
+ "customFields": [
+ { "key": "Custom_Field_Boolean_ps0xw", "value": true },
+ { "key": "Custom_Field_Long_Text_qq4olq", "value": "Test custom field" }
+ ]
+}
+```
+
+- `key` is **required** for each entry.
+- `value` is optional if the definition has a `defaultValue`.
+- If a value does not match the definition's `type`, the response is `400 Bad Request`:
+ ```json
+ {
+ "message": "Invalid input on create project.",
+ "errorCode": "invalidInput",
+ "details": [{"name": "project.customFields[0]", "code": "invalidInput", "value": "Test custom field"}]
+ }
+ ```
+- When using a project template, fields marked `isMandatory: true` must be provided if no default value is set.
+
+### Updating Custom Fields
+
+`PUT /projects/{projectId}` — include `customFields` with keys and new values.
+
+### Retrieving Custom Fields
+
+```
+GET /projects/{projectId}?fields=customFields.id,customFields.key,customFields.value
+GET /projects?fields=customFields.id,customFields.key,customFields.value
+```
+
+## Custom Fields in Project Templates
+
+Templates may define custom fields with `isMandatory` indicating whether the field must be populated at project creation. Retrieve them with:
+
+```
+GET /project-templates/{id}?fields=customFields.id,customFields.key,customFields.value
+```
diff --git a/articles/LCPublicAPI/aidocs/guides/errors.md b/articles/LCPublicAPI/aidocs/guides/errors.md
new file mode 100644
index 0000000..ec92772
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/errors.md
@@ -0,0 +1,66 @@
+# Error Reporting and Diagnostics
+
+## X-LC-TraceId
+
+Every API response includes an `X-LC-TraceId` response header containing a unique UUID for the request. Always capture and log this value; it is the primary identifier needed when reporting issues to support.
+
+## Support Issue Template
+
+```
+- Endpoint:
+- X-LC-Tenant:
+- X-LC-TraceId:
+- Request URL:
+- Request body:
+- Response status code:
+- Response body:
+- Expected result:
+- Actual result:
+- Description:
+```
+
+### Field notes
+
+| Field | Notes |
+|---|---|
+| Endpoint | Link to the specific operation in the API docs. |
+| X-LC-Tenant | Tenant identifier sent in the request header. |
+| X-LC-TraceId | From the response header. **Always provide if available.** |
+| Request URL | Full URL including domain, path, and query parameters. Most relevant params: `fields`, `top`, `skip`, `location`, `locationStrategy`. |
+| Request body | JSON payload sent. |
+| Response status code | HTTP status returned. |
+| Response body | Full response, including error bodies. |
+
+## Common Error Response Shape
+
+```json
+{
+ "errorCode": "notFound",
+ "message": "Invalid input on create project.",
+ "details": [
+ {
+ "name": "project.template.id",
+ "code": "notFound",
+ "value": "invalid_project_template_id"
+ }
+ ]
+}
+```
+
+## Example Populated Report
+
+```
+- Endpoint: https://eu.cloud.trados.com/lc/api-docs/025707d21ecc0-create-project
+- X-LC-Tenant:
+- X-LC-TraceId: 90d9147c-6afd-4d19-b0ac-99cac9ece970
+- Request URL: https://api.eu.cloud.trados.com/public-api/v1/projects?fields=dueBy,status,customer.name
+- Response status code: 404
+- Response body:
+ {
+ "errorCode": "notFound",
+ "message": "Invalid input on create project.",
+ "details": [{"name":"project.template.id","code":"notFound","value":"invalid_project_template_id"}]
+ }
+- Expected result: Project created.
+- Actual result: 404 — project template not found.
+```
diff --git a/articles/LCPublicAPI/aidocs/guides/fields.md b/articles/LCPublicAPI/aidocs/guides/fields.md
new file mode 100644
index 0000000..f6d1838
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/fields.md
@@ -0,0 +1,44 @@
+# Field Selection
+
+All endpoints returning a resource representation support the `fields` query parameter for selecting which properties to include in the response.
+
+## Syntax
+
+- Comma-separated list of property names.
+- Nested properties use dot notation: `propertyname.subpropertyname`.
+
+## Rules
+
+| Condition | Result |
+|---|---|
+| Field marked **required** | Always returned regardless of `fields` value. |
+| `fields` not specified, field is non-null | Default fields returned. |
+| `fields` specified, field is non-null | Only requested fields returned. |
+| Rules apply recursively to nested levels. | |
+
+## Examples
+
+```
+GET /projects/101
+```
+Returns: project `id`, `name`, `languageDirections` (defaults).
+
+```
+GET /projects/101?fields=customer
+```
+Returns: project `id`; customer `id`, `name`, `keyContact`, `location`.
+
+```
+GET /projects/101?fields=customer.keyContact,customer.name
+```
+Returns: project `id`; customer `name`, `keyContact` only.
+
+```
+GET /projects/101?fields=status,quote.totalAmount
+```
+Returns: project `id`, `status`, `quote.totalAmount`.
+
+```
+GET /users/me?fields=location.name,location.path,groups
+```
+Returns the user's folder location and group memberships.
diff --git a/articles/LCPublicAPI/aidocs/guides/file-upload.md b/articles/LCPublicAPI/aidocs/guides/file-upload.md
new file mode 100644
index 0000000..19d3cd9
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/file-upload.md
@@ -0,0 +1,76 @@
+# File Upload (Multipart)
+
+## Overview
+
+File upload endpoints use `multipart/form-data`. The API follows standard HTTP/1.1 (RFC 2616 and subsequent RFCs).
+
+## Part Order
+
+**The order of parts matters.** Send parts in the exact order specified in the API contract. For most file endpoints, `properties` comes before `file`.
+
+## File Formats
+
+| Format | Description | Extension |
+|---|---|---|
+| native | Original file as uploaded by the user | varies |
+| SDLXLIFF | Bilingual XML format for offline translation | `.sdlxliff` |
+| BCM | Bilingual Content Model — internal JSON format | `.json` |
+
+## Supported Input File Types by Task
+
+| Input file type | Example tasks |
+|---|---|
+| `nativeSource` | `FileTypeDetection`, `Engineering`, `FileFormatConversion` |
+| `bcmSource` | `DocumentContentAnalysis`, `CopySourceToTarget` |
+| `bcmTarget` | `Translation`, `LinguisticReview`, `MachineTranslation`, `TMMatching`, `TMUpdate`, `TargetFileGeneration` |
+| `nativeTarget` | `DTP`, `FinalCheck` |
+| `sdlxliffTarget` | Import tasks |
+| `none` | Tasks that do not read or modify file content |
+
+## Source Files
+
+- **Add source file (single):** `POST /projects/{projectId}/source-files`
+- **Attach source files (multiple):** `POST /projects/{projectId}/source-files/attach`
+- **Add source file version:** `POST /tasks/{taskId}/source-files/{sourceFileId}/versions` — allowed in Engineering task, custom Engineering-type tasks, or extension tasks with `scope: "file"`.
+- **Download source file version:** `GET` — available from Engineering task onward.
+
+## Target Files
+
+- **Add target file version:** `POST` — native or BCM format.
+- **Download target file version (BCM/native):** `GET /projects/{projectId}/target-files/{targetFileId}/versions/{versionId}/download`
+- **Export target file version (BCM → native or SDLXLIFF):** async; see [async-polling.md](./async-polling.md).
+- **Import target file version (SDLXLIFF):** async; triggers update of the associated BCM file. Use for offline work.
+
+## Raw HTTP Example — Add Source File Version
+
+```http
+POST /tasks//source-files//versions HTTP/1.1
+HOST: api.eu.cloud.trados.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--
+```
+
+## Content-Disposition in Download Responses
+
+When a download endpoint returns a file, the response may include:
+
+```
+Content-Type: application/octet-stream
+Content-Disposition: attachment; filename="file.pdf"; filename*=UTF-8''file.pdf
+```
+
+When both `filename` and `filename*` are present, **use `filename*`** (RFC 5987). If the header is absent, derive the filename from the operation and `Content-Type`.
diff --git a/articles/LCPublicAPI/aidocs/guides/index.md b/articles/LCPublicAPI/aidocs/guides/index.md
new file mode 100644
index 0000000..4a6f83b
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/index.md
@@ -0,0 +1,18 @@
+# Guides Index
+
+| Guide | Description |
+|---|---|
+| [api-clients.md](./api-clients.md) | Both SDKs are auto-generated from the API contracts. Minor version bumps do not guarantee backward compatibility. |
+| [async-polling.md](./async-polling.md) | Several API operations are asynchronous: they accept a request, return an identifier, and complete in the background.... |
+| [auth.md](./auth.md) | `https://api.{REGION_CODE}.cloud.trados.com/public-api/v1/` |
+| [custom-fields.md](./custom-fields.md) | Custom Fields allow associating typed metadata with projects. Definitions are configured in the Trados UI; values are... |
+| [errors.md](./errors.md) | Every API response includes an `X-LC-TraceId` response header containing a unique UUID for the request. Always captur... |
+| [fields.md](./fields.md) | All endpoints returning a resource representation support the `fields` query parameter for selecting which properties... |
+| [file-upload.md](./file-upload.md) | File upload endpoints use `multipart/form-data`. The API follows standard HTTP/1.1 (RFC 2616 and subsequent RFCs). |
+| [locations-folders.md](./locations-folders.md) | Trados Cloud Platform uses a hierarchical folder structure for organizing and controlling access to resources. Each r... |
+| [pagination.md](./pagination.md) | Applies to all `GET` list endpoints that return a collection with a total count. |
+| [project-lifecycle.md](./project-lifecycle.md) | - Service user and application credentials configured (see auth.md). |
+| [put-semantics.md](./put-semantics.md) | All update (`PUT`) endpoints follow JSON Merge Patch semantics (RFC 7396). |
+| [rate-limits.md](./rate-limits.md) | Rate limits are enforced per tenant. Limits are subject to change; always read values from response headers rather th... |
+| [translation-memory.md](./translation-memory.md) | Supported input formats: `tmx`, `sdltm`, `zip`, `tmx.gz`, `sdlxliff`. |
+| [webhooks.md](./webhooks.md) | Webhooks deliver `POST` HTTP notifications to your endpoint when events occur in a Trados Cloud Platform account. Web... |
\ No newline at end of file
diff --git a/articles/LCPublicAPI/aidocs/guides/locations-folders.md b/articles/LCPublicAPI/aidocs/guides/locations-folders.md
new file mode 100644
index 0000000..02a16b2
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/locations-folders.md
@@ -0,0 +1,72 @@
+# Locations and Folders
+
+## Concepts
+
+Trados Cloud Platform uses a hierarchical folder structure for organizing and controlling access to resources. Each resource is created in a folder (location). Access rights are inherited from parent folders.
+
+- **Location** — a folder identified by a 24-character hex ID (e.g. `48b...5d0`).
+- **Inheritance** — permissions propagate downward: a user in folder `A` can see resources in all descendant folders of `A`.
+
+## Finding Your User's Location and Groups
+
+```
+GET /users/me?fields=location.name,location.path,groups
+```
+
+The `location.path` array lists parent folders bottom-up until `Root` (`hasParent: false`).
+
+## Always Set the `location` Field When Creating Resources
+
+If `location` is omitted, the API attempts to create the resource in the Root folder. If the service user lacks access to Root, the request fails with `403 Forbidden`.
+
+## Location Strategies for List Endpoints
+
+Many list endpoints accept `location` (folder ID or comma-separated list) and `locationStrategy` query parameters.
+
+| `locationStrategy` value | Resources returned |
+|---|---|
+| `location` (default) | Resources in the specified folder(s) only. |
+| `lineage` | Resources in the specified folder(s) and all descendant folders. |
+| `bloodline` | Resources in the specified folder(s) and all ancestor folders up to Root. |
+| `genealogy` | Resources in the specified folder(s) plus all descendants and all ancestors. |
+
+When multiple folder IDs are supplied, results are unioned (duplicates removed).
+
+## Example Account Hierarchy
+
+```
+Root (60b...fb0) — Project1
+ Customers (fea...a0b) — Project2
+ Customer1 (ed7...623)
+ Customer3 (4f0...206) — Project3
+ Customer4 (e73...4a8)
+ Customer2 (48b...5d0)
+ Customer5 (bbc...c21) — Project4
+ Vendors (a16...29f)
+ Vendor1 (b02...281)
+ Vendor2 (d46...839)
+```
+
+### Query Results
+
+| `location` | `locationStrategy` | Projects returned |
+|---|---|---|
+| `fea...a0b` (Customers) | `location` (default) | Project2 |
+| `fea...a0b` (Customers) | `lineage` | Project2, Project3, Project4 |
+| `4f0...206` (Customer3) | `bloodline` | Project1, Project2, Project3 |
+| `fea...a0b` (Customers) | `genealogy` | Project1, Project2, Project3, Project4 |
+| `fea...a0b,4f0...206` | `lineage` | Project2, Project3 (once), Project4 |
+| _(none)_ | `lineage` | All projects (no filter applied) |
+
+## Creating Resources in a Specific Folder
+
+Pass the folder ID as the `location` field in the request body:
+
+```json
+{
+ "name": "My Project",
+ "location": "48b...5d0"
+}
+```
+
+A resource created in `Customer2` is visible to users in `Customer2` and all ancestor folders (`Customers`, `Root`).
diff --git a/articles/LCPublicAPI/aidocs/guides/pagination.md b/articles/LCPublicAPI/aidocs/guides/pagination.md
new file mode 100644
index 0000000..c33aa87
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/pagination.md
@@ -0,0 +1,28 @@
+# Pagination and Sorting
+
+Applies to all `GET` list endpoints that return a collection with a total count.
+
+## Query Parameters
+
+| Parameter | Type | Description |
+|---|---|---|
+| `top` | integer | Maximum number of items to return. |
+| `skip` | integer | Number of items to skip before returning results. |
+| `sort` | string | Comma-separated list of field names with optional `+` (ascending) or `-` (descending) prefix. Default is ascending if no operator is given. |
+
+## Rules
+
+- `top` and `skip` are combinable for page-by-page iteration.
+- The total count field in the response always returns the full dataset count, regardless of `top`/`skip`.
+- Sorting operates only on first-level (non-nested) fields of naturally comparable types: strings, numbers, dates.
+
+## Examples
+
+```
+GET /projects?top=10
+GET /projects?skip=100
+GET /projects?top=10&skip=20
+GET /projects?sort=-dueBy,name
+```
+
+The last example sorts by `dueBy` descending, then by `name` ascending.
diff --git a/articles/LCPublicAPI/aidocs/guides/project-lifecycle.md b/articles/LCPublicAPI/aidocs/guides/project-lifecycle.md
new file mode 100644
index 0000000..8569851
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/project-lifecycle.md
@@ -0,0 +1,131 @@
+# Project Lifecycle
+
+## Prerequisites
+
+- Service user and application credentials configured (see [auth.md](./auth.md)).
+- Project resources (translation engine, file processing configuration, workflow, pricing model) created in the Trados UI beforehand. The API does not support creating these resources.
+- Language codes: retrieve via `GET /languages`.
+
+## Method A: Create from Project Template
+
+The simplest path. A template bundles all required resources.
+
+```
+POST /projects
+```
+
+```json
+{
+ "name": "My Project",
+ "description": "...",
+ "dueBy": "2025-01-01T00:00:00.000Z",
+ "projectTemplate": { "id": "TEMPLATE_ID" },
+ "languageDirections": [
+ {
+ "sourceLanguage": { "languageCode": "en-US" },
+ "targetLanguage": { "languageCode": "fr-FR" }
+ }
+ ],
+ "location": "LOCATION_ID"
+}
+```
+
+Response: `201 Created`. Capture the `id` field — needed for all subsequent operations.
+
+## Method B: Create from Scratch
+
+Requires explicit resource IDs for all required resources.
+
+```json
+{
+ "name": "My Project",
+ "translationEngine": { "id": "...", "strategy": "copy" },
+ "fileProcessingConfiguration": { "id": "...", "strategy": "copy" },
+ "workflow": { "id": "...", "strategy": "copy" },
+ "pricingModel": { "id": "...", "strategy": "copy" },
+ "languageDirections": [...],
+ "location": "LOCATION_ID"
+}
+```
+
+`strategy` values:
+- `copy` — clones the resource into the project (recommended; changes to the original do not affect the project).
+- `use` — links to the shared resource (not recommended; external changes affect the project).
+
+## Add Source Files
+
+```
+POST /projects/{projectId}/source-files
+```
+
+Multipart body (`properties` part first, then `file`). See [file-upload.md](./file-upload.md).
+
+```json
+{
+ "language": "en-US",
+ "type": "native",
+ "role": "translatable",
+ "name": "document.docx"
+}
+```
+
+`role`: `translatable` or `reference`.
+
+Projects without source files cannot be started.
+
+## Start Project
+
+```
+PUT /projects/{projectId}/start
+```
+
+Response: `202 Accepted`.
+
+## Track Project and Tasks
+
+```
+GET /projects/{projectId}
+GET /projects/{projectId}/tasks?fields=taskType,status
+```
+
+Project status values indicate current state. All tasks `status: completed` means translation is done.
+
+## Interact with Tasks
+
+| Operation | Endpoint |
+|---|---|
+| List tasks assigned to me | `GET /tasks/assigned` |
+| List all tasks in a project | `GET /projects/{projectId}/tasks` |
+| Accept a task | implicit via workflow |
+| Complete a task | `PUT /tasks/{taskId}/complete` |
+| Reclaim a task (remove owner) | `PUT /tasks/{taskId}/reclaim` |
+| Assign / reassign a task | `PUT /tasks/{taskId}/assign` |
+
+To assign, first retrieve user/group IDs from `GET /users` or `GET /groups`.
+
+## Download Translated Files
+
+```
+GET /projects/{projectId}/target-files
+GET /projects/{projectId}/target-files/{targetFileId}/versions/{versionId}/download
+```
+
+For SDLXLIFF or native-format export (convert from BCM), use the async export flow: see [async-polling.md](./async-polling.md).
+
+## Restrict File Downloads
+
+To prevent file downloads for certain roles, set `forceOnline: true` in the project creation request, or use a template that has this restriction enabled.
+
+## Filter Projects by Download Restriction
+
+Use `excludeOnline=true` query parameter on `GET /projects` to filter out projects with download restrictions.
+
+## Language Codes
+
+Language codes in responses are case-insensitive (e.g. `en-US`, `en-us`, `EN-US` are equivalent). When sending requests, use correct casing to avoid unexpected behavior.
+
+## Quote Report
+
+Async export flow (trigger → poll → download). See [async-polling.md](./async-polling.md). Formats: `PDF` (default), `Excel`. Localizations: `en`, `de`, `fr`, `fr-CA`, `ja`, `es`, `zh-CN`, `nl`, `it`.
+
+To update quote costs, use `PUT /projects/{projectId}` with the `quote` field. Cost types: `volume`, `percentage`, `hourly`, `perPage`, `conditional`, `perFile`, `perTargetLanguage`.
diff --git a/articles/LCPublicAPI/aidocs/guides/put-semantics.md b/articles/LCPublicAPI/aidocs/guides/put-semantics.md
new file mode 100644
index 0000000..5e79f66
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/put-semantics.md
@@ -0,0 +1,13 @@
+# PUT Semantics (JSON Merge Patch)
+
+All update (`PUT`) endpoints follow [JSON Merge Patch semantics (RFC 7396)](https://tools.ietf.org/html/rfc7386).
+
+## Array Field Behavior
+
+**Sending an array in a PUT request replaces the entire array**, not individual elements.
+
+| Original | Patch sent | Result |
+|---|---|---|
+| `{"a":[{"b":"c"}]}` | `{"a":[1]}` | `{"a":[1]}` |
+
+If you omit element `"b"` from array `"a"`, it is removed. To keep existing elements, include them in full in the request body. To update a single element, send the entire array with the updated value for that element.
diff --git a/articles/LCPublicAPI/aidocs/guides/rate-limits.md b/articles/LCPublicAPI/aidocs/guides/rate-limits.md
new file mode 100644
index 0000000..d696fa2
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/rate-limits.md
@@ -0,0 +1,55 @@
+# Rate Limits
+
+Rate limits are enforced per tenant. Limits are subject to change; always read values from response headers rather than hard-coding them.
+
+Daily limits reset at **00:00 UTC** (fixed window).
+
+## Default Limits (All Endpoints)
+
+| Window | Limit |
+|---|---|
+| Per second | 10 requests |
+| Per minute | 200 requests |
+| Per day | 200,000 requests |
+
+## Endpoint-Specific Limits
+
+| Operation | Per Second | Per Minute | Per Day |
+|---|---|---|---|
+| Create Project | 2 | 10 | 500 |
+| Export Quote Report | 2 | 10 | 1,000 |
+| Import/Export Translation Memory | 2 | 10 | 2,000 |
+| Add/Download Source File, Add/Download/Import Target File | 5 | 200 | 5,000 |
+
+Use [List Rate Limits](../../api/Public-API.v1-fv.html#/operations/ListRateLimits) to retrieve current limits programmatically.
+
+## 429 Response
+
+```json
+{
+ "errorCode": "TOO_MANY_REQUESTS_EXCEPTION",
+ "message": "Quota exceeded. Please check X-RateLimit-Reset response header",
+ "details": []
+}
+```
+
+HTTP status: `429 Too Many Requests`
+
+## Rate Limit Response Headers
+
+| Header | Description |
+|---|---|
+| `X-RateLimit-Limit` | The quota that was exceeded (numeric value). |
+| `X-RateLimit-Reset` | DateTime (RFC-1123) when the client may resume. 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 + interval). |
+
+## Handling 429
+
+Recommended retry strategy:
+1. Detect HTTP 429.
+2. Suspend all requests.
+3. Wait until `X-RateLimit-Reset`.
+4. Retry.
+
+Unless the scenario is time-critical, prefer sequential requests over parallel ones to reduce the likelihood of hitting limits.
diff --git a/articles/LCPublicAPI/aidocs/guides/translation-memory.md b/articles/LCPublicAPI/aidocs/guides/translation-memory.md
new file mode 100644
index 0000000..a0f9fb9
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/translation-memory.md
@@ -0,0 +1,106 @@
+# Translation Memory
+
+## Import
+
+Supported input formats: `tmx`, `sdltm`, `zip`, `tmx.gz`, `sdlxliff`.
+
+**Create a TM first** before importing via `POST /translation-memories`.
+
+```
+POST /translation-memories/{translationMemoryId}/import
+```
+
+Multipart body — `properties` part first, then `file`.
+
+### Import Properties
+
+| Property | Required | Description |
+|---|---|---|
+| `sourceLanguageCode` | Yes | Source language of the import. |
+| `targetLanguageCode` | Yes | Target language of the import. |
+| `importAsPlainText` | No | If `true`, strip markup and import as plain text. |
+| `exportInvalidTranslationUnits` | No | If `true`, failed TUs are saved to a `tmx` file. |
+| `triggerRecomputeStatistics` | No | If `true`, recompute fuzzy index statistics after import. |
+| `targetSegmentsDifferOption` | No | How to handle TUs with same source but different target: `addNew`, `overwrite`, `leaveUnchanged`, `keepMostRecent`. |
+| `unknownFieldsOption` | No | How to handle TUs with unknown user-defined fields: `addToTranslationMemory`, `skipTranslationUnit`, `ignore`, `failTranslationUnitImport`. |
+| `onlyImportSegmentsWithConfirmationLevels` | No | Filter by confirmation level: `translated`, `approvedTranslation`, `approvedSignOff`, `draft`, `rejectedTranslation`, `rejectedSignOff`. |
+
+Response: import `id` + `status: queued`.
+
+### Poll Import
+
+```
+GET /translation-memories/{translationMemoryId}/import/{importId}
+```
+
+Poll until `status: done`.
+
+## Export
+
+```
+POST /translation-memories/{translationMemoryId}/export
+```
+
+Body: `translationMemoryId` + `languageDirection`. Response: `exportId` + `status`.
+
+### Poll Export
+
+```
+GET /translation-memories/export/{exportId}
+```
+
+Poll until `status: done`.
+
+### Download Export
+
+```
+GET /translation-memories/export/{exportId}/download
+```
+
+Response format: `tmx.gz`.
+
+## Advanced Configuration (TM Filters and Field Updates)
+
+Applicable endpoints: `GET/PUT /projects/{projectId}`, `GET/PUT /project-templates/{projectTemplateId}`.
+
+### Hard Filters
+
+Hard filters restrict which TUs are considered matches by applying logical expressions on TU fields.
+
+Filter configuration:
+- `expression`: string expression in the grammar below.
+- `fields`: array of field definitions referenced in the expression.
+
+**Logical operators:** `AND`, `OR`, `NOT`
+
+**Example expression:**
+```
+(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`
+
+**Field names must be quoted strings. Values are quoted strings or unquoted integers.**
+
+### System Fields Available in Filter Expressions
+
+| 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 Values
+
+`Not Translated`, `Draft`, `Translated`, `Translation Rejected`, `Translation Approved`, `Translation Approved` (sign-off approved)
diff --git a/articles/LCPublicAPI/aidocs/guides/webhooks.md b/articles/LCPublicAPI/aidocs/guides/webhooks.md
new file mode 100644
index 0000000..0440dc1
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/guides/webhooks.md
@@ -0,0 +1,164 @@
+# Webhooks
+
+## Overview
+
+Webhooks deliver `POST` HTTP notifications to your endpoint when events occur in a Trados Cloud Platform account. Webhooks are configured via the Trados UI within a Custom Application.
+
+## Setup
+
+**Prerequisites:**
+1. Create a Service User in the correct customer folder.
+2. Create a Custom Application assigned to that Service User.
+3. In the Application's **Webhooks** tab:
+ - Set a default callback URL.
+ - Add per-event-type webhook URLs. Multiple event types can share one URL.
+
+Webhooks fire for all projects in the same folder as the service user, subject to inheritance: a service user at folder `X` receives webhooks for events in `X` and all descendant folders.
+
+**Scope example:**
+
+| Project location | Webhooks notified |
+|---|---|
+| Customer1 (parent) | WB1 (service user in Customer1) |
+| Customer2 (child of Customer1) | WB1 + WB2 |
+| Customer3 (child of Customer1) | WB1 + WB3 |
+
+## Event Types and Payload Objects
+
+| Event | Payload schema |
+|---|---|
+| `PROJECT.CREATED` | `project-event` |
+| `PROJECT.STARTED` | `project-event` |
+| `PROJECT.UPDATED` | `project-event` |
+| `PROJECT.DELETED` | `project-event` |
+| `PROJECT.TASK.CREATED` | `task-event` |
+| `PROJECT.TASK.ACCEPTED` | `task-event` |
+| `PROJECT.TASK.COMPLETED` | `task-event` |
+| `PROJECT.TASK.UPDATED` | `task-event` |
+| `PROJECT.TASK.DELETED` | `task-event` |
+| `PROJECT.SOURCE.FILE.CREATED` | `source-file-event` |
+| `PROJECT.SOURCE.FILE.UPDATED` | `source-file-event` |
+| `PROJECT.SOURCE.FILE.DELETED` | `source-file-event` |
+| `PROJECT.TARGET.FILE.CREATED` | `target-file-event` |
+| `PROJECT.TARGET.FILE.UPDATED` | `target-file-event` |
+| `PROJECT.TARGET.FILE.DELETED` | `target-file-event` |
+| `PROJECT.TEMPLATE.CREATED` | `project-template-event` |
+| `PROJECT.TEMPLATE.UPDATED` | `project-template-event` |
+| `PROJECT.TEMPLATE.DELETED` | `project-template-event` |
+| `PROJECT.ERROR.TASK.CREATED` | `error-task-event` |
+| `PROJECT.ERROR.TASK.ACCEPTED` | `error-task-event` |
+| `PROJECT.ERROR.TASK.COMPLETED` | `error-task-event` |
+| `PROJECT.GROUP.PROJECT.MEMBERSHIP.CHANGE` | `project-group-event` |
+
+## Payload Envelope
+
+All events share this envelope:
+
+```json
+{
+ "eventId": "EVENT_ID",
+ "eventType": "PROJECT.CREATED",
+ "version": "1.0",
+ "timestamp": "TIMESTAMP",
+ "accountId": "ACCOUNT_ID",
+ "data": { }
+}
+```
+
+`data` contains the event-specific payload object. The `timestamp` field is the time the event occurred (not the delivery time).
+
+## Event Ordering
+
+Delivery order is **not guaranteed**. Use the `timestamp` field to determine chronological order. Implement idempotent event processing: track the last processed timestamp per entity and ignore events with older timestamps.
+
+## Request Headers
+
+| Header | Description |
+|---|---|
+| `X-LC-Signature` | Digital signature: `transmissionTime\|applicationId\|webhookId\|crc32` |
+| `X-LC-Signature-Algo` | Signing algorithm. Possible value: `SHA256withRSA` |
+| `X-LC-Transmission-Time` | ISO 8601 delivery timestamp |
+| `X-LC-Application` | Application ID |
+| `X-LC-Webhook` | Webhook ID |
+| `X-LC-Region` | Region of the account |
+| `X-LC-Retry-Num` | Retry attempt counter (0 = initial delivery) |
+| `X-LC-Retry-Reason` | Reason for retry (on retries only) |
+
+## Signature Validation (Java Example)
+
+```java
+CRC32 checksum = new CRC32();
+checksum.update(event.getBytes(UTF_8));
+long crc32Val = checksum.getValue();
+
+String message = transmissionTime + "|" + applicationId + "|" + webhookId + "|" + crc32Val;
+
+byte[] bytes = Base64.decode(publicKeyAsString.getBytes());
+X509EncodedKeySpec ks = new X509EncodedKeySpec(bytes);
+PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(ks);
+
+Signature sig = Signature.getInstance(signatureAlg);
+sig.initVerify(publicKey);
+sig.update(message.getBytes(UTF_8));
+boolean valid = sig.verify(Base64.getDecoder().decode(signature));
+```
+
+The public key is in the Application's **Webhooks** tab → **Secret Key** field.
+
+## Success / Failure Rules
+
+| Condition | Result |
+|---|---|
+| Response `2xx` within **3 seconds** | Success (single webhook) |
+| Response `2xx` within **20 seconds** | Success (batched webhook) |
+| Response `3xx` | Failure — redirects are not followed |
+| Response `4xx` or `5xx` | Failure |
+| No response within timeout | Failure |
+
+Trados Cloud Platform does not inspect the response body.
+
+## Retry Policy
+
+Up to 8 retries using exponential back-off:
+
+| Retry # | Interval from previous / minutes | Cumulative offset / minutes |
+|---|---|---|
+| 1 | 5 | 5 |
+| 2 | 10 | 15 |
+| 3 | 30 | 45 |
+| 4 | 120 | 165 |
+| 5 | 360 | 525 |
+| 6 | 600 | 1,125 |
+| 7 | 960 | 2,085 |
+| 8 | 1,440 | 3,525 |
+
+## Circuit Breaker
+
+Triggered when **3 calls to a URL fail** within a short window. The circuit stays open for **1 hour** for that URL (not the entire tenant). Webhooks to the affected URL are scheduled for the next retry attempt. Persistent failures may result in the webhook being removed from the database.
+
+## Batched Webhooks
+
+Webhooks can be batched to reduce HTTP requests. Batch envelope:
+
+```json
+{
+ "itemCount": 42,
+ "items": [
+ { "eventId": "...", "eventType": "PROJECT.CREATED", "version": "1.0", "timestamp": "...", "accountId": "...", "data": {} },
+ { "eventId": "...", "eventType": "PROJECT.TASK.CREATED", ... }
+ ]
+}
+```
+
+**Batch limits:**
+- Maximum batch size: **100 events**
+- Maximum time interval before flush: **1 second**
+
+These values may change without notice.
+
+**To use batching efficiently:**
+- Configure a single URL for all event types in one webhook subscription.
+- The same signature validation, success/failure rules, retry policy, and circuit breaker apply.
+- Timeout for success: **20 seconds** (vs. 3 seconds for single webhooks).
+
+**Recommendation:** Acknowledge the event quickly and enqueue for asynchronous processing.
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..b95ce02
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/AddPerfectMatchBatchMapping.md
@@ -0,0 +1,2169 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..20d411f
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/CreatePerfectMatchMapping.md
@@ -0,0 +1,2136 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..ab9ffae
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/CreateProject.md
@@ -0,0 +1,2220 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..369faef
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/CreateProjectTemplate.md
@@ -0,0 +1,1649 @@
+# 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
+ description: Translation Memory filter settings.
+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/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/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/ExportProjectFiles.md b/articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md
new file mode 100644
index 0000000..1f20d14
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/ExportProjectFiles.md
@@ -0,0 +1,160 @@
+# 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..60a1fcf
--- /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..077a326
--- /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..e18aa77
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchCandidates.md
@@ -0,0 +1,2113 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..5c1bedc
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/GetPerfectMatchMapping.md
@@ -0,0 +1,2096 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..f6da2fd
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/GetProject.md
@@ -0,0 +1,2084 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..6322cc0
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/GetProjectTemplate.md
@@ -0,0 +1,1525 @@
+# 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
+ description: Translation Memory filter settings.
+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/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..7014313
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/GetTask.md
@@ -0,0 +1,2308 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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/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/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..7a55476
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/Index.md
@@ -0,0 +1,383 @@
+# 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. | |
+
+## 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. | |
+
+## 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 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. | |
+
+## 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..f3d72f0
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/ListCustomFields.md
@@ -0,0 +1,183 @@
+# 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.
+
+## 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);
+```
+
+| Parameter | Type | Required |
+|---|---|---|
+| `top` | `int` | no |
+| `skip` | `int` | no |
+| `location` | `IEnumerable` | yes |
+| `locationStrategy` | `LocationStrategy` | no |
+| `sort` | `string` | no |
+| `fields` | `string` | no |
+
+### Java — `CustomFieldApi`
+
+```java
+// GET /custom-field-definitions?top={top}&skip={skip}&location={location}&locationStrategy={locationStrategy}&sort={sort}&fields={fields}
+ListCustomFieldDefinitionsResponse listCustomFields(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/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..5764573
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/ListProjectTasks.md
@@ -0,0 +1,2320 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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..afb71c6
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/ListProjectTemplates.md
@@ -0,0 +1,1544 @@
+# 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
+ description: Translation Memory filter settings.
+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..9927d73
--- /dev/null
+++ b/articles/LCPublicAPI/aidocs/reference/ListProjects.md
@@ -0,0 +1,2142 @@
+# 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
+```
+
+## 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: 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
+ description: Translation Memory filter settings.
+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: 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/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
+