From 71c9f36857fe05b4fe2300b040eb28f17c36dba8 Mon Sep 17 00:00:00 2001 From: Rares Tritean Date: Tue, 4 Nov 2025 13:58:44 +0200 Subject: [PATCH] LTLC-127082-public-api --- .../api/Data-Bridge-API.v1-fv.html | 73 + .../LCPublicAPI/api/Data-Bridge-API.v1.json | 8336 +++++++++++++++++ .../LCPublicAPI/api/Data-Bridge-API.v1.md | 23 + .../LCPublicAPI/api/Global-Public-API.v1.json | 7 +- .../LCPublicAPI/api/Global-Public-API.v1.md | 4 +- articles/LCPublicAPI/api/Public-API.v1.json | 148 +- articles/LCPublicAPI/api/Public-API.v1.md | 4 +- articles/LCPublicAPI/api/Webhooks.v1.json | 1 + articles/LCPublicAPI/api/Webhooks.v1.md | 4 +- articles/LCPublicAPI/docs/Whats-New.md | 172 +- .../docs/api-clients/net/Net-Samples.md | 48 +- .../data-bridge/Data-Bridge-Introduction.md | 77 + .../LCPublicAPI/docs/data-bridge/Data-Sets.md | 151 + .../docs/data-bridge/OData-Query-Guide.md | 104 + .../Trados-Data-Bridge-APIs-for-Postman.md | 76 + .../docs/termbase/Termbase-import-export.md | 2 +- .../docs/webhooks/Webhooks-payload.md | 4 +- .../docs/webhooks/Webhooks-setup.md | 3 +- articles/LCPublicAPI/toc.yml | 48 +- 19 files changed, 9072 insertions(+), 213 deletions(-) create mode 100644 articles/LCPublicAPI/api/Data-Bridge-API.v1-fv.html create mode 100644 articles/LCPublicAPI/api/Data-Bridge-API.v1.json create mode 100644 articles/LCPublicAPI/api/Data-Bridge-API.v1.md create mode 100644 articles/LCPublicAPI/docs/data-bridge/Data-Bridge-Introduction.md create mode 100644 articles/LCPublicAPI/docs/data-bridge/Data-Sets.md create mode 100644 articles/LCPublicAPI/docs/data-bridge/OData-Query-Guide.md create mode 100644 articles/LCPublicAPI/docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md diff --git a/articles/LCPublicAPI/api/Data-Bridge-API.v1-fv.html b/articles/LCPublicAPI/api/Data-Bridge-API.v1-fv.html new file mode 100644 index 0000000..56ec22b --- /dev/null +++ b/articles/LCPublicAPI/api/Data-Bridge-API.v1-fv.html @@ -0,0 +1,73 @@ + + + + + Data Bridge API Documentation + + + + + + + + +
+ ← Back to Documentation +
+ + + + + \ No newline at end of file diff --git a/articles/LCPublicAPI/api/Data-Bridge-API.v1.json b/articles/LCPublicAPI/api/Data-Bridge-API.v1.json new file mode 100644 index 0000000..b31e370 --- /dev/null +++ b/articles/LCPublicAPI/api/Data-Bridge-API.v1.json @@ -0,0 +1,8336 @@ +{ + "openapi": "3.1.0", + "x-stoplight": { + "id": "99245a6f1a8b3" + }, + "info": { + "title": "Trados Data Bridge API", + "version": "1.0", + "description": "The Trados Data Bridge API.", + "contact": {} + }, + "servers": [ + { + "url": "https://api.eu.cloud.trados.com/data-api/v1", + "description": "EU Region Server" + }, + { + "url": "https://api.ca.cloud.trados.com/data-api/v1", + "description": "CA Region Server" + } + ], + "tags": [ + { + "name": "File Translation Status Data Set", + "description": "File Translation Status Data Set" + }, + { + "name": "Language Revenue Details Data Set", + "description": "Language Revenue Details Data Set" + }, + { + "name": "Language Revenues Data Set", + "description": "Language Revenues Data Set" + }, + { + "name": "Task Status Data Set", + "description": "Task Status Data Set" + }, + { + "name": "Translation Leverage Data Set", + "description": "Translation Leverage Data Set" + }, + { + "name": "Translation Quality Evaluation Data Set", + "description": "Translation Quality Evaluation Data Set" + }, + { + "name": "Vendor Costs Data Set", + "description": "Vendor Costs Data Set" + } + ], + "paths": { + "/fts/file-translation-statuses": { + "get": { + "summary": "List File Translation Metrics", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFileTranslationMetrics", + "description": "Endpoint to fetch file translation status metrics, including item count and details.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "ewt80yfhs7pra" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "fg5kkmeofdwma" + }, + "items": { + "$ref": "#/components/schemas/fact-fts", + "x-stoplight": { + "id": "ljku7ow2vvpny" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "0i2egklq27ujm" + } + }, + "parameters": [] + }, + "/fts/projects": { + "get": { + "summary": "List FTS Project Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSProjectDimension", + "description": "Retrieves the project dimension present in the file translation status dataset.", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "number", + "x-stoplight": { + "id": "czzt762fllpa5" + }, + "default": 0 + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "29by18tjd7l2t" + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "htnoecnhmp89l" + } + } + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "x-stoplight": { + "id": "n10x3jiu55ecw" + } + } + }, + "/fts/customers": { + "get": { + "summary": "List FTS Customer Dimension", + "operationId": "ListFTSCustomerDimension", + "tags": [ + "File Translation Status Data Set" + ], + "description": "Retrieves the customer dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "06xcxd48n6b8x" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "wc9bivpffu606" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "duob2eyyblqzg" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "yr0wamil3dx3a" + } + } + }, + "/fts/language-pairs": { + "get": { + "summary": "List FTS Language Pair Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSLanguagePairDimension", + "description": "Retrieves the language pair dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "6a4yj3lm2bnv0" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "mvhrtilalxlr4" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "d8g9frsr879tv" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "tllsox5iz99ct" + } + } + }, + "/fts/source-files": { + "get": { + "summary": "List FTS Source File Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSSourceFileDimension", + "description": "Retrieves the source file dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "cg998acog1fkf" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "xeqd5ah8n8duy" + }, + "items": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "w1i4fe4xchzwv" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "l3nqn7380gmvh" + } + } + }, + "/fts/project-creation-dates": { + "get": { + "summary": "List FTS Project Creation Date Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSProjectCreationDateDimension", + "description": "Retrieves the project creation date dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "0elgejiyuov0f" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "wo7tp3uil6a0y" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "k5am7el4cgaf8" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "k049s6w993rzg" + } + } + }, + "/fts/translation-dates": { + "get": { + "summary": "List FTS Translation Date Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSTranslationDateDimension", + "description": "Retrieves the translation date dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "q3d312skt1oeq" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "4u2yqd0zmmt0b" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "gli0mvzsa5hwl" + } + } + } + } + } + } + }, + "description": "" + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "hfgystwoeq6qj" + } + } + }, + "/fts/translators": { + "get": { + "summary": "List FTS Translator Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSTranslatorDimension", + "description": "Retrieves the translator dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "qrcmdoe4yk8gb" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "zbdgyxs5r01be" + }, + "items": { + "$ref": "#/components/schemas/dim-translator", + "x-stoplight": { + "id": "igusjpclelbjv" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "3v735ipp8n13m" + } + } + }, + "/fts/review-dates": { + "get": { + "summary": "List FTS Review Date Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSReviewDateDimension", + "description": "Retrieves the review date dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "dlrxj1jkttiht" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "8rs5of8mwuwch" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "1a9l4d7apr7z1" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "kutxxxe8tmp72" + } + } + }, + "/fts/reviewers": { + "get": { + "summary": "List FTS Reviewer Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSReviewerDimension", + "description": "Retrieves the linguistic reviewer dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "pqr2i33pek3yf" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "p6mc5kkl0nt8q" + }, + "items": { + "$ref": "#/components/schemas/dim-reviewer", + "x-stoplight": { + "id": "d3f0pnl42am03" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "2hpywe98wzok6" + } + } + }, + "/fts/customer-review-dates": { + "get": { + "summary": "List FTS Customer Review Date Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSCustomerReviewDateDimension", + "description": "Retrieves the customer review date dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "of9yowi1zvwnv" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "acji8ccoyrzrw" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "tldh4y2eeyarx" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "redilqpktx4td" + } + } + }, + "/fts/customer-reviewers": { + "get": { + "summary": "List FTS Customer Reviewer Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSCustomerReviewerDimension", + "description": "Retrieves the customer reviewer dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "9341z7kfd1du4" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "1k6nwdpy0rzy9" + }, + "items": { + "$ref": "#/components/schemas/dim-customer-reviewer", + "x-stoplight": { + "id": "uq22vt2xqmuyq" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "hqwyasr8weirm" + } + } + }, + "/fts/finalization-dates": { + "get": { + "summary": "List FTS Finalization Date Dimension", + "tags": [ + "File Translation Status Data Set" + ], + "operationId": "ListFTSFinalizationDateDimension", + "description": "Retrieves the finalization date dimension present in the file translation status dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "h71yaxhpgn840" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "ot0jxidlb7ggc" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "a2yyfw10lh07u" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "snrplnvrpt3zj" + } + } + }, + "/task-status/task-statuses": { + "get": { + "summary": "List Task Status Metrics", + "operationId": "ListTaskStatusMetrics", + "description": "Endpoint to fetch task status metrics.\r\n\r\n", + "tags": [ + "Task Status Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "1poawq2phcwua" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "ka5z4c83mq2e2" + }, + "items": { + "$ref": "#/components/schemas/fact-task-status", + "x-stoplight": { + "id": "1hzf6oj5i1dab" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "x5fhvnpoon0ly" + } + } + }, + "/task-status/customers": { + "get": { + "summary": "List Task Status Customer Dimension", + "operationId": "ListTaskStatusCustomerDimension", + "description": "Retrieves the customer dimension present in the Task Status dataset.\r\n\r\n", + "x-stoplight": { + "id": "d5nv1zhbzrmmr" + }, + "tags": [ + "Task Status Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "20zd4iij11igm" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "x9mryupljw2br" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "hxh89ueglo3v3" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/language-pairs": { + "get": { + "summary": "List Task Status Language Pair Dimension", + "operationId": "ListTaskStatusLanguagePairDimension", + "description": "Retrieves the language pair dimension present in the Task Status dataset.\r\n\r\n", + "tags": [ + "Task Status Data Set" + ], + "x-stoplight": { + "id": "yo6fvs55m0yf4" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "nj9lcuawo1ydx" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "9sn9ilrp5praf" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "xeb313ksba378" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/projects": { + "get": { + "summary": "List Task Status Project Dimension", + "operationId": "ListTaskStatusProjectDimension", + "description": "Retrieves the project dimension present in task status dataset.\r\n\r\n", + "tags": [ + "Task Status Data Set" + ], + "x-stoplight": { + "id": "w4b26wdtcu6sw" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "rq1lyazra03mz" + } + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "q7bd6eb0dtbux" + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/source-files": { + "get": { + "summary": "List Task Status Source File Dimension", + "operationId": "ListTaskStatusSourceFileDimension", + "description": "Retrieves the source file dimension present in the Task Status dataset.\r\n\r\n", + "tags": [ + "Task Status Data Set" + ], + "x-stoplight": { + "id": "qq8yjoje5asm2" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "knrt6klvcrc9y" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "o5j1un1tx5b77" + }, + "items": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "qq4mtyc0num6u" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/task-owners": { + "get": { + "summary": "List Task Status Task Owner Dimension", + "operationId": "ListTaskStatusTaskOwnerDimension", + "description": "Retrieves the task owner dimension present in the Task Status dataset.\r\n", + "tags": [ + "Task Status Data Set" + ], + "x-stoplight": { + "id": "rh7h8v3k0uw9h" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "5ft444xymql36" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "jzi7fgztw3n0z" + }, + "items": { + "$ref": "#/components/schemas/dim-owner", + "x-stoplight": { + "id": "z5f0xluufu2iv" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/task-types": { + "get": { + "summary": "List Task Status Task Type Dimension", + "operationId": "ListTaskStatusTaskTypeDimension", + "description": "Retrieves the task types dimension present in the Task Status dataset.\r\n", + "tags": [ + "Task Status Data Set" + ], + "x-stoplight": { + "id": "fw5aujk7hbvwh" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "mmjawamcw7809" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "gm6q0zfgeyzo5" + }, + "items": { + "$ref": "#/components/schemas/dim-task-types", + "x-stoplight": { + "id": "r6szcce7ygpne" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/task-status/task-states": { + "get": { + "summary": "List Task Status Task State Dimension", + "operationId": "ListTaskStatusTaskStateDimension", + "description": "Retrieves the task states dimension present in the Task Status dataset.\r\n", + "tags": [ + "Task Status Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/dim-task-states" + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "7a5yhhbbzmsg9" + } + } + }, + "/vendor-costs/vendor-costs": { + "get": { + "summary": "List Vendor Costs Metrics", + "operationId": "ListVendorCostsMetrics", + "description": "Endpoint to fetch vendor costs metrics, including item count and details", + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "l8c655gip23fm" + } + }, + "items": { + "x-stoplight": { + "id": "jytr6dwhwclo8" + }, + "type": "array", + "items": { + "$ref": "#/components/schemas/fact-vendor-costs", + "x-stoplight": { + "id": "mr7e6ne184dpj" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "o1tfv8jok498q" + } + } + }, + "/vendor-costs/projects": { + "get": { + "summary": "List Vendor Costs Project Dimension", + "operationId": "ListVendorCostsProjectDimension", + "description": "Retrieves the project dimensions present in the vendor costs dataset.\r\n\r\n", + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "45fx3i5pmzcif" + } + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "em2q7kgwaagej" + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "zdq0rvoxl6gba" + } + } + }, + "/vendor-costs/customers": { + "get": { + "summary": "List Vendor Costs Customer Dimension", + "operationId": "ListVendorCostsCustomerDimension", + "description": "Retrieves the customer dimensions present in the vendor costs dataset.\r\n\r\n", + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "jecfbgtzikws5" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "3vfqogcf6mtk9" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "lg1ek9x3jsicf" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "jhqck3dcecbxp" + } + } + }, + "/vendor-costs/language-pairs": { + "get": { + "summary": "List Vendor Costs Language Pair Dimension", + "operationId": "ListVendorCostsLanguagePairDimension", + "description": "Retrieves the language pair dimension present in the vendor costs dataset.\r\n\r\n", + "x-stoplight": { + "id": "rtg5h3anu94k9" + }, + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "cldc3o6vi5319" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "9jev5ffz9xhms" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "gp19ltehox0b2" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/vendor-costs/currencies": { + "get": { + "summary": "List Vendor Costs Currency Dimension", + "operationId": "ListVendorCostsCurrencyDimension", + "description": "Retrieves the currency dimension present in the vendor costs dataset.\r\n\r\n", + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "n8r4ec3uo4wl3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "7v10e9x5bgq2m" + }, + "items": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "1r1fj0molmqj8" + } + } + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "x-stoplight": { + "id": "bw8a55jxogzea" + } + } + }, + "/vendor-costs/vendor-order-templates": { + "get": { + "summary": "List Vendor Costs Order Template Dimension", + "operationId": "ListVendorCostsOrderTemplateDimension", + "description": "Retrieves the vendor order template dimension present in the vendor costs dataset.\r\n", + "x-stoplight": { + "id": "x3ls0cng8e2m5" + }, + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "1h7h5lewreovk" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "au02sx56m3d5q" + }, + "items": { + "$ref": "#/components/schemas/dim-vendor-order-template", + "x-stoplight": { + "id": "l8l8wh9oopkgu" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/vendor-costs/service-types": { + "get": { + "summary": "List Vendor Costs Service Type Dimension", + "operationId": "ListVendorCostsServiceTypeDimension", + "description": "Retrieves the service types dimension present in the vendor costs dataset.\r\n", + "x-stoplight": { + "id": "c7ph3gwztp4fq" + }, + "tags": [ + "Vendor Costs Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "x32t5yf9lwk3o" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "omnll03q8q45q" + }, + "items": { + "$ref": "#/components/schemas/dim-service-types", + "x-stoplight": { + "id": "k564z9p5y5wgr" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/translation-quality-evaluations": { + "get": { + "summary": "List Translation Quality Evaluation Metrics", + "operationId": "ListTranslationQualityEvaluationMetrics", + "x-stoplight": { + "id": "8g0jhj8szruix" + }, + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "description": "Endpoint to fetch translation quality evaluation (TQE) metrics.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "mes1hd6gp4a7w" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "of2pd1r03iti0" + }, + "items": { + "$ref": "#/components/schemas/fact-tqe", + "x-stoplight": { + "id": "kr584szhus68t" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/projects": { + "get": { + "summary": "List TQE Project Dimension", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "operationId": "ListTQEProjectDimension", + "description": "Retrieves the project dimension present in the Translation Quality Evaluation(TQE) dataset.", + "x-stoplight": { + "id": "q2ip1fe9aisqt" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "q4ro2lh13mu29" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "sger5idzekmtt" + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "ls56v8ek5z4x0" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/customers": { + "get": { + "summary": "List TQE Customer Dimension", + "operationId": "ListTQECustomerDimension", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "description": "Retrieves the customer dimension present in the Translation Quality Evaluation(TQE) dataset.", + "x-stoplight": { + "id": "2qltuek7dypkd" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "uzkvcxculd9v6" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "3lczer4ck0hzs" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "vg99igj6z2bvc" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/language-pairs": { + "get": { + "summary": "List TQE Language Pair Dimension", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "operationId": "ListTQELanguagePairDimension", + "description": "Retrieves the language pair dimension present in the Translation Quality Evaluation(TQE) dataset.", + "x-stoplight": { + "id": "87un8zeddsx3t" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "ceozg8sizadgm" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "u3de31tud14bg" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "ipbzdefdatjcx" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/source-files": { + "get": { + "summary": "List TQE Source File Dimension", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "operationId": "ListTQESourceFileDimension", + "description": "Retrieves the source file dimension present in the Translation Quality Evaluation(TQE) dataset.", + "x-stoplight": { + "id": "memcg6h8lmklr" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "q8tsfpvjyvc3h" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "nvvkr510e1q7b" + }, + "items": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "86zvqpfb3yrmw" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/linguists": { + "get": { + "summary": "List TQE Linguist Dimension", + "operationId": "ListTQELinguistDimension", + "description": "Retrieves the Linguist dimension present in the Translation Quality Evaluation(TQE) dataset.", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "x-stoplight": { + "id": "63r6bqv1wdrqv" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "pjqc2xl1txq2r" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "pv2u2cjiiqlf0" + }, + "items": { + "$ref": "#/components/schemas/dim-linguist", + "x-stoplight": { + "id": "5lz0hb1lck5gj" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/final-translation-origins": { + "get": { + "summary": "List TQE Final Translation Origin Dimension", + "operationId": "ListTQEFinalTranslationOriginDimension", + "description": "Retrieves the Final Translation origin dimension present in the Translation Quality Evaluation(TQE) dataset.", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "x-stoplight": { + "id": "9bcx0xskaps6x" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "iyizsd7u3qhnh" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "oylf62xdrjpwv" + }, + "description": "Final Translation Origin dimension\r\n\r\n", + "items": { + "$ref": "#/components/schemas/dim-translation-origin", + "x-stoplight": { + "id": "69iinhzm9tsrp" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/original-translation-origins": { + "get": { + "summary": "List TQE Original Translation Origin Dimension", + "operationId": "ListTQEOriginalTranslationOriginDimension", + "description": "Retrieves the Original Translation origin dimension present in the Translation Quality Evaluation(TQE) dataset.", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "x-stoplight": { + "id": "d25g35t239m3d" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "u0vspzqlap3y0" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "473116hq46tp5" + }, + "description": "Original Translation Origin dimension\r\n\r\n", + "items": { + "$ref": "#/components/schemas/dim-translation-origin", + "x-stoplight": { + "id": "3vyyqttbs6ubb" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/translation-quality-evaluation-categories": { + "get": { + "summary": "List TQE Evaluation Category Dimension", + "operationId": "ListTQEEvaluationCategoryDimension", + "description": "Retrieves the Translation Quality Evaluation Category dimension present in the Translation Quality Evaluation(TQE) dataset.", + "x-stoplight": { + "id": "v1wwcy5qjjrrq" + }, + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "k7yeqbt6jj3vr" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "16o13w5cge8c4" + }, + "items": { + "$ref": "#/components/schemas/dim-tqe-category", + "x-stoplight": { + "id": "a5it6tcrsdrnp" + } + } + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + } + } + }, + "/tqe/task-types": { + "get": { + "summary": "List TQE Task Type Dimension", + "operationId": "ListTQETaskTypeDimension", + "description": "Retrieves the Task Types dimension present in the Translation Quality Evaluation(TQE) dataset.", + "tags": [ + "Translation Quality Evaluation Data Set" + ], + "x-stoplight": { + "id": "euhgjsl66bseu" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "whru8s6o3yem6" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "dzie4ucoy7ef5" + }, + "items": { + "$ref": "#/components/schemas/dim-task-types", + "x-stoplight": { + "id": "rgyb8tfphudkw" + } + } + } + } + } + } + } + }, + "400": { + "description": "Bad Request" + }, + "401": { + "description": "Unauthorized" + }, + "403": { + "description": "Forbidden" + }, + "500": { + "description": "Internal Server Error" + } + } + } + }, + "/language-revenue-details/language-revenue-details": { + "get": { + "summary": "List Language Revenue Details Metrics", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "string", + "x-stoplight": { + "id": "eqamuvresax6d" + } + }, + "items": { + "x-stoplight": { + "id": "qs6mpwcvnrgwj" + }, + "type": "array", + "items": { + "$ref": "#/components/schemas/fact-language-revenue-details", + "x-stoplight": { + "id": "d06apvbcejhbt" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": "string", + "items": [ + { + "quoteDateId": 20240203, + "customerId": 132445, + "projectId": 123467, + "languagePairId": 678954, + "revenueTypeId": 23940, + "currencyId": 59, + "projectCreationDateId": 20240202, + "numberOfUnits": 100, + "revenue": 0.7 + } + ] + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsMetrics", + "x-stoplight": { + "id": "wsp4t9mxcznzq" + }, + "description": "Retrieves the revenue details metrics present in the language revenue details dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "tags": [ + "Language Revenue Details Data Set" + ] + } + }, + "/language-revenue-details/projects": { + "get": { + "summary": "List Language Revenue Details Project Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "ni14siafobgfw" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "w2ust3jfym8r3" + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "ldunkekewke44" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 11, + "projectId": "uuid", + "projectShortId": 11, + "projectName": "Test", + "projectDescription": "", + "projectLocationId": "3f7e792b23d5494f8ce8fb73f796dbc7", + "projectGroupId": "groupid", + "projectGroupShortId": 1, + "projectGroupName": "Test group", + "projectStatus": "in_progress", + "projectTemplateId": "templateuuid", + "projectTemplateName": "Template test", + "originSystem": "LCUI", + "sourceLanguage": "en-EN", + "targetLanguages": "fr-FR", + "createdAt": "2023-11-21T09:59:54Z", + "quoteCreatedAt": "9999-12-31T00:00:00Z", + "quoteApprovedAt": "2499-12-31T00:00:00Z", + "completedAt": "2499-12-31T00:00:00Z", + "dueAt": "2023-11-28T11:00:36Z", + "deliveredAt": "9999-12-31T00:00:00Z", + "projectSegmentCount": 6, + "projectWordCount": 21, + "projectCharacterCount": 70, + "projectFileCount": 1, + "projectRevenue": 0, + "projectSavings": 0, + "projectCurrencyCode": "EUR", + "deliveryTimeDiff": 0, + "onTimeStatus": "VERY_EARLY", + "projectCreatorName": "Test", + "projectCreatorId": "31231231231", + "deleted": false, + "customFields": "cf1=abc" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsProjectDimension", + "x-stoplight": { + "id": "tg7ng44t3also" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the projects present in the language revenue details dataset." + } + }, + "/language-revenue-details/customers": { + "get": { + "summary": "List Language Revenue Details Customer Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "u549qr6lkusro" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "puseim18xi4ur" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "3mrwgbjqaqtgz" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 123, + "customerId": "abc123abc123abc123", + "customerLocationId": "locationid", + "customerName": "Customer name", + "createdBy": "N/A", + "createdAt": "2023-04-11T10:30:50Z", + "keyContactId": "contactId", + "keyContactEmail": "contact email", + "ragStatusName": "Green", + "customFields": "custom field=abc", + "deleted": false + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsCustomerDimension", + "x-stoplight": { + "id": "he1svruzn3xsa" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the customers present in the language revenue details dataset." + }, + "parameters": [] + }, + "/language-revenue-details/language-pairs": { + "get": { + "summary": "List Language Revenue Details Language Pair Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "iv29my38xb32i" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "n52iypx1gsycm" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "4u9nyeddl36fk" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 1, + "sourceLanguageCode": "en-GI", + "sourceEnglishName": "English (Gibraltar)", + "sourceParentLanguageCode": "en", + "targetLanguageCode": "tk", + "targetEnglishName": "Turkmen", + "targetParentLanguageCode": "N/A" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsLanguagePairDimension", + "x-stoplight": { + "id": "c8gn0ia2xr7zu" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the language pairs present in the language revenue details dataset." + } + }, + "/language-revenue-details/revenue-types": { + "get": { + "summary": "List Language Revenue Details Revenue Type Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "0otlyp021krsy" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "rri61298kj3nw" + }, + "items": { + "$ref": "#/components/schemas/dim-revenue-type", + "x-stoplight": { + "id": "ow1buzt9r8q5j" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 0, + "items": [ + { + "internalId": 2, + "name": "0.25 hours for minimum charge", + "category": "language", + "type": "Hourly", + "unit": "Hour" + } + ] + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsRevenueTypeDimension", + "x-stoplight": { + "id": "wbas6g4idlhwr" + }, + "description": "Retrieves the revenue types present in the language revenue details dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ] + }, + "parameters": [] + }, + "/language-revenue-details/quote-dates": { + "get": { + "summary": "List Language Revenue Details Quote Date Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "chvpq6pyjme3s" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "fcnb8rhvsc3ew" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "y9lecghp0i1e5" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 20000101, + "year": 2000, + "month": 1, + "day": 1, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "January", + "dayOfYear": 1, + "quarter": 1, + "yearNumber": "2000", + "monthNumber": "1", + "fullDate": "2000-01-01" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsQuoteDateDimension", + "x-stoplight": { + "id": "r7tf64dos46sw" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the quote dates present in the language revenue details dataset." + } + }, + "/language-revenue-details/project-creation-dates": { + "get": { + "summary": "List Language Revenue Details Project Creation Date Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "1iypfsp1f02p2" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "wwg1vh5r8ay7s" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "szenap43rry9c" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 20000101, + "year": 2000, + "month": 1, + "day": 1, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "January", + "dayOfYear": 1, + "quarter": 1, + "yearNumber": "2000", + "monthNumber": "1", + "fullDate": "2000-01-01" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsProjectCreationDateDimension", + "x-stoplight": { + "id": "x6dib4rrfndin" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the project creation dates present in the language revenue details dataset." + } + }, + "/language-revenue-details/currencies": { + "get": { + "summary": "List Language Revenue Details Currency Dimension", + "tags": [ + "Language Revenue Details Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "tl9llpj7yk2d6" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "uqrcqo0eq6lbe" + }, + "items": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "pjt30zexotw05" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 698582, + "name": "Euro", + "code": "EUR", + "symbol": "€" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueDetailsCurrencyDimension", + "x-stoplight": { + "id": "f60nixd20thnl" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the currencies present in the language revenue details dataset." + } + }, + "/language-revenues/customers": { + "get": { + "summary": "List Language Revenues Customer Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "ad39q24bvwvjn" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "ophltdj39qa3s" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "qkl4n7ozag38k" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 123, + "customerId": "abc123abc123abc123", + "customerLocationId": "locationid", + "customerName": "Customer name", + "createdBy": "N/A", + "createdAt": "2023-04-11T10:30:50Z", + "keyContactId": "contactId", + "keyContactEmail": "contact email", + "ragStatusName": "Green", + "customFields": "custom field=abc", + "deleted": false + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesCustomerDimension", + "x-stoplight": { + "id": "q4ss4tmx9sfdy" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the customers present in the language revenues dataset." + } + }, + "/language-revenues/projects": { + "get": { + "summary": "List Language Revenues Projects Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "ogq1y21pikfzy" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "rkuij34nj8fax" + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "nlxcpfc8skx2c" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 11, + "projectId": "uuid", + "projectShortId": 11, + "projectName": "Test", + "projectDescription": "", + "projectLocationId": "3f7e792b23d5494f8ce8fb73f796dbc7", + "projectGroupId": "groupid", + "projectGroupShortId": 1, + "projectGroupName": "Test group", + "projectStatus": "in_progress", + "projectTemplateId": "templateuuid", + "projectTemplateName": "Template test", + "originSystem": "LCUI", + "sourceLanguage": "en-EN", + "targetLanguages": "fr-FR", + "createdAt": "2023-11-21T09:59:54Z", + "quoteCreatedAt": "9999-12-31T00:00:00Z", + "quoteApprovedAt": "2499-12-31T00:00:00Z", + "completedAt": "2499-12-31T00:00:00Z", + "dueAt": "2023-11-28T11:00:36Z", + "deliveredAt": "9999-12-31T00:00:00Z", + "projectSegmentCount": 6, + "projectWordCount": 21, + "projectCharacterCount": 70, + "projectFileCount": 1, + "projectRevenue": 0, + "projectSavings": 0, + "projectCurrencyCode": "EUR", + "deliveryTimeDiff": 0, + "onTimeStatus": "VERY_EARLY", + "projectCreatorName": "Test", + "projectCreatorId": "31231231231", + "deleted": false, + "customFields": "cf=abc" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesProjectsDimension", + "x-stoplight": { + "id": "1w4wg6dt7kfds" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the projects present in the language revenues dataset." + } + }, + "/language-revenues/language-pairs": { + "get": { + "summary": "List Language Revenues Language Pair Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "tzfcfx8mv4t9y" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "cf86yqcrusucu" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "i7cnwzfkit6so" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 123, + "sourceLanguageCode": "en-US", + "sourceEnglishName": "English (United States)", + "sourceParentLanguageCode": "en", + "targetLanguageCode": "ro-RO", + "targetEnglishName": "Româna(România)", + "targetParentLanguageCode": "ro" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesLanguagePairDimension", + "x-stoplight": { + "id": "w4zv7iq52ok2m" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the language pairs present in the language revenues dataset." + } + }, + "/language-revenues/approve-dates": { + "get": { + "summary": "List Language Revenues Approve Date Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "mum7mpxfywm6c" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "8kj68ihm87l83" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "hpyea0aod6l4h" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 20240203, + "year": 2024, + "month": 2, + "day": 3, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "February", + "dayOfYear": 34, + "quarter": 1, + "yearNumber": "2024", + "monthNumber": "02", + "fullDate": "2024-02-04" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesApproveDateDimension", + "x-stoplight": { + "id": "ikcghqfid9s8q" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the approve dates present in the language revenues dataset." + } + }, + "/language-revenues/quote-dates": { + "get": { + "summary": "List Language Revenues Quote Date Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "a34d83d7ct4tx" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "fdemt05uh714t" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "jfzwji0on5e1g" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 20240203, + "year": 2024, + "month": 2, + "day": 3, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "February", + "dayOfYear": 34, + "quarter": 1, + "yearNumber": "2024", + "monthNumber": "02", + "fullDate": "2024-02-04" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesQuoteDateDimension", + "x-stoplight": { + "id": "ssk89brj5ceq9" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the quote dates present in the language revenues dataset." + } + }, + "/language-revenues/language-revenues": { + "get": { + "summary": "List Language Revenues Metrics", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/fact-language-revenues", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 0, + "items": [ + { + "customerId": 123, + "projectId": 23432, + "languagePairId": 34890, + "approveDateId": 20240129, + "currencyId": 453290, + "quoteApproverId": 810908, + "quoteDateId": 20240128, + "translationPrice": 120.3, + "languagePrice": 30.21, + "projectAdditionalPrice": 0.39, + "totalRevenue": 150.9, + "savings": 12.44, + "wordCount": 230, + "files": 1 + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesMetrics", + "x-stoplight": { + "id": "wojzayo42r216" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "description": "Retrieves the revenue metrics present in the language revenues dataset." + } + }, + "/language-revenues/currencies": { + "get": { + "summary": "List Language Revenues Currency Dimension", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "1djlu8ry1htip" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "5lkmufrdncsk6" + }, + "items": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "4l3c4tdaejc10" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 21389, + "name": "US Dollar", + "code": "USD", + "symbol": "$" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenuesCurrencyDimension", + "x-stoplight": { + "id": "htenx9zrq9ao3" + }, + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the currencies present in the language revenues dataset." + } + }, + "/language-revenues/quote-approver": { + "get": { + "summary": "List Language Revenue Quote Approver", + "tags": [ + "Language Revenues Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "yjxygm2fgwdyd" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "74qqt5fa8p735" + }, + "items": { + "$ref": "#/components/schemas/dim-quote-approver", + "x-stoplight": { + "id": "kep1nvd5cc7j8" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 0, + "items": [ + { + "internalId": 1234567, + "accountUserId": "423e18f01573f2d6", + "accountId": "d65315e82ec604b7", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "57d39d0b88319631", + "membership": "MEMBER", + "status": "ACTIVE", + "authorId": "5cba149cb5f78fe6", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListLanguageRevenueQuoteApprover", + "x-stoplight": { + "id": "05mt4zhgp6i0l" + }, + "description": "Retrieves the quote approvers present in the language revenues dataset.", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ] + } + }, + "/translation-leverages/translation-leverages": { + "get": { + "summary": "List Translation Leverages Metrics", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/fact-translation-leverage", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 0, + "items": [ + { + "translationDateId": 20240101, + "translationTime": 1435, + "accountId": 123, + "projectId": 122, + "customerId": 1234, + "languagePairId": 810908, + "sourceFileId": 20240128, + "bandId": 120, + "characterCount": 30, + "wordCount": 39, + "segmentCount": 150, + "bandCharacters": 12, + "bandWords": 14, + "bandSegments": 1, + "canceled": false + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationLeveragesMetrics", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "description": "Retrieves the translation leverages metrics present in the translation leverages dataset.", + "x-stoplight": { + "id": "7omi2vwf25a6b" + } + } + }, + "/translation-leverages/translation-dates": { + "get": { + "summary": "List Translation Leverages Translation Dates", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 20240203, + "year": 2024, + "month": 2, + "day": 3, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "February", + "dayOfYear": 34, + "quarter": 1, + "yearNumber": "2024", + "monthNumber": "02", + "fullDate": "2024-02-04" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationLeveragesTranslationDates", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the translation dates present in the translation leverages dataset.", + "x-stoplight": { + "id": "wlxgkc1kc2ay0" + } + } + }, + "/translation-leverages/projects": { + "get": { + "summary": "List Translations Leverages Projects", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 11, + "projectId": "uuid", + "projectShortId": 11, + "projectName": "Test", + "projectDescription": "", + "projectLocationId": "3f7e792b23d5494f8ce8fb73f796dbc7", + "projectGroupId": "groupid", + "projectGroupShortId": 1, + "projectGroupName": "Test group", + "projectStatus": "in_progress", + "projectTemplateId": "templateuuid", + "projectTemplateName": "Template test", + "originSystem": "LCUI", + "sourceLanguage": "en-EN", + "targetLanguages": "fr-FR", + "createdAt": "2023-11-21T09:59:54Z", + "quoteCreatedAt": "9999-12-31T00:00:00Z", + "quoteApprovedAt": "2499-12-31T00:00:00Z", + "completedAt": "2499-12-31T00:00:00Z", + "dueAt": "2023-11-28T11:00:36Z", + "deliveredAt": "9999-12-31T00:00:00Z", + "projectSegmentCount": 6, + "projectWordCount": 21, + "projectCharacterCount": 70, + "projectFileCount": 1, + "projectRevenue": 0, + "projectSavings": 0, + "projectCurrencyCode": "EUR", + "deliveryTimeDiff": 0, + "onTimeStatus": "VERY_EARLY", + "projectCreatorName": "Test", + "projectCreatorId": "31231231231", + "deleted": false, + "customFields": "cf=abc" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationsLeveragesProjects", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the project dimension present in the translation leverages dataset.", + "x-stoplight": { + "id": "fye14g6491dff" + } + } + }, + "/translation-leverages/customers": { + "get": { + "summary": "List Translations Leverages Customers", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 123, + "customerId": "abc123abc123abc123", + "customerLocationId": "locationid", + "customerName": "Customer name", + "createdBy": "N/A", + "createdAt": "2023-04-11T10:30:50Z", + "keyContactId": "contactId", + "keyContactEmail": "contact email", + "ragStatusName": "Green", + "customFields": "custom field=abc", + "deleted": false + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationsLeveragesCustomers", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the customers dimension present in the translation leverages dataset.", + "x-stoplight": { + "id": "0ljm8rmscngke" + } + } + }, + "/translation-leverages/language-pairs": { + "get": { + "summary": "List Translations Leverages Language Pairs", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 123, + "sourceLanguageCode": "en-US", + "sourceEnglishName": "English (United States)", + "sourceParentLanguageCode": "en", + "targetLanguageCode": "ro-RO", + "targetEnglishName": "Româna(România)", + "targetParentLanguageCode": "ro" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationsLeveragesLanguagePairs", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the language pair dimension present in the translation leverages dataset.", + "x-stoplight": { + "id": "fyftjnmfbk8ph" + } + } + }, + "/translation-leverages/source-files": { + "get": { + "summary": "List Translations Leverages Source Files", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 1, + "sourceFileId": "abcd0001", + "projectId": "proj001", + "projectName": "Project Alpha", + "fileName": "AlphaFile.txt", + "sourceFileLocationId": "location123", + "fileTypeSettingsId": "settings123", + "fileRole": "translatable", + "batch": 1, + "sourceFileSegmentCount": 10, + "sourceFileWordCount": 150, + "sourceFileCharacterCount": 600, + "creationAt": "2024-01-01T00:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationsLeveragesSourceFiles", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + } + ], + "description": "Retrieves the source file dimension present in the translation leverages dataset.", + "x-stoplight": { + "id": "6g8p17bni7qjn" + } + } + }, + "/translation-leverages/leverage-bands": { + "get": { + "summary": "List Translations Leverages Leverage Bands", + "tags": [ + "Translation Leverage Data Set" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "itemCount": { + "type": "integer", + "x-stoplight": { + "id": "meqmil22py5e3" + } + }, + "items": { + "type": "array", + "x-stoplight": { + "id": "hs9sz7y5zbj33" + }, + "items": { + "$ref": "#/components/schemas/dim-leverage-band", + "x-stoplight": { + "id": "m5szfzj5ka57e" + } + } + } + } + }, + "examples": { + "Example 1": { + "value": { + "itemCount": 1, + "items": [ + { + "internalId": 1, + "bandName": "In-Context Match" + } + ] + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/error-model-400" + }, + "401": { + "$ref": "#/components/responses/error-model-401" + }, + "403": { + "$ref": "#/components/responses/error-model-403" + } + }, + "operationId": "ListTranslationsLeveragesLeverageBands", + "parameters": [ + { + "$ref": "#/components/parameters/Authorization" + }, + { + "$ref": "#/components/parameters/X-LC-Tenant" + }, + { + "$ref": "#/components/parameters/filter" + }, + { + "$ref": "#/components/parameters/top" + }, + { + "$ref": "#/components/parameters/skip" + }, + { + "$ref": "#/components/parameters/count" + }, + { + "$ref": "#/components/parameters/expand" + } + ], + "description": "Retrieves the leverage bands dimension present in the translation leverages dataset.", + "x-stoplight": { + "id": "juyt2hzpppf0t" + } + } + } + }, + "components": { + "schemas": { + "dim-project": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 11, + "projectId": "uuid", + "projectShortId": 11, + "projectName": "Test", + "projectDescription": "", + "projectLocationId": "3f7e792b23d5494f8ce8fb73f796dbc7", + "projectGroupId": "groupid", + "projectGroupShortId": 1, + "projectGroupName": "Test group", + "projectStatus": "in_progress", + "projectTemplateId": "templateuuid", + "projectTemplateName": "Template test", + "originSystem": "LCUI", + "sourceLanguage": "en-EN", + "targetLanguages": "fr-FR", + "createdAt": "2023-11-21T09:59:54Z", + "quoteCreatedAt": "9999-12-31T00:00:00Z", + "quoteApprovedAt": "2499-12-31T00:00:00Z", + "completedAt": "2499-12-31T00:00:00Z", + "dueAt": "2023-11-28T11:00:36Z", + "deliveredAt": "9999-12-31T00:00:00Z", + "projectSegmentCount": 6, + "projectWordCount": 21, + "projectCharacterCount": 70, + "projectFileCount": 1, + "projectRevenue": 0, + "projectSavings": 0, + "projectCurrencyCode": "EUR", + "deliveryTimeDiff": 0, + "onTimeStatus": "VERY_EARLY", + "projectCreatorName": "Test", + "projectCreatorId": "31231231231", + "deleted": false, + "customFields": "cf=abc" + } + }, + "description": "Project dimension", + "title": "Project Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the project." + }, + "projectId": { + "type": "string", + "description": "A unique identifier for the project, as it is in Trados Cloud Platform." + }, + "projectShortId": { + "type": "integer", + "description": "A shortened, numeric identifier for the project, assigned by Trados Cloud Platform." + }, + "projectName": { + "type": "string", + "description": "The name of the project." + }, + "projectDescription": { + "type": "string", + "description": "A detailed description of the project." + }, + "projectLocationId": { + "type": "string", + "description": "The identifier for the location where the project is based or managed." + }, + "projectGroupId": { + "type": "string", + "description": "The identifier for the project group." + }, + "projectGroupShortId": { + "type": "integer", + "description": "A shortened, numeric identifier for the project group, assigned by Trados Cloud Platform." + }, + "projectGroupName": { + "type": "string", + "description": "The name of the group responsible for the project." + }, + "projectStatus": { + "type": "string", + "description": "The current status of the project. Can have the following values: 'created','in_progress','completed','archived'.", + "enum": [ + "N/A", + "created", + "in_progress", + "completed" + ] + }, + "projectTemplateId": { + "type": "string", + "description": "The identifier for the template used to create the project." + }, + "projectTemplateName": { + "type": "string", + "description": "The name of the template used to create the project." + }, + "originSystem": { + "type": "string", + "description": "The originating system or application where the project was created." + }, + "sourceLanguage": { + "type": "string", + "description": "The source language of the project content." + }, + "targetLanguages": { + "type": "string", + "description": "The target languages for the project content, typically a comma-separated list." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the project was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "quoteCreatedAt": { + "type": "string", + "description": "The date and time when the project quote was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "quoteApprovedAt": { + "type": "string", + "description": "The date and time when the project quote was approved. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "completedAt": { + "type": "string", + "description": "The date and time when the project was completed. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "dueAt": { + "type": "string", + "description": "The due date and time for the project. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "deliveredAt": { + "type": "string", + "description": "The date and time when the project was delivered. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "projectSegmentCount": { + "type": "integer", + "description": "The total number of segments in the project." + }, + "projectWordCount": { + "type": "integer", + "description": "The total number of words in the project." + }, + "projectCharacterCount": { + "type": "integer", + "description": "The total number of characters in the project." + }, + "projectFileCount": { + "type": "integer", + "description": "The total number of files in the project." + }, + "projectRevenue": { + "type": "number", + "description": "The total revenue generated by the project.", + "format": "float" + }, + "projectSavings": { + "type": "number", + "description": "The total savings associated with the project.", + "format": "float" + }, + "projectCurrencyCode": { + "type": "string", + "description": "The currency code (e.g., USD, EUR) for the project financials." + }, + "deliveryTimeDiff": { + "type": "integer", + "description": "The difference in time between the due date and the actual delivery date, measured in seconds." + }, + "onTimeStatus": { + "type": "string", + "description": "A status indicating the punctuality of the project's delivery.", + "enum": [ + "N/A", + "VERY_EARLY", + "EARLY", + "ON_TIME", + "LATE", + "VERY_LATE" + ] + }, + "projectCreatorName": { + "type": "string", + "description": "The name of the user who created the project." + }, + "projectCreatorId": { + "type": "string", + "description": "The identifier for the user who created the project." + }, + "deleted": { + "type": "boolean", + "description": "A boolean flag indicating whether the project has been deleted." + }, + "customFields": { + "type": "string", + "description": "A string containing custom fields and values specific to the project. Format: 'customField1 = value1 | customField2 = value2'." + } + }, + "x-stoplight": { + "id": "q88adevwcd317" + } + }, + "fact-fts": { + "type": "object", + "x-stoplight": { + "id": "d04bca79e1e7a" + }, + "examples": [ + { + "projectId": 0, + "customerId": 0, + "languagePairId": 0, + "sourceFileId": 0, + "projectCreationDateId": 0, + "translationDateId": 0, + "translatorId": 0, + "reviewDateId": 0, + "reviewerId": 0, + "customerReviewDateId": 0, + "customerReviewerId": 0, + "finalizationDateId": 0, + "sourceWords": 0, + "lockedWords": 0, + "repetitionWords": 0, + "crossFileRepetitionWords": 0, + "perfectMatchWords": 0, + "inContextMatchWords": 0, + "exactMatchWords": 0, + "fuzzyMatchWords": 0, + "newMatchWords": 0, + "machineTranslationWords": 0, + "translationDuration": 0, + "humanTranslatedSegments": 0, + "humanTranslatedWords": 0, + "humanTranslatedCharacters": 0, + "reviewDuration": 0, + "reviewedSegments": 0, + "reviewedWords": 0, + "reviewedCharacters": 0, + "pipelineDuration": 0, + "isCanceled": true + } + ], + "description": "File translation status fact", + "title": "FTS Metrics", + "properties": { + "projectId": { + "type": "integer", + "description": "A unique identifier for the project associated with the file translation status." + }, + "customerId": { + "type": "integer", + "description": "A unique identifier for the customer associated with the file translation status." + }, + "languagePairId": { + "type": "integer", + "description": "A unique identifier for the language pair used in the translation." + }, + "sourceFileId": { + "type": "integer", + "description": "A unique identifier for the source file associated with the translation." + }, + "projectCreationDateId": { + "type": "integer", + "description": "A unique identifier for the date when the project was created." + }, + "translationDateId": { + "type": "integer", + "description": "A unique identifier for the date when the translation was performed." + }, + "translatorId": { + "type": "integer", + "description": "A unique identifier for the translator who performed the translation." + }, + "reviewDateId": { + "type": "integer", + "description": "A unique identifier for the date when the review was performed." + }, + "reviewerId": { + "type": "integer", + "description": "A unique identifier for the reviewer who performed the review." + }, + "customerReviewDateId": { + "type": "integer", + "description": "A unique identifier for the date when the customer review was performed." + }, + "customerReviewerId": { + "type": "integer", + "description": "A unique identifier for the customer reviewer who performed the review." + }, + "finalizationDateId": { + "type": "integer", + "description": "A unique identifier for the date when the translation was finalized." + }, + "sourceWords": { + "type": "integer", + "description": "The total number of source words in the file." + }, + "lockedWords": { + "type": "integer", + "description": "The total number of locked words in the file." + }, + "repetitionWords": { + "type": "integer", + "description": "The total number of repetition words in the file." + }, + "crossFileRepetitionWords": { + "type": "integer", + "description": "The total number of cross-file repetition words in the file." + }, + "perfectMatchWords": { + "type": "integer", + "description": "The total number of perfect match words in the file." + }, + "inContextMatchWords": { + "type": "integer", + "description": "The total number of in-context match words in the file." + }, + "exactMatchWords": { + "type": "integer", + "description": "The total number of exact match words in the file." + }, + "fuzzyMatchWords": { + "type": "integer", + "description": "The total number of fuzzy match words in the file." + }, + "newMatchWords": { + "type": "integer", + "description": "The total number of new match words in the file." + }, + "machineTranslationWords": { + "type": "integer", + "description": "The total number of words translated by machine translation in the file." + }, + "translationDuration": { + "type": "integer", + "description": "The total duration of the translation process, in minutes." + }, + "humanTranslatedSegments": { + "type": "integer", + "description": "The total number of segments translated by human translators in the file." + }, + "humanTranslatedWords": { + "type": "integer", + "description": "The total number of words translated by human translators in the file." + }, + "humanTranslatedCharacters": { + "type": "integer", + "description": "The total number of characters translated by human translators in the file." + }, + "reviewDuration": { + "type": "integer", + "description": "The total duration of the review process, in minutes." + }, + "reviewedSegments": { + "type": "integer", + "description": "The total number of segments reviewed in the file." + }, + "reviewedWords": { + "type": "integer", + "description": "The total number of words reviewed in the file." + }, + "reviewedCharacters": { + "type": "integer", + "description": "The total number of characters reviewed in the file." + }, + "pipelineDuration": { + "type": "integer", + "description": "The total duration of the entire translation pipeline, in minutes." + }, + "canceled": { + "type": "boolean", + "description": "A boolean indicating whether the translation project was canceled.", + "x-stoplight": { + "id": "0kci7sd3j4fef" + } + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "z7ivdmd1veupp" + }, + "description": "(Optional) Expand the project dimension associated with the project id using the $expand parameter." + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "2g4byidz903hn" + }, + "description": "(Optional) Expand the customer dimension associated with the customer id using the $expand parameter." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "swu6f6xtp8oey" + }, + "description": "(Optional) Expand the language pair dimension associated with the language pair id using the $expand parameter." + }, + "sourceFile": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "ucwmc945nraz4" + }, + "description": "(Optional) Expand the source file dimension associated with the source file id using the $expand parameter." + }, + "projectCreationDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "7vk8fy2gf27i9" + }, + "description": "(Optional) Expand the project creation date dimension associated with the project creation date id using the $expand parameter." + }, + "translationDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "dtspudu6wkb2f" + }, + "description": "(Optional) Expand the translation date dimension associated with the project translation date id using the $expand parameter." + }, + "translator": { + "$ref": "#/components/schemas/dim-translator", + "x-stoplight": { + "id": "hjuiywjfgsusm" + }, + "description": "(Optional) Expand the translator dimension associated with the translator id using the $expand parameter." + }, + "reviewDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "vkx8lerc2b70z" + }, + "description": "(Optional) Expand the review date dimension associated with the review date id using the $expand parameter." + }, + "reviewer": { + "$ref": "#/components/schemas/dim-reviewer", + "x-stoplight": { + "id": "56zknv580zrft" + }, + "description": "(Optional) Expand the reviewer dimension associated with the reviewer id using the $expand parameter." + }, + "customerReviewDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "oh3xzsresp5s0" + }, + "description": "(Optional) Expand the customer review date dimension associated with the customer review date id using the $expand parameter." + }, + "customerReviewer": { + "$ref": "#/components/schemas/dim-customer-reviewer", + "x-stoplight": { + "id": "6cq4y8ecbyrkt" + }, + "description": "(Optional) Expand the customer reviewer dimension associated with the customer reviewer id using the $expand parameter." + }, + "finalizationDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "a6qwcrnfr62g1" + }, + "description": "(Optional) Expand the finalization date dimension associated with the finalization date id using the $expand parameter." + } + } + }, + "error-details": { + "title": "Error details", + "x-stoplight": { + "id": "3qhaf2bx584l3" + }, + "type": "object", + "description": "Error details", + "properties": { + "code": { + "type": "string", + "x-stoplight": { + "id": "ipi52a5huhj4d" + } + }, + "message": { + "type": "string", + "x-stoplight": { + "id": "exw5wnpw0ntjf" + }, + "description": "Error description" + } + } + }, + "dim-customer": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the customer." + }, + "customerId": { + "type": "string", + "description": "A unique identifier for the customer, as it is in Trados Cloud Platform." + }, + "customerLocationId": { + "type": "string", + "description": "The identifier for the location where the customer is based or managed." + }, + "customerName": { + "type": "string", + "description": "The name of the customer." + }, + "createdBy": { + "type": "string", + "description": "The identifier of the user who created the customer." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the customer record was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format." + }, + "keyContactId": { + "type": "string", + "description": "The identifier for the key contact person for the customer." + }, + "keyContactEmail": { + "type": "string", + "description": "The email address of the key contact person for the customer." + }, + "ragStatusName": { + "type": "string", + "description": "The RAG (Red, Amber, Green) status name indicating the current health or risk status of the customer." + }, + "customFields": { + "type": "string", + "description": "A string containing custom fields and values specific to the customer. Format: 'customField1 = value1 | customField2 = value2'. " + }, + "deleted": { + "type": "boolean", + "description": "A boolean flag indicating whether the customer record has been deleted." + } + }, + "x-examples": { + "Example 1": { + "internalId": 123, + "customerId": "abc123abc123abc123", + "customerLocationId": "locationid", + "customerName": "Customer name", + "createdBy": "N/A", + "createdAt": "2023-04-11T10:30:50Z", + "keyContactId": "contactId", + "keyContactEmail": "contact email", + "ragStatusName": "Green", + "customFields": "custom field=abc | customF2=123", + "deleted": false + } + }, + "description": "Customer dimension", + "title": "Customer Dimension", + "x-stoplight": { + "id": "v1jmbizruxvld" + } + }, + "dim-language-pair": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the language pair." + }, + "sourceLanguageCode": { + "type": "string", + "description": "The ISO code representing the source language." + }, + "sourceEnglishName": { + "type": "string", + "description": "The English name of the source language." + }, + "sourceParentLanguageCode": { + "type": "string", + "description": "The ISO code of the parent language for the source language, if applicable." + }, + "targetLanguageCode": { + "type": "string", + "description": "The ISO code representing the target language." + }, + "targetEnglishName": { + "type": "string", + "description": "The English name of the target language." + }, + "targetParentLanguageCode": { + "type": "string", + "description": "The code of the parent language for the target language, if applicable." + } + }, + "x-examples": { + "Example 1": { + "internalId": 1, + "sourceLanguageCode": "en-GI", + "sourceEnglishName": "English (Gibraltar)", + "sourceParentLanguageCode": "en", + "targetLanguageCode": "tk", + "targetEnglishName": "Turkmen", + "targetParentLanguageCode": "N/A" + } + }, + "description": "Language Pair dimension", + "title": "Language Pair Dimension", + "x-stoplight": { + "id": "wsdcbytswmsot" + } + }, + "dim-source-file": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1, + "sourceFileId": "abcd0001", + "projectId": "proj001", + "projectName": "Project Alpha", + "fileName": "AlphaFile.txt", + "sourceFileLocationId": "location123", + "fileTypeSettingsId": "settings123", + "fileRole": "translatable", + "batch": 1, + "sourceFileSegmentCount": 10, + "sourceFileWordCount": 150, + "sourceFileCharacterCount": 600, + "creationAt": "2024-01-01T00:00:00Z" + } + }, + "title": "Source File Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the source file." + }, + "sourceFileId": { + "type": "string", + "description": "A unique identifier for the source file, as it is in Trados Cloud Platform." + }, + "projectId": { + "type": "string", + "description": "The identifier for the project associated with the source file, as it is in Trados Cloud Platform." + }, + "projectName": { + "type": "string", + "description": "The name of the project associated with the source file." + }, + "fileName": { + "type": "string", + "description": "The name of the source file." + }, + "sourceFileLocationId": { + "type": "string", + "description": "The identifier for the location where the source file is stored." + }, + "fileTypeSettingsId": { + "type": "string", + "description": "The identifier for the file type settings used for processing the source file." + }, + "fileRole": { + "type": "string", + "description": "The role or category of the source file (e.g., source, reference)." + }, + "batch": { + "type": "integer", + "description": "The batch number." + }, + "sourceFileSegmentCount": { + "type": "integer", + "description": "The total number of segments in the source file." + }, + "sourceFileWordCount": { + "type": "integer", + "description": "The total number of words in the source file." + }, + "sourceFileCharacterCount": { + "type": "integer", + "description": "The total number of characters in the source file." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the source file was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "buq1u3c0fj5s8" + }, + "format": "date-time" + } + }, + "x-stoplight": { + "id": "wrqiflyphu97q" + } + }, + "dim-date": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 20000101, + "year": 2000, + "month": 1, + "day": 1, + "dayOfWeek": 7, + "dayOfWeekName": "Saturday", + "monthName": "January", + "dayOfYear": 1, + "quarter": 1, + "yearNumber": "2000", + "monthNumber": "1", + "fullDate": "2000-01-01" + } + }, + "description": "Date dimension", + "title": "Date Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the date." + }, + "year": { + "type": "integer", + "description": "The year of the date." + }, + "month": { + "type": "integer", + "description": "The month of the date (1 for January, 2 for February, etc.)." + }, + "day": { + "type": "integer", + "description": "The day of the month (1 to 31)." + }, + "dayOfWeek": { + "type": "integer", + "description": "The day of the week as a number (1 for Monday, 2 for Tuesday, ..., 7 for Sunday)." + }, + "dayOfWeekName": { + "type": "string", + "description": "The name of the day of the week (e.g., Monday, Tuesday, ..., Sunday)." + }, + "monthName": { + "type": "string", + "description": "The name of the month (e.g., January, February, ..., December)." + }, + "dayOfYear": { + "type": "integer", + "description": "The day of the year (1 to 366)." + }, + "quarter": { + "type": "integer", + "description": "The quarter of the year (1 to 4)." + }, + "yearNumber": { + "type": "string", + "description": "The year as a string." + }, + "monthNumber": { + "type": "string", + "description": "The month as a string (e.g., '1' for January)." + }, + "fullDate": { + "type": "string", + "description": "The full date in 'YYYY-MM-DD' format.", + "format": "date" + } + }, + "x-stoplight": { + "id": "tju1scnphkrue" + } + }, + "dim-translator": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "1234abcd5678efgh9012ijkl", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2023-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "3456cdef7890ghij1234klmn", + "vendorName": "Vendor Name", + "deleted": false + } + }, + "description": "Translator dimension", + "title": "Translator Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the translator." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the translator." + }, + "firstName": { + "type": "string", + "description": "The first name of the translator." + }, + "lastName": { + "type": "string", + "description": "The last name of the translator." + }, + "userEmail": { + "type": "string", + "description": "The email address of the translator." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "Displays the type of membership the user has with the account: member, collaborator(guest)." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the translator's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "va02qnv56yrge" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the translator's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "o7e83y4yu47t9" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the translator's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "xkaxiiggzaocl" + }, + "format": "date-time" + }, + "vendorId": { + "type": "string", + "description": "The identifier for the vendor associated with the translator." + }, + "vendorName": { + "type": "string", + "description": "The name of the vendor associated with the translator." + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the translator's account has been deleted." + } + }, + "x-stoplight": { + "id": "qqd3n859lqu9w" + } + }, + "dim-reviewer": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "N/A", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + }, + "description": "Reviewer dimension", + "title": "Reviewer Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the reviewer." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the reviewer." + }, + "firstName": { + "type": "string", + "description": "The first name of the reviewer." + }, + "lastName": { + "type": "string", + "description": "The last name of the reviewer." + }, + "userEmail": { + "type": "string", + "description": "The email address of the reviewer." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "Displays the type of membership the user has with the account: member, collaborator(guest)." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the reviewer's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "u07y5mk1o9d8l" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the reviewer's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "7nkhq024b6qf0" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the reviewer's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "nz8qzx0llby6t" + }, + "format": "date-time" + }, + "vendorId": { + "type": "string", + "description": "The identifier for the vendor associated with the reviewer." + }, + "vendorName": { + "type": "string", + "description": "The name of the vendor associated with the reviewer." + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the reviewer's account has been deleted." + } + }, + "x-stoplight": { + "id": "3gwkzywqps7fv" + } + }, + "dim-customer-reviewer": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "N/A", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "deleted": false + } + }, + "description": "Customer reviewer dimension", + "title": "Customer Reviewer Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the customer reviewer." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the customer reviewer." + }, + "firstName": { + "type": "string", + "description": "The first name of the customer reviewer." + }, + "lastName": { + "type": "string", + "description": "The last name of the customer reviewer." + }, + "userEmail": { + "type": "string", + "description": "The email address of the customer reviewer." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "Displays the type of membership the user has with the account: member, collaborator(guest)." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the customer reviewer's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "y0kc1gdppxb9w" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the customer reviewer's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "ndwbs7s5tfz0u" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the customer reviewer's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "9sjzv0ljmqxvg" + }, + "format": "date-time" + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the customer reviewer's account has been deleted." + } + }, + "x-stoplight": { + "id": "1qz943i9spvk2" + } + }, + "fact-vendor-costs": { + "type": "object", + "x-examples": { + "Example 1": { + "accountId": 1234567890, + "projectId": 9876543210, + "customerId": 1234567890, + "languagePairId": 111111, + "vendorOrderTemplateId": 222222, + "quoteCreatedAt": "2024-01-01T00:00:00.000Z", + "serviceTypeId": 333, + "quoteReviewedAt": "2024-01-01T00:00:00.000Z", + "quoteApprovedAt": "2024-01-01T00:00:00.000Z", + "quoteUpdatedAt": "2024-01-01T00:00:00.000Z", + "fileCount": 1, + "targetWordCount": 1000, + "currencyId": 444444, + "translationCost": 100.1, + "languageCost": 50.22, + "additionalCost": 10.333 + } + }, + "description": "Vendor costs fact. Represents the cost details provided by a vendor for a translation project.", + "properties": { + "accountId": { + "type": "integer", + "description": "The unique identifier for the account associated with the vendor cost." + }, + "projectId": { + "type": "integer", + "description": "The unique identifier for the project for which the vendor cost is being recorded." + }, + "customerId": { + "type": "integer", + "description": "The unique identifier for the customer associated with the vendor cost." + }, + "languagePairId": { + "type": "integer", + "description": "The unique identifier for the language pair (source and target languages) involved in the project." + }, + "vendorOrderTemplateId": { + "type": "integer", + "description": "The unique identifier for the vendor order template used for the cost estimation." + }, + "quoteCreatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the cost quote was created." + }, + "serviceTypeId": { + "type": "integer", + "description": "The unique identifier for the type of service being provided." + }, + "quoteReviewedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the cost quote was reviewed." + }, + "quoteApprovedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the cost quote was approved." + }, + "quoteUpdatedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp when the cost quote was last updated." + }, + "fileCount": { + "type": "integer", + "description": "The number of files involved in the project." + }, + "targetWordCount": { + "type": "integer", + "description": "The total number of words in the target language for the project." + }, + "currencyId": { + "type": "integer", + "description": "The unique identifier for the currency in which the costs are recorded." + }, + "translationCost": { + "type": "number", + "format": "float", + "description": "The cost of the translation service." + }, + "languageCost": { + "type": "number", + "format": "float", + "description": "The cost related to language services for a specific target language." + }, + "additionalCost": { + "type": "number", + "format": "float", + "description": "Any additional costs related to the project." + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "t2831fnpurl8b" + }, + "description": "(Optional) Expand the project dimension associated with the project id using the $expand parameter." + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "x5apvmyqjzz4u" + }, + "description": "(Optional) Expand the customer dimension associated with the customer id using the $expand parameter." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "jwzbmhe1a27oe" + }, + "description": "(Optional) Expand the language pair dimension associated with the language pair id using the $expand parameter." + }, + "vendorOrderTemplate": { + "$ref": "#/components/schemas/dim-vendor-order-template", + "x-stoplight": { + "id": "f75eq39m8klsz" + }, + "description": "(Optional) Expand the vendor order template dimension associated with the vendorOrderTemplateId using the $expand parameter." + }, + "serviceType": { + "$ref": "#/components/schemas/dim-service-types", + "x-stoplight": { + "id": "tlzo73clwbho2" + }, + "description": "(Optional) Expand the service types dimension associated with the serviceTypeId using the $expand parameter." + }, + "currency": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "6zvycro4q2is3" + }, + "description": "(Optional) Expand the currency dimension associated with the currencyId using the $expand parameter." + } + }, + "title": "Vendor Costs Metrics", + "x-stoplight": { + "id": "r80ehydon9lwf" + } + }, + "dim-currency": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique identifier assigned to each currency entry. This is typically an internal database ID used to reference the currency within the system." + }, + "name": { + "type": "string", + "description": "The official name of the currency. This field stores the full name of the currency as recognized internationally." + }, + "code": { + "type": "string", + "description": "The standard three-letter currency code as defined by ISO 4217. This code uniquely identifies the currency." + }, + "symbol": { + "type": "string", + "description": "The symbol used to represent the currency in financial documents and transactions. This symbol is commonly used in pricing and financial reports." + } + }, + "x-examples": { + "Example 1": { + "internalId": 698582, + "name": "Euro", + "code": "EUR", + "symbol": "€" + } + }, + "description": "Currency dimension", + "title": "Currency Dimension", + "x-stoplight": { + "id": "1627md05efegl" + } + }, + "dim-vendor-order-template": { + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 123456, + "originatingId": "1234abcd5678efgh9012ijkl", + "orderTemplateName": "Example Order Template", + "vendorId": "abcd123456efgh7890ijkl12", + "vendorName": "Example Vendor", + "locationId": "abcd1234efgh5678ijkl9012mnop3456", + "accountId": "abcd5678ijkl9012mnop3456efgh1234", + "creationDate": "2024-07-15T10:00:00Z", + "deleted": false + } + }, + "description": "Vendor Order Template dimension", + "title": "Vendor Order Template Dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "Unique identifier for the vendor order template within the system." + }, + "originatingId": { + "type": "string", + "description": "Identifier originating from the Trados Cloud Platform." + }, + "orderTemplateName": { + "type": "string", + "description": "Name or title of the vendor order template." + }, + "vendorId": { + "type": "string", + "description": "Unique identifier for the vendor associated with this order template." + }, + "vendorName": { + "type": "string", + "description": "Name of the vendor associated with this order template." + }, + "locationId": { + "type": "string", + "description": "Identifier for the location associated with this vendor order template." + }, + "accountId": { + "type": "string", + "description": "Identifier for the account associated with this vendor order template." + }, + "createdAt": { + "type": "string", + "description": "Date and time when the vendor order template was created. (ISO 8601 format)", + "x-stoplight": { + "id": "qgu8nxpo8qsju" + }, + "format": "date-time" + }, + "deleted": { + "type": "boolean", + "description": "Indicates whether the vendor order template has been deleted (`true`) or is active (`false`)." + } + }, + "x-stoplight": { + "id": "g1ki1690apv5x" + } + }, + "dim-service-types": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "An integer representing the internal identifier of the service type." + }, + "name": { + "type": "string", + "description": "A string representing the name or title of the service type." + }, + "originatingId": { + "type": "string", + "description": "Identifier originating from the Trados Cloud Platform." + }, + "allowInternal": { + "type": "boolean", + "description": "A boolean indicating whether the service type is allowed for internal use." + }, + "allowCustomer": { + "type": "boolean", + "description": "A boolean indicating whether the service type is allowed for customer use." + }, + "allowVendor": { + "type": "boolean", + "description": "A boolean indicating whether the service type is allowed for vendor use." + } + }, + "x-examples": { + "Example 1": { + "internalId": 6469, + "name": "service-type-name-1", + "originatingId": "1_9d196a9d-0911-4c6d-8d2d-a19fc5816992", + "allowInternal": true, + "allowCustomer": true, + "allowVendor": false + } + }, + "description": "Service Type dimension", + "title": "Service Type Dimension", + "x-stoplight": { + "id": "k4n4dj1sf9f6a" + } + }, + "dim-owner": { + "title": "Task Owner Dimension", + "x-stoplight": { + "id": "wkhuxjby48xbl" + }, + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "N/A", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + }, + "description": "Task Owner dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the task owner." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the task owner." + }, + "firstName": { + "type": "string", + "description": "The first name of the task owner." + }, + "lastName": { + "type": "string", + "description": "The last name of the task owner." + }, + "userEmail": { + "type": "string", + "description": "The email address of the task owner." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "Displays the type of membership the user has with the account: member, collaborator(guest)." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the task owner's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "4wtzhv2587ck7" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the task owner's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "xplcx84fo2anx" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the task owner's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "rf65t6tb74tvb" + }, + "format": "date-time" + }, + "vendorId": { + "type": "string", + "description": "The identifier for the vendor associated with the task owner." + }, + "vendorName": { + "type": "string", + "description": "The name of the vendor associated with the task owner." + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the task owner's account has been deleted." + } + } + }, + "dim-quote-approver": { + "title": "Quote Approver Dimension", + "x-stoplight": { + "id": "62wt5qzjprbn2" + }, + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "N/A", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + }, + "description": "Quote Approver dimension", + "examples": [ + { + "internalId": 1234567, + "accountUserId": "423e18f01573f2d6", + "accountId": "d65315e82ec604b7", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "57d39d0b88319631", + "membership": "MEMBER", + "status": "ACTIVE", + "authorId": "5cba149cb5f78fe6", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + ], + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the quote approver." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the quote approver." + }, + "firstName": { + "type": "string", + "description": "The first name of the quote approver." + }, + "lastName": { + "type": "string", + "description": "The last name of the quote approver." + }, + "userEmail": { + "type": "string", + "description": "The email address of the quote approver." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "Displays the type of membership the user has with the account: member, collaborator(guest)." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the quote approver's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "9gdddrvb5o7g0" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the quote approver's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "fklzw4gyliirz" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the quote approver's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "xkmjbx75z7ry5" + }, + "format": "date-time" + }, + "vendorId": { + "type": "string", + "description": "The identifier for the vendor associated with the quote approver." + }, + "vendorName": { + "type": "string", + "description": "The name of the vendor associated with the quote approver." + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the quote approver's account has been deleted." + } + } + }, + "dim-task-types": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique identifier for the task type." + }, + "taskType": { + "type": "string", + "description": "A string representing the specific type of the task." + }, + "name": { + "type": "string", + "description": "The name of the task type." + }, + "businessKey": { + "type": "string", + "description": "A key associated with the business context of the task type." + }, + "automated": { + "type": "boolean", + "description": "Indicates whether the task type is automated (true) or manual (false)." + }, + "accountId": { + "type": "string", + "description": "The identifier of the account associated with the task type." + } + }, + "x-examples": { + "Example 1": { + "internalId": 26124, + "taskType": "task-type", + "name": "Task Type Name", + "businessKey": "task-type", + "automated": true, + "accountId": "abcdefghiklmn12345" + } + }, + "description": "Task Types Dimension", + "title": "Task Type Dimension", + "x-stoplight": { + "id": "s0pm1jc23bbpj" + } + }, + "fact-tqe": { + "type": "object", + "x-examples": { + "Example 1": { + "projectId": 1234567890123, + "customerId": 2345678901234, + "accountId": 3456789012345, + "linguistId": 4567890123456, + "originalTranslationOriginId": 0, + "finalTranslationOriginId": 6, + "taskTypeId": 12345, + "languagePairId": 23456, + "sourceFileId": 34567, + "translationEvaluationId": 45678, + "evaluationDate": "2024-06-20T06:13:44Z", + "taskId": "abc123def456ghi789jkl000", + "totalSegments": 10, + "editDistance0": 2, + "editDistance1": 2, + "editDistance2": 0, + "editDistance3": 0, + "editDistance4": 0, + "editDistance5": 0, + "editDistance6": 3, + "editDistance7": 0, + "editDistance8": 2, + "editDistance9": 0, + "editDistance10": 1 + } + }, + "description": "Translation Quality Evaluation metrics", + "title": "Translation Quality Evaluation Metrics", + "properties": { + "projectId": { + "type": "integer", + "description": "The unique identifier for the project." + }, + "customerId": { + "type": "integer", + "description": "The unique identifier for the customer." + }, + "accountId": { + "type": "integer", + "description": "The unique identifier for the account." + }, + "linguistId": { + "type": "integer", + "description": "The unique identifier for the linguist." + }, + "originalTranslationOriginId": { + "type": "integer", + "description": "The unique identifier for the original translation origin." + }, + "finalTranslationOriginId": { + "type": "integer", + "description": "The unique identifier for the final translation origin." + }, + "taskTypeId": { + "type": "integer", + "description": "The unique identifier for the task type." + }, + "languagePairId": { + "type": "integer", + "description": "The unique identifier for the language pair." + }, + "sourceFileId": { + "type": "integer", + "description": "The unique identifier for the source file." + }, + "translationEvaluationId": { + "type": "integer", + "description": "The unique identifier for the translation evaluation." + }, + "evaluatedAt": { + "type": "string", + "description": "The date and time when the evaluation was conducted in 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "mr3t6i9uzify4" + }, + "format": "date-time" + }, + "taskId": { + "type": "string", + "description": "The unique identifier for the task." + }, + "totalSegments": { + "type": "integer", + "description": "The total number of segments in the source file." + }, + "editDistance0": { + "type": "integer" + }, + "editDistance1": { + "type": "integer" + }, + "editDistance2": { + "type": "integer" + }, + "editDistance3": { + "type": "integer" + }, + "editDistance4": { + "type": "integer" + }, + "editDistance5": { + "type": "integer" + }, + "editDistance6": { + "type": "integer" + }, + "editDistance7": { + "type": "integer" + }, + "editDistance8": { + "type": "integer" + }, + "editDistance9": { + "type": "integer" + }, + "editDistance10": { + "type": "integer" + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "auw1nj4uo6jjw" + }, + "description": "(Optional) Expand the project dimension associated with the projectId using the $expand parameter.\r\n\r\n" + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "0hjkd53u3jtlx" + }, + "description": "(Optional) Expand the customer dimension associated with the customerId using the $expand parameter.\r\n\r\n" + }, + "linguist": { + "$ref": "#/components/schemas/dim-linguist", + "x-stoplight": { + "id": "lupxf20ck5kgs" + }, + "description": "(Optional) Expand the linguist dimension associated with the linguistId using the $expand parameter.\r\n\r\n" + }, + "originalTranslationOrigin": { + "$ref": "#/components/schemas/dim-translation-origin", + "x-stoplight": { + "id": "0lxh5k7w46itr" + }, + "description": "(Optional) Expand the original translation origin dimension associated with the originalTranslationOriginId using the $expand parameter.\r\n" + }, + "finalTranslationOrigin": { + "$ref": "#/components/schemas/dim-translation-origin", + "x-stoplight": { + "id": "dxo72u5z3tlow" + }, + "description": "(Optional) Expand the final translation origin dimension associated with the finalTranslationOriginId using the $expand parameter.\r\n" + }, + "taskType": { + "$ref": "#/components/schemas/dim-task-types", + "x-stoplight": { + "id": "jr8u58awm3kyn" + }, + "description": "(Optional) Expand the task type dimension associated with the taskTypeId using the $expand parameter.\r\n" + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "vp4nxhzavoa8o" + }, + "description": "(Optional) Expand the language pair dimension associated with the languagePairId using the $expand parameter.\r\n" + }, + "sourceFile": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "hxy1new9zqhms" + }, + "description": "(Optional) Expand the source file dimension associated with the sourceFileId using the $expand parameter.\r\n" + }, + "translationQualityEvaluationCategory": { + "$ref": "#/components/schemas/dim-tqe-category", + "x-stoplight": { + "id": "c65a8oifz6x8v" + }, + "description": "(Optional) Expand the translation quality evaluation category dimension associated with the translationQualityEvaluationCategoryId using the $expand parameter.\r\n" + } + }, + "x-stoplight": { + "id": "dp8z5cvhwewgi" + } + }, + "dim-linguist": { + "title": "Linguist Dimension", + "x-stoplight": { + "id": "5pu4ebol4njno" + }, + "type": "object", + "x-examples": { + "Example 1": { + "internalId": 1234567, + "accountUserId": "1234abcd5678efgh9012ijkl", + "accountId": "2345bcde6789fgha0123ijkl", + "accountName": "Test Account", + "firstName": "First", + "lastName": "Last", + "userEmail": "user@example.com", + "accountUserLocationId": "N/A", + "membership": "ROLE", + "status": "STATUS", + "authorId": "N/A", + "creationDate": "2023-01-01T00:00:00Z", + "lastModificationDate": "2024-01-01T00:00:00Z", + "deletionDate": "9999-12-31T00:00:00Z", + "vendorId": "N/A", + "vendorName": "N/A", + "deleted": false + } + }, + "description": "Linguist dimension", + "properties": { + "internalId": { + "type": "integer", + "description": "A unique internal identifier for the linguist." + }, + "accountUserId": { + "type": "string", + "description": "A unique identifier for the account user associated with the linguist." + }, + "firstName": { + "type": "string", + "description": "The first name of the linguist." + }, + "lastName": { + "type": "string", + "description": "The last name of the linguist." + }, + "userEmail": { + "type": "string", + "description": "The email address of the linguist." + }, + "accountUserLocationId": { + "type": "string", + "description": "The identifier for the location associated with the user's account." + }, + "membership": { + "type": "string", + "description": "The role or membership category of the linguist within the account." + }, + "createdAt": { + "type": "string", + "description": "The date and time when the linguist's account was created. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "9bcplllnxbeqm" + }, + "format": "date-time" + }, + "lastModifiedAt": { + "type": "string", + "description": "The date and time when the linguist's account was last modified. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "jzd0z5axle0om" + }, + "format": "date-time" + }, + "deletedAt": { + "type": "string", + "description": "The date and time when the linguist's account was deleted, if applicable. Timestamp with 'YYYY-MM-DDTHH:MM:SSZ' format.", + "x-stoplight": { + "id": "lf0zqkck8yqk1" + }, + "format": "date-time" + }, + "vendorId": { + "type": "string", + "description": "The identifier for the vendor associated with the linguist." + }, + "vendorName": { + "type": "string", + "description": "The name of the vendor associated with the linguist." + }, + "deleted": { + "type": "boolean", + "description": "A boolean indicating whether the linguist's account has been deleted." + } + } + }, + "fact-task-status": { + "type": "object", + "x-examples": { + "Example 1": { + "projectId": 1234567890123, + "customerId": 9876543210987, + "taskTypeId": 10101, + "taskStatusId": 2020202, + "startDate": 20230101, + "startedAt": "2023-01-01T09:00:00Z", + "languageDirectionId": 1, + "sourceFileId": 555555, + "ownerId": 12345, + "completionDate": 20231231, + "completedAt": "2023-12-31T18:00:00Z", + "dueDate": 20231231, + "dueBy": "2023-12-31T23:59:59Z", + "actualDuration": 360, + "estimatedDuration": 400, + "delivery": 1, + "otdStatus": 1, + "words": 500, + "taskId": "abcd1234efgh5678ijkl9012" + } + }, + "description": "Task status metrics", + "title": "Task Status Metrics", + "properties": { + "projectId": { + "type": "integer", + "description": "Unique identifier for the project." + }, + "customerId": { + "type": "integer", + "description": "Unique identifier for the customer." + }, + "taskTypeId": { + "type": "integer", + "description": "Identifier for the type of task." + }, + "taskStatusId": { + "type": "integer", + "description": "Current status of the task." + }, + "startDate": { + "type": "integer", + "description": "Start date of the task in YYYYMMDD format." + }, + "startedAt": { + "type": "string", + "description": "Timestamp when the task was started in 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "languageDirectionId": { + "type": "integer", + "description": "Identifier for the language direction." + }, + "sourceFileId": { + "type": "integer", + "description": "Unique identifier for the source file associated with the task." + }, + "ownerId": { + "type": "integer", + "description": "Identifier for the owner of the task." + }, + "completionDate": { + "type": "integer", + "description": "Date when the task was completed in YYYYMMDD format." + }, + "completedAt": { + "type": "string", + "description": "Timestamp when the task was completed in 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "dueDate": { + "type": "integer", + "description": "Due date for the task in YYYYMMDD format." + }, + "dueBy": { + "type": "string", + "description": "Timestamp by which the task is due in 'YYYY-MM-DDTHH:MM:SSZ' format.", + "format": "date-time" + }, + "actualDuration": { + "type": "integer", + "description": "Actual duration taken to complete the task, in minutes." + }, + "estimatedDuration": { + "type": "integer", + "description": "Estimated duration to complete the task, in minutes." + }, + "delivery": { + "type": "integer", + "description": "Difference between the actual duration and the estimated duration." + }, + "otdStatus": { + "type": "integer", + "description": "On-time delivery status." + }, + "words": { + "type": "integer", + "description": "Number of words in the source file processed in this task." + }, + "taskId": { + "type": "string", + "description": "Unique identifier for the task, as it is in Trados Cloud Platform." + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "8wn06o2fwdaxj" + }, + "description": "(Optional) Expand the project dimension associated with the projectId using the $expand parameter." + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "tbbaxiw91b8ae" + }, + "description": "(Optional) Expand the customer dimension associated with the customerId using the $expand parameter." + }, + "taskType": { + "$ref": "#/components/schemas/dim-task-types", + "x-stoplight": { + "id": "02epgbi3anti1" + }, + "description": "(Optional) Expand the task type dimension associated with the taskTypeId using the $expand parameter." + }, + "taskState": { + "$ref": "#/components/schemas/dim-task-states", + "x-stoplight": { + "id": "zja7q2gfw320q" + }, + "description": "(Optional) Expand the task state dimension associated with the taskStatusId using the $expand parameter." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "z87lz2iuktvgm" + }, + "description": "(Optional) Expand the language pair dimension associated with the languageDirectionId using the $expand parameter." + }, + "sourceFile": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "dxlndvyivvr8n" + }, + "description": "(Optional) Expand the source file dimension associated with the sourceFileId using the $expand parameter." + }, + "taskOwner": { + "$ref": "#/components/schemas/dim-owner", + "x-stoplight": { + "id": "suf661az41ca9" + }, + "description": "(Optional) Expand the task owner dimension associated with the taskOwnerId using the $expand parameter." + } + }, + "x-stoplight": { + "id": "az9qe23uo3wlx" + } + }, + "dim-task-states": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "Unique internal identifier for the task state." + }, + "taskStatus": { + "type": "string", + "description": "Internal status code for the task." + }, + "name": { + "type": "string", + "description": "Human-readable name of the task status." + } + }, + "x-examples": { + "Example 1": { + "internalId": 1234567, + "taskStatus": "pending", + "name": "Pending" + } + }, + "description": "Task States dimension", + "title": "Task State Dimension", + "x-stoplight": { + "id": "iieo64du9lq7y" + } + }, + "dim-translation-origin": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "Unique internal identifier for the translation origin." + }, + "sourceOrigin": { + "type": "string", + "description": "Internal code indicating the origin of the translation." + }, + "description": { + "type": "string", + "description": "Human-readable description of the translation origin." + } + }, + "x-examples": { + "Example 1": { + "internalId": 0, + "sourceOrigin": "unknown", + "description": "Unknown" + } + }, + "description": "Translation Origin dimension", + "title": "Translation Origin Dimension", + "x-stoplight": { + "id": "6ffh6bqoohg88" + } + }, + "dim-tqe-category": { + "type": "object", + "properties": { + "internalId": { + "type": "integer", + "description": "Unique internal identifier for the TQE (Translation Quality Evaluation) category." + }, + "evaluationSystem": { + "type": "string", + "description": "System used for the translation quality evaluation." + }, + "evaluationEngine": { + "type": "string", + "description": "Engine used for the evaluation." + }, + "evaluationMinValue": { + "type": "integer", + "description": "Minimum value in the evaluation range." + }, + "evaluationMaxValue": { + "type": "integer", + "description": "Maximum value in the evaluation range." + }, + "evaluationCategory": { + "type": "string", + "description": "Category of the evaluation based on the score range (e.g., green, amber, red)." + } + }, + "x-examples": { + "Example 1": { + "internalId": 137, + "evaluationSystem": "trados-smartreview", + "evaluationEngine": "bedrock:anthropic.claude-3-sonnet-20240229-v1:0", + "evaluationMinValue": 91, + "evaluationMaxValue": 100, + "evaluationCategory": "green" + } + }, + "description": "Translation quality evaluation category", + "title": "Translation Quality Evaluation Category", + "x-stoplight": { + "id": "swbx3mrmisdkw" + } + }, + "fact-language-revenues": { + "title": "fact-language-revenues", + "x-stoplight": { + "id": "430txfvyfv4bu" + }, + "type": "object", + "description": "The language revenue metrics", + "properties": { + "customerId": { + "type": "integer", + "x-stoplight": { + "id": "gpdp2fnw0v2v8" + }, + "description": "The unique identifier for the customer." + }, + "projectId": { + "type": "integer", + "x-stoplight": { + "id": "9vtxjpfm0dr32" + }, + "description": "The unique identifier for the project." + }, + "languagePairId": { + "type": "integer", + "x-stoplight": { + "id": "bzy4ml6uz8ao8" + }, + "description": "The unique identifier for the language pair." + }, + "approveDateId": { + "type": "integer", + "x-stoplight": { + "id": "iszl8g2wyixxh" + }, + "description": "The unique identifier for the quote approve date." + }, + "currencyId": { + "type": "integer", + "x-stoplight": { + "id": "695h6px2s9w6f" + }, + "description": "The unique identifier for the currency." + }, + "quoteApproverId": { + "type": "integer", + "x-stoplight": { + "id": "p3hmddujxrm96" + }, + "description": "The unique identifier for the quote approver." + }, + "quoteDateId": { + "type": "integer", + "x-stoplight": { + "id": "jmpf1zypjsbx5" + }, + "description": "The unique identifier for the quote creation date." + }, + "translationPrice": { + "type": "number", + "x-stoplight": { + "id": "kvgll36dnxu6w" + }, + "format": "double", + "description": "The price of the translation service." + }, + "languagePrice": { + "type": "number", + "x-stoplight": { + "id": "boocpynw3o4n2" + }, + "format": "double", + "description": "The additional language price of the translation service." + }, + "projectAdditionalPrice": { + "type": "number", + "x-stoplight": { + "id": "mo7m7ti8wtjp9" + }, + "format": "double", + "description": "The project level additional price of the translation service." + }, + "totalRevenue": { + "type": "number", + "x-stoplight": { + "id": "6u419sb28wz3e" + }, + "format": "double", + "description": "The total price of the project." + }, + "savings": { + "type": "number", + "x-stoplight": { + "id": "v4xt3zffbuww9" + }, + "format": "double", + "description": "The savings obtain through the use of the automated translation features." + }, + "wordCount": { + "type": "integer", + "x-stoplight": { + "id": "flngaoyo0zoxo" + }, + "description": "The number of words processed during the translation service." + }, + "files": { + "type": "integer", + "x-stoplight": { + "id": "p0wipl2ixb15l" + }, + "description": "The number of target files processed during the translation service" + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "4xropztcshlip" + }, + "description": "(Optional) Expand the customer dimension associated with the customer id using the $expand parameter and \"customer\" value." + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "48dy7qglqj54e" + }, + "description": "(Optional) Expand the project dimension associated with the project id using the $expand parameter and \"project\" value." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "pd6xlk9xfrsf5" + }, + "description": "(Optional) Expand the language pair dimension associated with the language pair id using the $expand parameter and \"languagePair\" value." + }, + "approveDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "p5rkzmjplyt28" + }, + "description": "(Optional) Expand the approve date dimension associated with the approve date id using the $expand parameter and \"approveDate\" value." + }, + "currency": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "w14tjqp3qkagl" + }, + "description": "(Optional) Expand the currency dimension associated with the currency id using the $expand parameter and \"currency\" value." + }, + "quoteApprover": { + "$ref": "#/components/schemas/dim-quote-approver", + "x-stoplight": { + "id": "788eqcb1ctj8f" + }, + "description": "(Optional) Expand the quote approver dimension associated with the quote approver id using the $expand parameter and \"quoteApprover\" value." + }, + "quoteDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "ldnd7j2zkzhdg" + }, + "description": "(Optional) Expand the quote date dimension associated with the quote date id using the $expand parameter and \"quoteDate\" value." + } + }, + "examples": [ + { + "customerId": 123, + "projectId": 23432, + "languagePairId": 34890, + "approveDateId": 20240129, + "currencyId": 453290, + "quoteApproverId": 810908, + "quoteDateId": 20240128, + "translationPrice": 120.3, + "languagePrice": 30.21, + "projectAdditionalPrice": 0.39, + "totalRevenue": 150.9, + "savings": 12.44, + "wordCount": 230, + "files": 1 + } + ] + }, + "fact-language-revenue-details": { + "title": "fact-language-revenue-details", + "x-stoplight": { + "id": "7rdoa20due2xo" + }, + "type": "object", + "description": "Language revenue details metrics", + "properties": { + "quoteDateId": { + "type": "integer", + "x-stoplight": { + "id": "rrigf8o7gqisv" + }, + "description": "The unique identifier for the quote creation date." + }, + "customerId": { + "type": "integer", + "x-stoplight": { + "id": "088zg0sx6d0ar" + }, + "description": "The unique identifier for the customer." + }, + "projectId": { + "type": "integer", + "x-stoplight": { + "id": "w4wa5okwcfvo2" + }, + "description": "The unique identifier for the project." + }, + "languagePairId": { + "type": "integer", + "x-stoplight": { + "id": "0zai50vut837u" + }, + "description": "The unique identifier for the language pair." + }, + "revenueTypeId": { + "type": "integer", + "x-stoplight": { + "id": "i92ynlxk0kmvv" + }, + "description": "The unique identifier for the revenue type." + }, + "currencyId": { + "type": "integer", + "x-stoplight": { + "id": "v11zdwmoa7e50" + }, + "description": "The unique identifier for the currency." + }, + "projectCreationDateId": { + "type": "integer", + "x-stoplight": { + "id": "2lknvcx5pl4gw" + }, + "description": "The unique identifier for the project creation date." + }, + "numberOfUnits": { + "type": "number", + "x-stoplight": { + "id": "nukfgoafas75m" + }, + "format": "double", + "description": "The number of units of the revenue type that generated the revenue." + }, + "revenue": { + "type": "number", + "x-stoplight": { + "id": "dn80w6lqtbtpq" + }, + "format": "double", + "description": "The revenue generated by the revenue type." + }, + "quoteDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "ligjv55awvrkp" + }, + "description": "(Optional) Expand the quote date dimension associated with the quote date id using the $expand parameter and \"quoteDate\" value." + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "az9ka699r1nxz" + }, + "description": "(Optional) Expand the customer dimension associated with the customer id using the $expand parameter and \"customer\" value." + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "2kpm0pkkdybrl" + }, + "description": "(Optional) Expand the project dimension associated with the project id using the $expand parameter and \"project\" value." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "jc0ykv86dvm9x" + }, + "description": "(Optional) Expand the language pair dimension associated with the language pair id using the $expand parameter and \"languagePair\" value." + }, + "revenueType": { + "$ref": "#/components/schemas/dim-revenue-type", + "x-stoplight": { + "id": "fh8jfo4qi8t9b" + }, + "description": "(Optional) Expand the revenue type dimension associated with the revenue type id using the $expand parameter and \"revenueType\" value." + }, + "currency": { + "$ref": "#/components/schemas/dim-currency", + "x-stoplight": { + "id": "fn3u2m1js7rq6" + }, + "description": "(Optional) Expand the currency dimension associated with the currency id using the $expand parameter and \"currency\" value." + }, + "projectCreationDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "2whazg2g15pik" + }, + "description": "(Optional) Expand the project creation date dimension associated with the project creation date id using the $expand parameter and \"projectCreationDate\" value." + } + }, + "examples": [ + { + "quoteDateId": 20240203, + "customerId": 132445, + "projectId": 123467, + "languagePairId": 678954, + "revenueTypeId": 23940, + "currencyId": 59, + "projectCreationDateId": 20240202, + "numberOfUnits": 100, + "revenue": 0.7 + } + ] + }, + "dim-revenue-type": { + "title": "dim-revenue-type", + "x-stoplight": { + "id": "2ks34nsuycji5" + }, + "type": "object", + "description": "The revenue type dimension. \nThe dimension stores details about individual cost/revenue types.", + "examples": [ + { + "internalId": 2, + "name": "0.25 hours for minimum charge", + "category": "language", + "type": "Hourly", + "unit": "Hour" + }, + { + "internalId": 200, + "name": "Project Management fee", + "category": "project", + "type": "Percentage", + "unit": "Percent" + }, + { + "internalId": 12, + "name": "50% - 74% Match", + "category": "file", + "type": "Volume", + "unit": "Words" + } + ], + "properties": { + "internalId": { + "type": "integer", + "x-stoplight": { + "id": "558ebopv5wqoj" + }, + "description": "The internal unique identifier of the revenue type." + }, + "name": { + "type": "string", + "x-stoplight": { + "id": "mm6j225rx0u7v" + }, + "description": "The name of the revenue type which is displayed in the Trados Enterprise Quote or Price model." + }, + "category": { + "type": "string", + "x-stoplight": { + "id": "9ymr21awzjd38" + }, + "description": "The Trados Enterprise cost/price category. This field will detail the level where the revenue type will apply. The possible values are: file, language, project." + }, + "type": { + "type": "string", + "x-stoplight": { + "id": "wggl5mlvc7l6n" + }, + "description": "Represents the way the revenue type will be applied when calculating the overall cost. \n" + }, + "unit": { + "type": "string", + "x-stoplight": { + "id": "ohcbngejinn4z" + }, + "description": "Represents the measurement that will be used when calculating the units of the revenue type. " + } + } + }, + "dim-leverage-band": { + "title": "dim-leverage-band", + "x-stoplight": { + "id": "tda8sqmuv0ldo" + }, + "type": "object", + "description": "The translation leverage band dimension. \nA translation leverage band refers to a specific category or level of similarity between the content being translated and existing translations or reference material.", + "properties": { + "internalId": { + "type": "number", + "x-stoplight": { + "id": "wftsvdeltujxi" + }, + "description": "The internal unique identifier of the leverage band." + }, + "bandName": { + "type": "string", + "x-stoplight": { + "id": "aszz0hw0remyu" + }, + "description": "The name of the translation leverage band as it is in Trados Enterprise." + } + }, + "examples": [ + { + "internalId": 1000, + "bandName": "In Context Match" + } + ] + }, + "fact-translation-leverage": { + "title": "fact-translation-leverage", + "x-stoplight": { + "id": "fxmge5dj52nhp" + }, + "type": "object", + "description": "The translation leverage metrics", + "properties": { + "translationDateId": { + "type": "number", + "x-stoplight": { + "id": "xss9o5msjwj5i" + }, + "description": "The unique internal identifier for the translation date." + }, + "translationTime": { + "type": "number", + "x-stoplight": { + "id": "19ifmksp600su" + } + }, + "accountId": { + "type": "number", + "x-stoplight": { + "id": "9hlx8boja60m7" + }, + "description": "The unique identifier for the account." + }, + "customerId": { + "type": "number", + "x-stoplight": { + "id": "k1kj43n84e1tf" + }, + "description": "The unique identifier for the customer." + }, + "projectId": { + "type": "number", + "x-stoplight": { + "id": "7encjapj4syuw" + }, + "description": "The unique identifier for the project." + }, + "languagePairId": { + "type": "number", + "x-stoplight": { + "id": "o8tgapnv634i3" + }, + "description": "The unique identifier for the language pair." + }, + "sourceFileId": { + "type": "number", + "x-stoplight": { + "id": "gy0y354x0p7lg" + }, + "description": "The unique internal identifier for the source file." + }, + "bandId": { + "type": "number", + "x-stoplight": { + "id": "q9wpdnkmfz6xu" + }, + "description": "The unique identifier for the leverage band." + }, + "characterCount": { + "type": "number", + "x-stoplight": { + "id": "0dfzpnx6q7vlg" + }, + "description": "The total number of characters in the source file." + }, + "wordCount": { + "type": "number", + "x-stoplight": { + "id": "4d1pufv1yod1i" + }, + "description": "The total number of words in the source file." + }, + "segmentCount": { + "type": "number", + "x-stoplight": { + "id": "7axch6z5vr9cf" + }, + "description": "The total number of segments in the source file." + }, + "bandCharacters": { + "type": "number", + "x-stoplight": { + "id": "1t7y8262rsijd" + }, + "description": "The total number of characters within the specified leverage band." + }, + "bandWords": { + "type": "number", + "x-stoplight": { + "id": "rj3i0ntxdwoul" + }, + "description": "The total number of words within the specified leverage band." + }, + "bandSegments": { + "type": "number", + "x-stoplight": { + "id": "0zecc8fdvjpp7" + }, + "description": "The total number of segments within the specified leverage band." + }, + "canceled": { + "type": "boolean", + "x-stoplight": { + "id": "p47xf0qlgpm49" + }, + "description": "A boolean flag indicating whether the specific workflow was canceled or not." + }, + "translationDate": { + "$ref": "#/components/schemas/dim-date", + "x-stoplight": { + "id": "0dv96orzmbter" + }, + "description": "(Optional) Expand the date dimension associated with the translation date id using the $expand parameter and \"translationDate\" value." + }, + "customer": { + "$ref": "#/components/schemas/dim-customer", + "x-stoplight": { + "id": "nrn8mnjrf2ffk" + }, + "description": "(Optional) Expand the customer dimension associated with the customer id using the $expand parameter and \"customer\" value." + }, + "project": { + "$ref": "#/components/schemas/dim-project", + "x-stoplight": { + "id": "yfnyoa67wcn9r" + }, + "description": "(Optional) Expand the project dimension associated with the project id using the $expand parameter and \"project\" value." + }, + "languagePair": { + "$ref": "#/components/schemas/dim-language-pair", + "x-stoplight": { + "id": "crbny9f1ubgsf" + }, + "description": "(Optional) Expand the language pair dimension associated with the language pair id using the $expand parameter and \"languagePair\" value." + }, + "sourceFile": { + "$ref": "#/components/schemas/dim-source-file", + "x-stoplight": { + "id": "tu8cgu0l9vdou" + }, + "description": "(Optional) Expand the source file dimension associated with the source file id using the $expand parameter and \"sourceFile\" value." + }, + "leverageBand": { + "$ref": "#/components/schemas/dim-leverage-band", + "x-stoplight": { + "id": "zmynhlceh2p0j" + }, + "description": "(Optional) Expand the leverage band dimension associated with the band id using the $expand parameter and \"leverageBand\" value." + } + } + } + }, + "parameters": { + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "The bearer access token provided by Auth0.", + "schema": { + "type": "string" + }, + "required": true + }, + "filter": { + "name": "$filter", + "in": "query", + "schema": { + "type": "string" + }, + "description": "System query option restricts the set of items returned.\nOperations:\n1. [Built-in Filter Operations](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_BuiltinFilterOperations)\n2. [Built-in Query Functions](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_BuiltinQueryFunctions)\n" + }, + "top": { + "name": "$top", + "in": "query", + "schema": { + "type": "integer", + "default": 5000 + }, + "description": "System query option specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + "skip": { + "name": "$skip", + "in": "query", + "schema": { + "type": "integer", + "default": 0 + }, + "description": "System query option specifies a non-negative integer n that excludes the first n items of the queried collection from the result. The service returns items starting at position n+1." + }, + "count": { + "name": "$count", + "in": "query", + "schema": { + "type": "boolean", + "default": true + }, + "description": "System query option with a value of true specifies that the total count of items within a collection matching the request be returned along with the result.\n\nAccording to the OData standard the same result is obtain by adding /$count to the service path" + }, + "expand": { + "name": "$expand", + "in": "query", + "schema": { + "type": "string" + }, + "description": "System query option that specifies a related entity to expand the current response" + }, + "X-LC-Tenant": { + "name": "X-LC-Tenant", + "in": "header", + "description": "The identifier of the account where the request is executed.", + "schema": { + "type": "string" + }, + "required": true + } + }, + "headers": { + "X-LC-TraceId": { + "required": true, + "schema": { + "type": "string", + "example": "df680285-adcd-4bda-8f79-0bba4a857287" + }, + "description": "A unique identifier for the request. It should be saved in the logs as it can be used to troubleshoot potential issues. When raising a request for support, it should be provided to help with the investigation." + } + }, + "responses": { + "error-model-400": { + "description": "Bad Request. The request could not be understood by the server. Check error message and details to further understand the cause.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "errorCode", + "message" + ], + "properties": { + "errorCode": { + "type": "string", + "description": "Required, non-null, non-empty, language-independent string. Its value is a service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Required, non-null, non-empty, language-dependent, human-readable string describing the error." + }, + "details": { + "type": "array", + "description": "Optional, potentially empty collection of structured instances with code, message, and target following the rules above.", + "items": { + "$ref": "#/components/schemas/error-details" + } + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "error-model-401": { + "description": "Unauthorized request. The user could not be identified.", + "content": { + "application/json": { + "schema": { + "type": "object", + "x-examples": { + "Example 1": { + "errorCode": "AUTHENTICATION_EXCEPTION", + "message": "You are not authorized to perform this action", + "details": [] + } + }, + "required": [ + "errorCode", + "message" + ], + "properties": { + "errorCode": { + "type": "string", + "description": "Required, non-null, non-empty, language-independent string. Its value is a service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Required, non-null, non-empty, language-dependent, human-readable string describing the error." + }, + "details": { + "type": "array", + "description": "Optional, potentially empty collection of structured instances with code, message, and target following the rules above.", + "items": { + "$ref": "#/components/schemas/error-details" + } + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + }, + "error-model-403": { + "description": "Forbidden request. The user does not have the necessary permissions for the resource.", + "content": { + "application/json": { + "schema": { + "type": "object", + "x-examples": { + "Example 1": { + "errorCode": "AUTHENTICATION_EXCEPTION", + "message": "You are not authorized to perform this action", + "details": [] + } + }, + "required": [ + "errorCode", + "message" + ], + "properties": { + "errorCode": { + "type": "string", + "description": "Required, non-null, non-empty, language-independent string. Its value is a service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Required, non-null, non-empty, language-dependent, human-readable string describing the error." + }, + "details": { + "type": "array", + "description": "Optional, potentially empty collection of structured instances with code, message, and target following the rules above.", + "items": { + "$ref": "#/components/schemas/error-details" + } + } + } + } + } + }, + "headers": { + "X-LC-TraceId": { + "$ref": "#/components/headers/X-LC-TraceId" + } + } + } + } + } +} \ No newline at end of file diff --git a/articles/LCPublicAPI/api/Data-Bridge-API.v1.md b/articles/LCPublicAPI/api/Data-Bridge-API.v1.md new file mode 100644 index 0000000..23b0710 --- /dev/null +++ b/articles/LCPublicAPI/api/Data-Bridge-API.v1.md @@ -0,0 +1,23 @@ +--- +title: "Data Bridge API Documentation" +_disableBreadcrumb: false +_disableAffix: true +_enableSearch: false +_disableToc: false +--- + +
+ + ⤢ View Documentation Fullscreen + +
+ +
+ + + + diff --git a/articles/LCPublicAPI/api/Global-Public-API.v1.json b/articles/LCPublicAPI/api/Global-Public-API.v1.json index 09dffa6..ba510a8 100644 --- a/articles/LCPublicAPI/api/Global-Public-API.v1.json +++ b/articles/LCPublicAPI/api/Global-Public-API.v1.json @@ -180,7 +180,7 @@ "$ref": "#/components/parameters/X-LC-Tenant" } ], - "x-internal": true + "x-internal": false } } }, @@ -277,10 +277,9 @@ "x-stoplight": { "id": "s7isz42nnk89u" }, - "description": "Trados Cloud Platform API host." + "description": "Trados Cloud Platform API host. It contains the host and is should be suffixed with the path of the Public API and version." } - }, - "description": "" + } }, "list-jwks": { "title": "List JWKs Response", diff --git a/articles/LCPublicAPI/api/Global-Public-API.v1.md b/articles/LCPublicAPI/api/Global-Public-API.v1.md index af734d3..148a8c6 100644 --- a/articles/LCPublicAPI/api/Global-Public-API.v1.md +++ b/articles/LCPublicAPI/api/Global-Public-API.v1.md @@ -1,4 +1,4 @@ ---- +--- title: "Global Public API Documentation" _disableBreadcrumb: false _disableAffix: true @@ -20,4 +20,4 @@ _disableToc: false apiDescriptionUrl="Global-Public-API.v1.json" router="memory" layout="stacked" -> \ No newline at end of file +> diff --git a/articles/LCPublicAPI/api/Public-API.v1.json b/articles/LCPublicAPI/api/Public-API.v1.json index 197adb5..624f687 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.json +++ b/articles/LCPublicAPI/api/Public-API.v1.json @@ -133,6 +133,10 @@ "name": "TQA Profile", "description": "TQA Profile" }, + { + "name": "Translation", + "description": "Translation" + }, { "name": "Translation Domain", "description": "Translation Domain" @@ -153,10 +157,6 @@ "name": "Translation Memory Import", "description": "Translation Memory Import" }, - { - "name": "Translation", - "description": "Translation" - }, { "name": "User", "description": "User" @@ -3196,7 +3196,7 @@ } } }, - "description": "Updates a PerfectMatch batch mapping.\r\n\r\nPay special attention to how [updating works](../docs/Updating-data-with-PUT.html).", + "description": "Updates a PerfectMatch batch mapping.\r\n\r\nPay special attention to how [updating works](https://languagecloud.sdl.com/lc/api-docs/updating-data-with-put).", "x-stoplight": { "id": "k414o2pdrvauv" } @@ -19304,6 +19304,7 @@ }, "conditional-cost-operator": { "title": "Conditional Cost Operator", + "type": "string", "x-stoplight": { "id": "u0in7jsh95abi" }, @@ -19316,6 +19317,7 @@ }, "conditional-cost-type": { "title": "Conditional Cost Type", + "type": "string", "x-stoplight": { "id": "br34ph3abddli" }, @@ -19327,6 +19329,7 @@ }, "conditional-cost-variable": { "title": "Conditional Cost Variable", + "type": "string", "x-stoplight": { "id": "e97vbe2580u68" }, @@ -19356,6 +19359,7 @@ "$ref": "#/components/schemas/folder-v2" }, "ragStatus": { + "type": "string", "x-stoplight": { "id": "z7v6f1w7qrqdj" }, @@ -19736,6 +19740,7 @@ ], "properties": { "status": { + "type": "string", "x-stoplight": { "id": "dfww4v5fop36i" }, @@ -20487,6 +20492,7 @@ }, "language-cost-type": { "title": "Language Cost Type", + "type": "string", "x-stoplight": { "id": "95486073d14e0" }, @@ -22729,6 +22735,7 @@ }, "pricing-unit-type": { "title": "Pricing Unit Type", + "type": "string", "enum": [ "words", "characters" @@ -23104,6 +23111,7 @@ }, "project-cost-type": { "title": "Project Cost Type", + "type": "string", "x-stoplight": { "id": "nu6db8fhwsnqb" }, @@ -23968,6 +23976,7 @@ "x-default-field": true }, "translationOverwriteMode": { + "type": "string", "enum": [ "keepExisting", "overwriteIfBetter", @@ -23983,6 +23992,7 @@ "x-default-field": true, "description": "
default
Default: `confirmExactMatches`, `confirmContextMatches`
", "items": { + "type": "string", "enum": [ "confirmExactMatches", "confirmContextMatches", @@ -23996,6 +24006,7 @@ } }, "noMatchFoundAction": { + "type": "string", "enum": [ "leaveTargetSegmentsEmpty", "copySourceToTarget" @@ -24040,6 +24051,7 @@ "x-stoplight": { "id": "ceijjmhck9qpn" }, + "type": "string", "enum": [ "error", "warning", @@ -24060,6 +24072,7 @@ "x-stoplight": { "id": "v1367u510xuxk" }, + "type": "string", "enum": [ "error", "warning", @@ -24080,6 +24093,7 @@ "x-stoplight": { "id": "61mcttvp5oynd" }, + "type": "string", "enum": [ "error", "warning", @@ -24100,6 +24114,7 @@ "x-stoplight": { "id": "a8nhawfmukkbc" }, + "type": "string", "enum": [ "error", "warning", @@ -24312,6 +24327,7 @@ "x-stoplight": { "id": "0jd2dz8tdy6br" }, + "type": "string", "enum": [ "error", "warning", @@ -24332,6 +24348,7 @@ "x-stoplight": { "id": "c907ccbq4vdxn" }, + "type": "string", "enum": [ "error", "warning", @@ -24402,6 +24419,7 @@ "x-stoplight": { "id": "17melvff79o5q" }, + "type": "string", "enum": [ "words", "characters" @@ -24431,6 +24449,7 @@ "x-stoplight": { "id": "widdgh98t4w1g" }, + "type": "string", "enum": [ "error", "warning", @@ -24554,6 +24573,7 @@ "x-stoplight": { "id": "24w5oqpge9vtt" }, + "type": "string", "enum": [ "error", "warning", @@ -24580,6 +24600,7 @@ "x-stoplight": { "id": "bsouwbxqv95ye" }, + "type": "string", "enum": [ "error", "warning", @@ -24614,6 +24635,7 @@ "x-stoplight": { "id": "72j1swplvu10s" }, + "type": "string", "enum": [ "error", "warning", @@ -24648,6 +24670,7 @@ "x-stoplight": { "id": "ry42m8y5j21he" }, + "type": "string", "enum": [ "error", "warning", @@ -24695,6 +24718,7 @@ "x-stoplight": { "id": "1fcl96sxrs5wx" }, + "type": "string", "enum": [ "error", "warning", @@ -24715,6 +24739,7 @@ "x-stoplight": { "id": "f0umcr7ywjnsf" }, + "type": "string", "enum": [ "error", "warning", @@ -24735,6 +24760,7 @@ "x-stoplight": { "id": "9up0q78jlw73a" }, + "type": "string", "enum": [ "error", "warning", @@ -24769,6 +24795,7 @@ "x-stoplight": { "id": "z1snyx22cm8kp" }, + "type": "string", "enum": [ "error", "warning", @@ -24789,6 +24816,7 @@ "x-stoplight": { "id": "s3nerdbtbe17i" }, + "type": "string", "enum": [ "error", "warning", @@ -24818,6 +24846,7 @@ "x-stoplight": { "id": "b9qsayeygu8d5" }, + "type": "string", "enum": [ "error", "warning", @@ -24838,6 +24867,7 @@ "x-stoplight": { "id": "btsm5s1bzz7aq" }, + "type": "string", "enum": [ "error", "warning", @@ -24858,6 +24888,7 @@ "x-stoplight": { "id": "4eohngzh0e2bc" }, + "type": "string", "enum": [ "error", "warning", @@ -24878,6 +24909,7 @@ "x-stoplight": { "id": "f8rpatoa21n08" }, + "type": "string", "enum": [ "error", "warning", @@ -24907,6 +24939,7 @@ "x-stoplight": { "id": "05931rv7v34yd" }, + "type": "string", "enum": [ "error", "warning", @@ -24927,6 +24960,7 @@ "x-stoplight": { "id": "p7a2a445i131t" }, + "type": "string", "enum": [ "error", "warning", @@ -24947,6 +24981,7 @@ "x-stoplight": { "id": "9e40z6bd9mv8q" }, + "type": "string", "enum": [ "error", "warning", @@ -24967,6 +25002,7 @@ "x-stoplight": { "id": "5isqhxzz365vq" }, + "type": "string", "enum": [ "error", "warning", @@ -25012,6 +25048,7 @@ "x-stoplight": { "id": "4dxqub35774eb" }, + "type": "string", "enum": [ "error", "warning", @@ -25073,6 +25110,7 @@ "x-stoplight": { "id": "xmi8dmu62uzi8" }, + "type": "string", "enum": [ "error", "warning", @@ -25143,6 +25181,7 @@ "x-stoplight": { "id": "nmhpp19inyk2n" }, + "type": "string", "enum": [ "targetAndSource", "targetNotSource", @@ -25175,6 +25214,7 @@ "x-stoplight": { "id": "dfa7w4qetxl2c" }, + "type": "string", "enum": [ "error", "warning", @@ -25229,6 +25269,7 @@ "x-stoplight": { "id": "3wlsd7f20hftl" }, + "type": "string", "enum": [ "error", "warning", @@ -25241,6 +25282,7 @@ "id": "147n1oindvqf3" }, "x-default-field": true, + "type": "string", "enum": [ "fileSpecificLimit", "absoluteCharacterCount" @@ -29079,14 +29121,6 @@ } } }, - "translation-unit-resource-type": { - "title": "Translation Unit Resource Type", - "type": "string", - "description": "Enumeration of available translation unit resource types.", - "enum": [ - "TM" - ] - }, "translation-applied-resource-status": { "title": "Translation Applied Resource Status", "x-stoplight": { @@ -29236,32 +29270,6 @@ } } }, - "translation-resource": { - "title": "Translation Resource", - "x-stoplight": { - "id": "vrs494q2buzhy" - }, - "type": "object", - "required": [ - "resourceId", - "type" - ], - "properties": { - "resourceId": { - "type": "string", - "x-stoplight": { - "id": "1wr6q3uu0ow0s" - }, - "description": "The resource identifier." - }, - "type": { - "$ref": "#/components/schemas/translation-resource-type", - "x-stoplight": { - "id": "mn8n0t9bwutha" - } - } - } - }, "translation-resource-type": { "title": "Translation Resource Type", "type": "string", @@ -29527,36 +29535,6 @@ } } }, - "translation-update-resource": { - "title": "Translation Update Resource", - "x-stoplight": { - "id": "kk5sxng7r7rcv" - }, - "type": "object", - "required": [ - "resourceId", - "type" - ], - "properties": { - "resourceId": { - "type": "string", - "x-stoplight": { - "id": "ht1329zmz3hgp" - }, - "description": "The resource identifier." - }, - "type": { - "x-stoplight": { - "id": "dmov4sqorfrf3" - }, - "type": "string", - "enum": [ - "TM" - ], - "description": "The translation resource type." - } - } - }, "translation-cost-item": { "title": "Translation Cost Item", "type": "object", @@ -30773,6 +30751,7 @@ }, "volume-unit-type": { "title": "Volume Unit Type", + "type": "string", "x-stoplight": { "id": "xo217uws14jb2" }, @@ -31557,36 +31536,6 @@ } } }, - "translation-concordance-search-resource": { - "title": "Translation Concordance Search Resource", - "x-stoplight": { - "id": "20ixo2ym2xerq" - }, - "type": "object", - "required": [ - "resourceId", - "type" - ], - "properties": { - "resourceId": { - "type": "string", - "x-stoplight": { - "id": "9rewrlat7xg1p" - }, - "description": "The resource identifier." - }, - "type": { - "type": "string", - "x-stoplight": { - "id": "ablx3ujgx5zyg" - }, - "enum": [ - "TM" - ], - "description": "The resource type." - } - } - }, "language-direction-general-request": { "title": "Language Direction General Request", "x-stoplight": { @@ -31756,6 +31705,7 @@ "description": "The identifier of the export operation" }, "state": { + "type": "string", "description": "The status of the export", "default": "created", "enum": [ diff --git a/articles/LCPublicAPI/api/Public-API.v1.md b/articles/LCPublicAPI/api/Public-API.v1.md index 4af2066..9aedb7d 100644 --- a/articles/LCPublicAPI/api/Public-API.v1.md +++ b/articles/LCPublicAPI/api/Public-API.v1.md @@ -1,4 +1,4 @@ ---- +--- title: "Public API Documentation" _disableBreadcrumb: false _disableAffix: true @@ -20,4 +20,4 @@ _disableToc: false apiDescriptionUrl="Public-API.v1.json" router="memory" layout="stacked" -> \ No newline at end of file +> diff --git a/articles/LCPublicAPI/api/Webhooks.v1.json b/articles/LCPublicAPI/api/Webhooks.v1.json index 4697497..c1f52c0 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.json +++ b/articles/LCPublicAPI/api/Webhooks.v1.json @@ -645,6 +645,7 @@ "PROJECT.TASK.DELETED", "PROJECT.CREATED", "PROJECT.UPDATED", + "PROJECT.STARTED", "PROJECT.DELETED", "PROJECT.TEMPLATE.CREATED", "PROJECT.TEMPLATE.UPDATED", diff --git a/articles/LCPublicAPI/api/Webhooks.v1.md b/articles/LCPublicAPI/api/Webhooks.v1.md index bcdfde8..688e3fa 100644 --- a/articles/LCPublicAPI/api/Webhooks.v1.md +++ b/articles/LCPublicAPI/api/Webhooks.v1.md @@ -1,4 +1,4 @@ ---- +--- title: "Extensibility API Documentation" _disableBreadcrumb: false _disableAffix: true @@ -20,4 +20,4 @@ _disableToc: false apiDescriptionUrl="Webhooks.v1.json" router="memory" layout="stacked" -> \ No newline at end of file +> diff --git a/articles/LCPublicAPI/docs/Whats-New.md b/articles/LCPublicAPI/docs/Whats-New.md index 8f7da76..f971d13 100644 --- a/articles/LCPublicAPI/docs/Whats-New.md +++ b/articles/LCPublicAPI/docs/Whats-New.md @@ -1,13 +1,19 @@ # What's new -
+
+ +## 30 September 2025 + +- We introduced [Trados Data Bridge](../docs/data-bridge/Data-Bridge-Introduction.md) APIs providing secure, read-only access to Trados Cloud data. The API allows you to query project, task, cost, and quality metric data using the OData v4 protocol, and connect directly to business intelligence tools such as Power BI. +- As part of our multi-region support, we have added the global [List My Accounts](../api/Global-Public-API.v1-fv.html#/operations/ListMyAccounts) endpoint. +- We fixed various bugs. ## 10 September 2025 + - With this release we deliver [Lookup](../api/Public-API.v1-fv.html#/operations/TranslationsLookup), [Concordance](../api/Public-API.v1-fv.html#/operations/TranslationsConcordanceSearch), [Add](../api/Public-API.v1-fv.html#/operations/TranslationsAdd) and [Update](../api/Public-API.v1-fv.html#/operations/TranslationsUpdate) translation units to a translation memory. See [this](./translations/Translations.md) page for more details. - You can now [obtain](../api/Public-API.v1-fv.html#/operations/GetTranslationEngine) and [update](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) the resources sequence information for a Translation Engine. - A new project event `PROJECT.STARTED` has been added. See [this](./webhooks/Webhooks-payload.md) page for more details. - ## 18 August 2025 - The new, modernized Trados Cloud Platform SDK for Java is now available. See the upgrade guide [here](../docs/api-clients/java/Java-Client-Upgrade-Guide.md). @@ -19,21 +25,24 @@ - We fixed various bugs. ## 15 July 2025 + - You can now add the `systemStatus` property on termbase entries. See [Update Termbase Entry](../api/Public-API.v1-fv.html#/operations/UpdateTermbaseEntry). - We've improved the documentation around zip files on [Add Source File](../api/Public-API.v1-fv.html#/operations/AddSourceFile) and [Attach Source File](../api/Public-API.v1-fv.html#/operations/AddSourceFiles) endpoints. - As a reminder, we want to let our users know that the field `languageProcessingRuleId` under [Update Translation Engine](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) endpoint will be mandatory. - [Import Termbase](../api/Public-API.v1-fv.html#/operations/ImportTermbase) and [Poll Termbase Import](../api/Public-API.v1-fv.html#/operations/PollTermbaseImport) endpoints will return `pending` instead of `queued` for the status. This change is scheduled to take effect no sooner than six months from now. ## 8 May 2025 + - You can now download the target files associated with a project in a ZIP format. This functionality is accessible through three endpoints: [Export](../api/Public-API.v1-fv.html#/operations/ExportProjectFiles), [Poll](../api/Public-API.v1-fv.html#/operations/ExportProjectFilesStatus), and [Download](../api/Public-API.v1-fv.html#/operations/DownloadFile). - With this release we deliver the [Create](../api/Public-API.v1-fv.html#/operations/CreatePricingModel), [Update](../api/Public-API.v1-fv.html#/operations/UpdatePricingModel) and [Delete](../api/Public-API.v1-fv.html#/operations/DeletePricingModel) pricing model endpoints. Together with these, several changes were required to correct the pricing model response: - - `name` : changed from required to default. - - `additionalCosts.volumeUnitType` changed from required to non required. - - `additionalCosts.conditionalCostType` changed from required to non required. - - `additionalCosts.costOperator` changed from required to non required. - - `additionalCosts.costVariable` changed from required to non required. - - `additionalCosts.operand` changed from required to non required. - - `perTargetLanguage` and `perFile` cost types have been removed from `languageCosts` to clean up the structure. + + - `name` : changed from required to default. + - `additionalCosts.volumeUnitType` changed from required to non required. + - `additionalCosts.conditionalCostType` changed from required to non required. + - `additionalCosts.costOperator` changed from required to non required. + - `additionalCosts.costVariable` changed from required to non required. + - `additionalCosts.operand` changed from required to non required. + - `perTargetLanguage` and `perFile` cost types have been removed from `languageCosts` to clean up the structure. - We have expanded the cost types by introducing two new values: **adhoc** and **adhoc volume**. - Import and Export TM endpoints are now subject to API limits. For more details, please refer to [this page](../docs/API-rate-limits.md). @@ -41,34 +50,36 @@ - We fixed various bugs. ## 1 April 2025 + - As part of the Connected AI feature, we have added the following updates and new endpoints: - We have introduced a new endpoint for listing [Large Language Models](../api/Public-API.v1-fv.html#/operations/ListLlmConfigurations) (LLMs). - - We have added the functionality to [update your translation engines](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) with the new LLM resource type. + - We have added the functionality to [update your translation engines](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) with the new LLM resource type. - We have added the source word count to the [List Source Files](../api/Public-API.v1-fv.html#/operations/ListSourceFiles) endpoint. - We fixed various bugs. - ## 10 March 2025 - We've introduced the concept of [Batched Webhooks](../docs/webhooks/Batched-webhooks.md). -- We've updated the models for [Import Translation Memory](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory), [Export Translation Memory](../api/Public-API.v1-fv.html#/operations/ExportTranslationMemory) and [Get Translation Memory Import History](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory). +- We've updated the models for [Import Translation Memory](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory), [Export Translation Memory](../api/Public-API.v1-fv.html#/operations/ExportTranslationMemory) and [Get Translation Memory Import History](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory). - As part of this, the existing `status` field is now marked as deprecated in the response model of [Import Translation Memory](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory) and [Export Translation Memory](../api/Public-API.v1-fv.html#/operations/ExportTranslationMemory). - - Additionally, the fields `importAsPlainText` and `triggerRecomputeStatistics` are marked as deprecated in the request model of [Import Translation Memory](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory) and in the response model of [Get Translation Memory Import History](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory), alongside the `traceId` field. - - Their decommissioning is scheduled at a minimum of six months from now. - + - Additionally, the fields `importAsPlainText` and `triggerRecomputeStatistics` are marked as deprecated in the request model of [Import Translation Memory](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory) and in the response model of [Get Translation Memory Import History](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory), alongside the `traceId` field. + - Their decommissioning is scheduled at a minimum of six months from now. ## 10 December 2024 + - You can now associate existing users with a service user to notify them of actions via email, using Trados UI. More details [here](../docs/Service-credentials.md#step-2-trados-cloud-platform-administrators-add-additional-notification-options-for-service-users). - We have officially rebranded from RWS Language Cloud API to Trados Cloud Platform API. All references to our previous brand name will now reflect our new identity, Trados. - Provided [Postman Environments](../docs/Language-Cloud-APIs-for-Postman.md) for multi-region. ## 18 November 2024 -- As part of our multi-region support, we have added global endpoints to facilitate the discovery of available regions and hosts. For more details, see the [Multi-region](../docs/Multi-region.md) page. + +- As part of our multi-region support, we have added global endpoints to facilitate the discovery of available regions and hosts. For more details, see the [Multi-region](../docs/Multi-region.md) page. - We have updated the documentation on how to use the new SDK with multi-region features. - Additionally, we made various minor contract corrections. - As a reminder, we want to let our users know that the field `languageProcessingRuleId` under [Update Translation Engine](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) endpoint will become mandatory. ## 6 November 2024 + - We are planning to transition the hosting of our API from **lc-api.sdl.com** to **api.eu.cloud.trados.com** on November 9th: - **lc-api.sdl.com** for API and integrations will remain active. @@ -79,32 +90,34 @@ - You now have the ability to add notes to customer quotes. - - We have updated the deprecated types for the `language` and `targetLanguages` fields in the [Add Source File Request](../api/Public-API.v1-fv.html#/schemas/source-file-request) model, which now reference [Language Request](../api/Public-API.v1-fv.html#/schemas/language-request) model. In the updated API contract, these fields have been changed from simple strings to structured objects containing a `languageCode` property, enhancing clarity and consistency in language handling. - - > We will provide backwards compatibility until May 2025. However, starting with this release, SDKs will be updated to use the new types. Please ensure your integration is updated to use the new [Language Request](../api/Public-API.v1-fv.html#/schemas/language-request) model. +- We have updated the deprecated types for the `language` and `targetLanguages` fields in the [Add Source File Request](../api/Public-API.v1-fv.html#/schemas/source-file-request) model, which now reference [Language Request](../api/Public-API.v1-fv.html#/schemas/language-request) model. In the updated API contract, these fields have been changed from simple strings to structured objects containing a `languageCode` property, enhancing clarity and consistency in language handling. + +> We will provide backwards compatibility until May 2025. However, starting with this release, SDKs will be updated to use the new types. Please ensure your integration is updated to use the new [Language Request](../api/Public-API.v1-fv.html#/schemas/language-request) model. - We fixed various bugs. + ## 11 September 2024 - With this release we deliver the [PerfectMatch](https://docs.rws.com/791595/1155478/trados-enterprise---accelerate/perfectmatch-general-information) functionality. You can apply PerfectMatch either at the start of a project or midway through the translation process. These capabilities are accessible via the [PerfectMatch Mapping](../api/Public-API.v1-fv.html#/operations/CreatePerfectMatchMapping) menu. - We've improved filtering for projects lists. See the [List Projects](../api/Public-API.v1-fv.html#/operations/ListProjects) endpoint. -- A recent update has been made to the [Webhooks Setup](../docs/webhooks/Webhooks-setup.md) page, informing the customers that the order of webhook event deliveries cannot be guaranteed. Please take this into consideration using the `timestamp` field to determine the event generation time. +- A recent update has been made to the [Webhooks Setup](../docs/webhooks/Webhooks-setup.md) page, informing the customers that the order of webhook event deliveries cannot be guaranteed. Please take this into consideration using the `timestamp` field to determine the event generation time. - You can now set due dates for tasks during project creation. - We fixed various bugs. - ## 28 August 2024 + - We have introduced a new option which allows users to switch to a different pricing model at the Customer Quote Review task using the dedicated endpoint [Update Project Pricing Model](../api/Public-API.v1-fv.html#/operations/UpdateProjectPricingModel). - You now have the ability to view the locking color options for MTQE segments by utilizing the [Get Project Template](../api/Public-API.v1-fv.html#/operations/GetProjectTemplate) endpoint. - The parameter `termbaseStructure.fields.type` in the [Get Termbase](../api/Public-API.v1-fv.html#/operations/GetTermbase) endpoint is no longer marked as mandatory. - We fixed various bugs. ## 1 July 2024 + - We updated the folder/resource locations to the new format, which now includes the [path](../api/Public-API.v1-fv.html#/schemas/folder). - We fixed various bugs. ## 9 May 2024 - + - You can configure the number of days after which projects are given the Completed or Archived status automatically using the `completionConfiguration` option under the following endpoints: [Create](../api/Public-API.v1-fv.html#/operations/CreateProject) and [Update](../api/Public-API.v1-fv.html#/operations/UpdateProject) Project, [Create](../api/Public-API.v1-fv.html#/operations/CreateProjectTemplate) and [Update](../api/Public-API.v1-fv.html#/operations/UpdateProjectTemplate) Project Template. - The field `languageProcessingRuleId` under [Update Translation Engine](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) endpoint will become mandatory. The enforcement is scheduled at a minimum of six months from now. - As a reminder, we want to let our users know that we updated the folder/resource locations to the new format, which now includes the [path](../api/Public-API.v1-fv.html#/schemas/folder-v2). The old fields are marked as deprecated and their decommissioning is planned for near future. Please ensure you update the implementation if you are using fields that are marked as deprecated. @@ -112,7 +125,7 @@ ## 8 April 2024 -- We extended the information available on the webhooks setup page, [Circuit Breaker](../docs/webhooks/Webhooks-setup.md#circuit-breaker) section. +- We extended the information available on the webhooks setup page, [Circuit Breaker](../docs/webhooks/Webhooks-setup.md#circuit-breaker) section. - We removed the `languageId` allowed values for the [Export Quote Report](../api/Public-API.v1-fv.html#/operations/ExportQuoteReport) endpoint. - As a reminder, we want to let our users know that we updated the folder/resource locations to the new format, which now includes the [path](../api/Public-API.v1-fv.html#/schemas/folder-v2). The old fields are marked as deprecated and their decommissioning is planned for near future. Please ensure you update the implementation if you are using fields that are marked as deprecated. - We fixed various bugs. @@ -128,14 +141,16 @@ - With this release we deliver the [Create Project Template](../api/Public-API.v1-fv.html#/operations/CreateProjectTemplate) endpoint. Subsequent iterations with new implementations will follow, ensuring continuous enhancement for project template creation. - We enhanced the response model for the [Get Project Template](../api/Public-API.v1-fv.html#/operations/GetProjectTemplate) endpoint, which now includes settings for verification and batch tasks. The existing `forceOnline` and `quoteTemplate` fields from root level are now marked as deprecated, as they have been moved to the `settings` section. Their decommissioning is scheduled at a minimum of six months from now. - Webhooks will stop trying to send on urls that cause timeouts, retrying later. Read more [here](../docs/webhooks/Webhooks-setup.md#circuit-breaker). -- We fixed various bugs. +- We fixed various bugs. ## 16 November 2023 + - We introduced the `applicableOutcomes` field under the [get task](../api/Public-API.v1-fv.html#/operations/GetTask) endpoint to be used when completing the tasks. - You can now change the folder visibility when updating a customer. - We fixed various bugs. -## 17 October 2023 +## 17 October 2023 + - This release delivers more integrations for the customer resource type. You can now [create](../api/Public-API.v1-fv.html#/operations/CreateCustomer), [update](../api/Public-API.v1-fv.html#/operations/UpdateCustomer) and [delete](../api/Public-API.v1-fv.html#/operations/DeleteCustomer) customers. - We enhanced the response model for [pricing](../api/Public-API.v1-fv.html#/operations/ListPricingModels) endpoints. - As previously announced, we made the `dueBy`, the `location` and the `languageDirections` fields mandatory for [creating a project](../api/Public-API.v1-fv.html#/operations/CreateProject). @@ -144,65 +159,70 @@ - We fixed various bugs. ## 06 September 2023 + - With this release we deliver the [create](../api/Public-API.v1-fv.html#/operations/CreateScheduleTemplate), [read](../api/Public-API.v1-fv.html#/operations/GetScheduleTemplate), [update](../api/Public-API.v1-fv.html#/operations/UpdateScheduleTemplate) and [delete](../api/Public-API.v1-fv.html#/operations/DeleteScheduleTemplate) endpoints of the new schedule template resource. You will find the endpoints under the [schedule templates](../api/Public-API.v1-fv.html#/operations/ListScheduleTemplates) menu. You can also retrieve the schedule template attached to a [project](../api/Public-API.v1-fv.html#/operations/GetProject) or to a [project template](../api/Public-API.v1-fv.html#/operations/GetProjectTemplate) using the relevant fields. - Additionally, the [create project](../api/Public-API.v1-fv.html#/operations/CreateProject) now supports the schedule template resource, either individually or from the project template. -- We added the `apiInternalId` to [task type](../api/Public-API.v1-fv.html#/schemas/task-type) and [workflow task template](../api/Public-API.v1-fv.html#/schemas/workflow-task-template) to easily identify custom tasks. +- We added the `apiInternalId` to [task type](../api/Public-API.v1-fv.html#/schemas/task-type) and [workflow task template](../api/Public-API.v1-fv.html#/schemas/workflow-task-template) to easily identify custom tasks. - We fixed various bugs. ## 17 August 2023 + - We updated the folder/resource locations to the new format, which now includes the [path](../api/Public-API.v1-fv.html#/schemas/folder-v2). The old fields are marked as deprecated and their decommissioning is scheduled at a minimum of six months from now. Please ensure you update the implementation if you are using fields that are marked as deprecated. - Enhanced [project configuration](../api/Public-API.v1-fv.html#/operations/UpdateProjectConfiguration) now includes new choices for updating translation memory settings. - We fixed various bugs. - As a reminder, we want to let our users know that validations related to the following fields used at project creation: `dueBy`, `location` and `languageDirections` will become **required** in near future. ## 02 August 2023 + - With this release we provide a new endpoint to allow integrators to update only one [custom field](../api/Public-API.v1-fv.html#/operations/UpdateCustomField) of a project - We extended the information available on the [webhooks](../docs/webhooks/Webhooks-payload.md) page -- You can now update a translation engine as a stand alone resource or one that is linked to a live project. Read this [page](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) for more details. -- We fixed various bugs. +- You can now update a translation engine as a stand alone resource or one that is linked to a live project. Read this [page](../api/Public-API.v1-fv.html#/operations/UpdateTranslationEngine) for more details. +- We fixed various bugs. ## 15 June 2023 + - We extended the information provided for both [source](../api/Public-API.v1-fv.html#/operations/ListSourceFileVersions) and [target](../api/Public-API.v1-fv.html#/operations/ListTargetFileVersions) files in a task with the `name`, the `version` and `originatingTaskId` details - We made available a new [rate-limits](../api/Public-API.v1-fv.html#/operations/ListRateLimits) endpoint and a new header which includes the relevant policy name, namely, the `X-RateLimit-Policy` header. Read the [API-rate-limits](../docs/API-rate-limits.md) page for more details. - We improved descriptions for the `default` and `required` fields [here](../docs/Use-fields-in-your-requests.md). - We updated the JAVA samples to reflect changes in the SDK. - We fixed various bugs. - ## 19 May 2023 -- We replaced the `friendlyId` on all Project Group endpoints with `shortId` and we've exposed it on all Project endpoints too. -- As a security enhancement, we will restrict some characters in naming projects and project files. The unsupported characters are: `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*`. -- In 6 months we will introduce the following breaking change: on the [Export Quote Report](../api/Public-API.v1-fv.html#/operations/ExportQuoteReport) endpoint, if the quote is not generated using a Quote Template, the response will be an empty object. + +- We replaced the `friendlyId` on all Project Group endpoints with `shortId` and we've exposed it on all Project endpoints too. +- As a security enhancement, we will restrict some characters in naming projects and project files. The unsupported characters are: `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*`. +- In 6 months we will introduce the following breaking change: on the [Export Quote Report](../api/Public-API.v1-fv.html#/operations/ExportQuoteReport) endpoint, if the quote is not generated using a Quote Template, the response will be an empty object. - We will enforce validations related to the following fields at project creation: `dueBy`, `location` and `languageDirections`. These fields will become **required** in 3 months. - As a reminder, we want to let our users know that for security issues or bugs we may introduce breaking changes at any time. - - ## 20 April 2023 + - With this release we enforce validations listed in the documentation for the Create and Update Project endpoints. This impacts the SDKs, so please update your integration accordingly. -- We extended the [webhooks](../docs/Webhooks.md) functionality to support error tasks +- We extended the [webhooks](../docs/webhooks/Webhooks-setup.md) functionality to support error tasks - We introduced the `customFields` field for project webhooks, and the `dueBy` field for task webhooks - We added the `name` of the `customFields` under the response for the Get Project endpoint - We fixed various bugs. ## 21 March 2023 -- We extended the list of [webhooks](../docs/Webhooks.md) available for tasks, projects, project files, project templates and enabled the first webhook for project group + +- We extended the list of [webhooks](../docs/webhooks/Webhooks-setup.md) available for tasks, projects, project files, project templates and enabled the first webhook for project group - We fixed several bugs. ## 03 March 2023 + - We introduced fields displaying the project status history and the `completedAt` date for a task. - We exposed the project creator as a sorting option on list projects. - We fixed several bugs - We want to remind our users we will enforce validations listed in the documentation for the Create and Update Project endpoints. ## 15 February 2023 + - We enabled support for the Trados Enterprise Quote Template functionality - We introduced the `projectManagers` field to enable the selection of individuals or of users groups at [project creation](../api/Public-API.v1-fv.html#/operations/CreateProject). - We removed unnecessary outcome values for the [Task Completed Request](../api/Public-API.v1-fv.html#/schemas/task-complete-request) model on the [Complete Task](../api/Public-API.v1-fv.html#/operations/CompleteTask) operation. This impacts the SDKs, so update your integration accordingly. - You can now specify the `projectCreator` as an assignee type for a task when [updating a project](../api/Public-API.v1-fv.html#/operations/UpdateProject). - We will enforce validations related to the following fields at project creation: `dueBy`, `location` and `languageDirections`. These fields will become **required** in 6 months. - ## 11 January 2023 - You can now [create](../api/Public-API.v1-fv.html#/operations/CreateProjectGroup), [read](../api/Public-API.v1-fv.html#/operations/GetProjectGroup), [update](../api/Public-API.v1-fv.html#/operations/UpdateProjectGroup) and [delete](../api/Public-API.v1-fv.html#/operations/DeleteProjectGroup) Project Groups @@ -210,45 +230,49 @@ - We've introduced fields displaying more details for error tasks - We fixed various bugs - ## 22 November 2022 + - To enable support for the Trados Enterprise multi-source resources functionality, we're introducing an important breaking change: when creating workflows with multi-source languages from the TE UI, please use the new `languageDirection` scope value. As the new feature may limit previously working functionality, inconsistencies within applications or certain products may appear. For integrations that are impacted, please contact their developers to update the integrations. - We've made 3 new endpoints available for [TM export](../api/Public-API.v1-fv.html#/operations/ExportTranslationMemory) -- We removed the old 10 MB size limitations for files, termbases and translation memories. We now support [these values](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) for files and [these values](https://docs.rws.com/791595/741139/trados-enterprise---accelerate/importing-tm-content) for importing translation memory content. +- We removed the old 10 MB size limitations for files, termbases and translation memories. We now support [these values](https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit) for files and [these values](https://docs.rws.com/791595/741139/trados-enterprise---accelerate/importing-tm-content) for importing translation memory content. - Users can now retrieve task comments. -- We've added the [TM Import history](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory) endpoint. +- We've added the [TM Import history](../api/Public-API.v1-fv.html#/operations/GetTMImportHistory) endpoint. - We are postponing the breaking change in the `LanguageDirectionRequest` model, previously announced for November, and consequently the model can be used until the end of 2022. - 4 new endpoints are subject to [API limits](https://languagecloud.sdl.com/lc/api-docs/d2266fabaa1bf-api-rate-limits#project-files-rate-limits) -- We fixed various bugs. +- We fixed various bugs. ## 28 October 2022 -- You can [import translation memories](../docs/translation-memory/Translation-memory-import-export.md) using the [import](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory) and [poll](../api/Public-API.v1-fv.html#/operations/PollTMImport) endpoints. Note that the maximum size for an imported translation memory is 10 MB. -- We added traceability fields for terminology entries: createdAt, createdBy, lastModifiedAt, lastModifiedBy -- We added recommendations for [HTTP headers](../docs/Headers-considerations.md) -- We updated the recommendations for [Authentication](../docs/Authentication.md) and the [API rate limits](../docs/API-rate-limits.md) with token values and other details + +- You can [import translation memories](../docs/translation-memory/Translation-memory-import-export.md) using the [import](../api/Public-API.v1-fv.html#/operations/ImportTranslationMemory) and [poll](../api/Public-API.v1-fv.html#/operations/PollTMImport) endpoints. Note that the maximum size for an imported translation memory is 10 MB. +- We added traceability fields for terminology entries: createdAt, createdBy, lastModifiedAt, lastModifiedBy +- We added recommendations for [HTTP headers](../docs/Headers-considerations.md) +- We updated the recommendations for [Authentication](../docs/Authentication.md) and the [API rate limits](../docs/API-rate-limits.md) with token values and other details - We fixed various bugs ## 15 September 2022 + - We introduced a new [Export Quote Report](../docs/Export-quote-report.md) mechanism and deprecated the older endpoint - We updated the constrains for the 'name' and 'description' fields for the [Create Project](../api/Public-API.v1-fv.html#/operations/CreateProject) and [Update Project](../api/Public-API.v1-fv.html#/operations/UpdateProject) endpoints that will be enforced starting December 2022 - We introduced a new page for the currently [Known issues](../docs/Known-Issues.md) - We fixed various bugs - ## 22 August 2022 + - You can now read [language processing rules](../api/Public-API.v1-fv.html#/operations/ListLanguageProcessingRules) and [translation memory field templates](../api/Public-API.v1-fv.html#/operations/ListFieldTemplates) - You can now [create](../api/Public-API.v1-fv.html#/operations/CreateTranslationMemory), [read](../api/Public-API.v1-fv.html#/operations/GetTranslationMemory), [update](../api/Public-API.v1-fv.html#/operations/UpdateTranslationMemory), [delete](../api/Public-API.v1-fv.html#/operations/DeleteTranslationMemory) and [copy](../api/Public-API.v1-fv.html#/operations/CopyTranslationMemory) translation memories ## 12 August 2022 -- Retiring of the Export Quote endpoint will happen in 6 months. You can read more about it [here](../docs/Public-API-Management-Process.md#endpoint-retirement-process). + +- Retiring of the Export Quote endpoint will happen in 6 months. You can read more about it [here](../docs/Public-API-Management-Process.md#endpoint-retirement-process). - We now support the Export Quote Report functionality with 3 new endpoints: [Poll Quote Export Report](../api/Public-API.v1-fv.html#/operations/PollQuoteReportExport), [Export Quote](../api/Public-API.v1-fv.html#/operations/ExportQuoteReport) and [Download Exported Quote](../api/Public-API.v1-fv.html#/operations/DownloadQuoteReport). - You can now upload [source](../api/Public-API.v1-fv.html#/operations/AddSourceFileVersion) and [target](../api/Public-API.v1-fv.html#/operations/AddTargetFileVersion) file versions - We published a new page about [File formats](../docs/File-formats.md) - We fixed various bugs ## 28 July 2022 -- We published a new page about [How to use location and folders](../docs/How-to-use-location-and-folders.md) -- We published a new page about [How to report an API issue](../docs/How-to-report-an-issue.md) + +- We published a new page about [How to use location and folders](../docs/How-to-use-location-and-folders.md) +- We published a new page about [How to report an API issue](../docs/How-to-report-an-issue.md) - We fixed various bugs ## 19 July 2022 @@ -262,58 +286,67 @@ - We updated the user guide page for [using fields](../docs/Use-fields-in-your-requests.md) with new animated gifs - We fixed various bugs - ## 07 June 2022 + - We have increased the API limits, you can find the new limits on [this page](../docs/API-rate-limits.md). - Deprecation of the language direction code will happen in 6 months. You can read more about it [here](../docs/Whats-deprecated.md). -- Enforce validations related to the length of the *name* and *description* fields and the accepted input values for the Create and Update Project endpoints will be delivered in 6 months. +- Enforce validations related to the length of the _name_ and _description_ fields and the accepted input values for the Create and Update Project endpoints will be delivered in 6 months. ## 24 May 2022 + - To address potentially infected files, we've updated our API contracts to support In-Product Antivirus scanning ## 04 May 2022 + - You can now upload a .zip archive using [this](../api/Public-API.v1-fv.html#/operations/UploadZipFile) endpoint and then [poll](../api/Public-API.v1-fv.html#/operations/PollUploadZipFile) for the extracted files. After extraction, you can upload multiple source files to a project using a [single call](../api/Public-API.v1-fv.html#/operations/AddSourceFiles). The maximum size for an imported .zip file is 10 MB. - Our Java SDK client is now available in **public beta**. [Here](../docs/api-clients/java/Java-Client.md) are more details on how to start integrating it into your solution -- We published the API limits [here](../docs/API-rate-limits.md) +- We published the API limits [here](../docs/API-rate-limits.md) - We updated the Custom fields [page](../docs/Custom-Fields.md) with useful gifs - We fixed various bugs **We update the .NET and Java client versions with each API release.** ## 11 March 2022 + - You can now export a termbase and a termbase template in Trados Enterprise using the Trados Cloud Platform API - We fixed various bugs ## 22 February 2022 + - You can now convert an xdt file into a termbase structure using [this](../api/Public-API.v1-fv.html#/operations/ConvertTermbaseTemplate) dedicated endpoint - When updating a termbase entry you will have to provide either the name or the identifier for the `termbaseFieldValues` -- We fixed various bugs - +- We fixed various bugs + ## 2 February 2022 + - You can now import a termbase in Trados Enterprise using the Trados Cloud Platform API. The supported extensions are `xml` and `tbx`. The maximum size for an imported termbase is 10 MB. - Our .NET SDK client is now available in **public beta**. [Here](../docs/api-clients/net/NET-Client.md) are more details on how to start integrating it into your solution. - We updated the [basic project creation](../docs/Basic-project-creation-flow.md) page with useful gifs and added a small Postman collection to help you get started quickly - We fixed various bugs - ## 15 December 2021 + - You can now create, read, update and delete terminology termbases, termbase templates and termbase entries - We fixed various bugs ## 18 November 2021 + - You can now update the configurations of future tasks using the `projectPlan` field, in the [`update project`](../api/Public-API.v1-fv.html#/operations/UpdateProject) endpoint - Fixed various bugs ## 20 October 2021 + - Basic project creation flow added - Fixed various bugs ## 04 October 2021 + - Added multiple date formats - Added pagination for [`List File Processing Configurations`](../api/Public-API.v1-fv.html#/operations/ListFileProcessingConfigurations) endpoint - Fixed various bugs ## 08 September 2021 + - Added support for downloading quote files - Enum values updated to follow camelCase convention - Updated documentation for projectTemplate in create project request @@ -322,6 +355,7 @@ - Updated documentation for [Quotes](../docs/Export-quote-report.md) ## 26 August 2021 + - Added support to restrict file downloads - When creating/updating projects using a project template which has mandatory custom fields, you must supply those custom fields - Fixed various bugs @@ -329,6 +363,7 @@ **We will remove deprecated fields from the [`ErrorResponse`](../api/Public-API.v1-fv.html#/schemas/error-response) model in an upcoming release. Please ensure you are not using fields marked as deprecated!** ## 29 July 2021 + - Added endpoints for custom field definitions. - Added support for custom fields on projects and project templates. - The `translationEngine`, `fileProcessingConfiguration`, `workflow` fields are now required on the [`/projects`](../api/Public-API.v1-fv.html#/operations/CreateProject) endpoint. @@ -338,34 +373,35 @@ - Fixed various bugs. ## 08 June 2021 -* For endpoints that return multiple items, the `top` query parameter has a default value of `100` and a maximum value of `100`; `skip` has a default value of `0`. -* The `Authorization` and `X-LC-Tenant` headers are now required for all endpoints. -* Improved the returned error structure. -* Fixed various issues with incorrect contract. -* Added new conditional cost fields (`costOrder`, `conditionalCostType`, `conditionalCostOperator`, `conditionalCostVariable`, `conditionalCostThreshold`) when working with project quotes. -* Added currency types for quote model. + +- For endpoints that return multiple items, the `top` query parameter has a default value of `100` and a maximum value of `100`; `skip` has a default value of `0`. +- The `Authorization` and `X-LC-Tenant` headers are now required for all endpoints. +- Improved the returned error structure. +- Fixed various issues with incorrect contract. +- Added new conditional cost fields (`costOrder`, `conditionalCostType`, `conditionalCostOperator`, `conditionalCostVariable`, `conditionalCostThreshold`) when working with project quotes. +- Added currency types for quote model. ## 17 May 2021 + A Postman Collection is now available for integrators. Check out [this](../docs/Language-Cloud-APIs-for-Postman.md) page for details. ## 10 February 2021 -* **Target File** > **Download File Version** endpoint +- **Target File** > **Download File Version** endpoint When you make a `GET` request to the [`/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/download`](../api/Public-API.v1-fv.html#/operations/DownloadFileVersion) endpoint, you can now perform a direct download of the native file as well as of the `BCM` file version. -* **Target File** > **Export Target File Version** endpoint +- **Target File** > **Export Target File Version** endpoint When you make a `POST` request to the [`/projects/{projectId}/target-files/{targetFileId}/versions/{fileVersionId}/exports`](../api/Public-API.v1-fv.html#/operations/ExportTargetFileVersion) endpoint, you now have a query parameter where you can specify whether the file version export should be a native file or an `sdlxliff` file. The default value is `native`. ## 28 January 2021 -* **Project** > **List Project’s Tasks** endpoint +- **Project** > **List Project’s Tasks** endpoint When you make a `GET` request to the [`/projects/{projectId}/tasks`](../api/Public-API.v1-fv.html#/operations/ListProjectTasks) endpoint, you can now retrieve the available project tasks and their details. - -* **Retrieving tasks** +- **Retrieving tasks** Retrieving tasks provides the following new additional details: @@ -376,8 +412,4 @@ Retrieving tasks provides the following new additional details: When adding source files to a project, you can specify their target languages via the `targetLanguages` and `path` elements. - - - ₍^. .^₎⟆ - diff --git a/articles/LCPublicAPI/docs/api-clients/net/Net-Samples.md b/articles/LCPublicAPI/docs/api-clients/net/Net-Samples.md index 92cd0cf..8464fb7 100644 --- a/articles/LCPublicAPI/docs/api-clients/net/Net-Samples.md +++ b/articles/LCPublicAPI/docs/api-clients/net/Net-Samples.md @@ -1,23 +1,15 @@ # Trados Cloud Platform SDK Samples for .NET - -This document is designed to help developers get started with the Trados Cloud Platform SDK in .NET applications. You'll find practical sample code and clear guidance for instantiating API clients using credentials, context scoping, or custom handlers. The examples also show how to integrate the SDK into ASP.NET Web API projects, including tips for dependency injection and custom authentication. Use these samples to quickly implement Trados Cloud Platform features in your console or web API projects. - -Here is some guidance to help you decide which sample to follow: - -- If your application targets a single tenant, the quickest way to get started is the [Instantiating a client using credentials (single tenant)](#instantiating-a-client-using-credentials-single-tenant) sample. -- For background processes that must handle multiple tenants, see the [Instantiating a client using context scoping](#instantiating-a-client-using-context-scoping) sample. -- If you're building a multi-tenant web application and need Dependency Injection that depends on the current user, start with the [Web API Dependency Injection Sample](#web-api-dependency-injection-sample). -- If you require a custom authentication flow, the SDK supports supplying your own handler — see [Instantiating a client using a custom handler](#instantiating-a-client-using-a-custom-handler). +
## Console Application Sample The console application sample is available for download on [GitHub](https://github.com/RWS/language-cloud-public-api-samples/tree/main/.Net/PublicApi.Sample.Console). -It contains three examples of how to instantiate and work with an API client provided by the Trados Cloud Platform SDK. You can either use the supplied provider, or handle the client instantiation on your own: +It contains 3 examples of how to instantiate and work with an API client provided by the Trados Cloud Platform SDK. You can either use the supplied provider, or handle the client instantiation on you own: -### Instantiating a client using credentials (single tenant) +### Instantiating a client using credentials -You can instantiate a client using the supplied `LanguageCloudClientProvider` class. This method requires you to provide a `ServiceCredentials` object, which contains your `clientID`, `clientSecret` and the `tenant`. *See the [Authentication](../../../docs/Authentication.md) page for more details.* +You can instantiate a client using the supplied `LanguageCloudClientProvider` class. This method requires you provide a `ServiceCredentials` object, which contains your `clientID`, `clientSecret` and the `tenant`. *See the [Authentication](../../../docs/Authentication.md) page for more details.* ```csharp using Rws.LanguageCloud.Sdk; @@ -37,7 +29,7 @@ var projectClient = clientProvider.GetProjectClient(credentials); var projectsResponse = await projectClient.ListProjectsAsync(); ``` -*Using this method, a unique TraceId will be generated for each request.* + *\*Using this method, a unique TraceId will be generated on each request.* @@ -45,11 +37,12 @@ var projectsResponse = await projectClient.ListProjectsAsync(); > > Make sure you always keep your credentials safe. + ### Instantiating a client using context scoping -This method lets you make API calls as two different users using the same client instance. +This method allows you to make an API call with 2 different users, using the same client instance. -We provide an `ApiClientContext` which exposes scoping options. You can use it to scope API calls for different users; the sample shows an example with two users: +We provide an `ApiClientContext` which exposes some scoping options. You can use this to scope your API calls in different contexts. The sample contains an example with 2 different users: ```csharp using Rws.LanguageCloud.Sdk; @@ -66,7 +59,7 @@ ServiceCredentials credentials_2 = new ServiceCredentials("client-id-2", "client var clientProvider = new LanguageCloudClientProvider("eu"); // instantiate the client without credentials -var projectClient = clientProvider.GetProjectClient(); +var client = clientProvider.GetProjectClient(); // create a context scope and use the client. You can also provide your own traceId using (ApiClientContext.BeginScope(new LCContext(credentials_1, "trace-id-1"))) @@ -104,9 +97,9 @@ var client = clientProvider.GetProjectClientNoAuth(handler); var projectsResponse = await projectClient.ListProjectsAsync(); ``` +

## Web API Dependency Injection Sample - The web API sample is available for download on [GitHub](https://github.com/RWS/language-cloud-public-api-samples/tree/main/.Net/PublicApi.WebApiSample). It contains an example of how to instantiate and work with an API client provided by the Trados Cloud Platform SDK for ASP .Net. @@ -115,10 +108,10 @@ It contains an example of how to instantiate and work with an API client provide > If you want to handle authentication and tracing on you own, you could implement your own `DelegatingHandler`. -In our example, we've created the `LcHandler` class, which inherits from `LCCustomAuthenticationHandler`. The `LCCustomAuthenticationHandler` class already provides an authentication mechanism. We've overridden the `GetServiceCredentials` and `GetTraceId` methods and provided our own implementations; these will be called by `LCCustomAuthenticationHandler`: +In our example, we've created the `LcHandler` class, which inherits from `LCCustomAuthenticationHandler`. The `LCCustomAuthenticationHandler` class already provides us with an authentication mechanism. We've overwritten the `GetServiceCredentials` and `GetTraceId` methods and provided our own implementations, as these will be called by `LCCustomAuthenticationHandler`: ```csharp -// Provide your own implementation. A possible example: +// Provide you own implementation. A possible example can be: protected override ServiceCredentials GetServiceCredentials() { int accountId = int.Parse(context.HttpContext.User.Claims.Single(x => x.Type.Equals("aid")).Value); @@ -128,8 +121,8 @@ protected override ServiceCredentials GetServiceCredentials() } ... - -// Provide your own implementation. A possible example: + +// Provide you own implementation. A possible example can be: protected override string GetTraceId() { return DateTimeOffset.UtcNow.ToString(); @@ -137,13 +130,12 @@ protected override string GetTraceId() ``` We'll need a bit of custom magic to make sure dependency injection works correctly for multi-region. We'll create a custom Factory to provide our clients. An example implementation would be a factory class to provide a per region factory. We'll make sure to have all instances initialized only once, to avoid problems: - ```csharp class RegionClientContainerFactory { - private readonly LanguageCloudClientProvider _languageCloudClientProvider; - private readonly IServiceProvider _serviceProvider; + LanguageCloudClientProvider _languageCloudClientProvider; + IServiceProvider _serviceProvider; private IAccountClient _accountClient; @@ -201,11 +193,11 @@ We'll need a bit of custom magic to make sure dependency injection works correct We register our handler `LcHandler` as a transient service and a Factory class with factory, in the `Startup` class: ```csharp -// Handlers should be registered as transient +// handlers must always be transient services.AddTransient(); -// Register the LanguageCloudClientFactory as a singleton. Resolve the handler from the provider when needed. -services.AddSingleton(provider => new LanguageCloudClientFactory(provider.GetRequiredService())); +// register a client +services.AddSingleton(provider => new LanguageCloudClientFactory(provider.GetService()); ``` We can then use the registered client in the controller (or any other class resolved through Dependency Injection): @@ -230,3 +222,5 @@ public class LanguageCloudApiSampleController : ControllerBase ... } ``` + + diff --git a/articles/LCPublicAPI/docs/data-bridge/Data-Bridge-Introduction.md b/articles/LCPublicAPI/docs/data-bridge/Data-Bridge-Introduction.md new file mode 100644 index 0000000..190de5d --- /dev/null +++ b/articles/LCPublicAPI/docs/data-bridge/Data-Bridge-Introduction.md @@ -0,0 +1,77 @@ +--- +stoplight-id: 6xca951byllum +--- + +# Trados Data Bridge + +Trados Data Bridge - technically known as the Data API - gives you secure, read-only access to your Trados Cloud data. It’s designed for reporting, analytics, and business intelligence applications, allowing external tools to connect directly without manual exports or custom connectors. + +## Overview + +The Data API provides structured, near real-time access to analytical data about your translation projects, tasks, costs, leverage, and evaluation metrics. +Use Data Bridge to: +Power dashboards in your existing analytics environment +Combine localization metrics with data from financial systems, CRMs, or web analytics +Uncover trends and measure the business impact of your localization strategy +By connecting directly to Trados data, teams can stop relying on static reports or siloed dashboards and instead build a single, holistic view of performance across the enterprise. + +## Key Features + +- **Read-only access to analytical data** to safely explore data without risking changes +- **OData v4 query capabilities** for flexible data filtering and sorting +- **Multiple data sets** including projects, tasks, costs, leverage, and evaluation metrics +- **Fast integration** no custom connectors required, works with most BI and analytics platforms out of the box + +## Data Sets Available + +See the consolidated overview of all datasets: [Data Sets](Data-Sets.md). + +## Base API URL + +Trados Cloud Platform operates in multiple regions, and it's essential to know in which region your Trados is located to use the Data API. + +To see the host on different regions, check the API base URL in the contract. + +## Authentication & Authorization + +To start working with the Trados Data Bridge API, you first need to authenticate. +The Data Bridge API uses the same authentication mechanism as the Public API. + +Follow the instructions under the [Service users and custom applications](../Service-users-and-custom-applications.md) and the [Service Credentials](../Service-credentials.md) pages to create a service user and an application, and then authenticate, following the [Authentication](../Authentication.md) page, by using the application's `client_id` and `client_secret`. + +Before running requests, set `{{lc_tenant}}` to your account ID (for example, `LC-00000000000000000`). + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/SetLCTenant.png?raw=true) + +
+ +## Rate Limits and Daily Quotas + +Data Bridge API is governed by the same rate limits as Public API [API rate limits](../API-rate-limits.md) + +In addition, Data Bridge enforces a daily data transfer quota: + +- Quota is measured by data volume retrieved (not request count) +- Europe region: quota resets at midnight UTC +- Canada region: quota resets at midnight EST +- Requests that exceed the quota return HTTP 429 (Too Many Requests) until the reset time + +## Postman Collection + +Use the provided [Postman](../../docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md) collection to quickly explore and test the Trados Data Bridge API endpoints. + +## Data Availability + +Data availability varies by data set: + +- Most data becomes available after the **Analysis workflow task** completes +- Revenue data requires **Quote Generation task** completion +- Some metrics are updated in real-time as workflow tasks complete + +## Advanced Query Options + +For comprehensive OData query syntax reference and additional examples, see the [OData Query Guide](OData-Query-Guide.md) and [Microsoft OData Query Options Overview](https://learn.microsoft.com/en-us/odata/concepts/queryoptions-overview). + +## API Reference + +For detailed endpoint documentation, parameters, and response schemas, see the [Trados Data Bridge API Reference](../../api/Data-Bridge-API.v1-fv.html). diff --git a/articles/LCPublicAPI/docs/data-bridge/Data-Sets.md b/articles/LCPublicAPI/docs/data-bridge/Data-Sets.md new file mode 100644 index 0000000..4ed92d7 --- /dev/null +++ b/articles/LCPublicAPI/docs/data-bridge/Data-Sets.md @@ -0,0 +1,151 @@ +--- +stoplight-id: w743d2ir4w8v6 +--- + +# Data Sets + +## File Translation Status + +This data source shows an entry for each target file in the system, as well as tabular data about the human workflow. The data about translation and review workflow steps is displayed on one line. If the workflow does not contain all the steps, the columns reserved for them show null placeholders. + +The metrics included in this data source are: +- Total number of source words +- Total number of words translated in the pre-translated task (and their distribution) +- Total number of human-translated words +- Total number of human-reviewed words +- Total workflow duration (from project creation to finalization) +The data for the File Translation Status data source becomes available after the Analysis workflow task has been completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/FTSExpand.gif?raw=true) + +### You have the possibility to expand the File Translation Status Data Set with the following dimensions: +- project +- customer +- languagePair +- sourceFile +- projectCreationDate +- translationDate +- translator +- reviewDate +- reviewer +- customerReviewDate +- customerReviewer +- finalizationDate + +## Language Revenue Details + +This data source shows the costs of each project per language direction. + +The metrics included in the data source are: +- Total revenue +- Total number of units that generated revenue +The data for the Language Revenue Details data source becomes available after the Customer Quote Generation task has been completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/LRDExpand.gif?raw=true) + +### You have the possibility to expand the Language Revenue Details Data Set with the following dimensions: +- quoteDate +- customer +- project +- languagePair +- revenueType +- currency +- projectCreationDate + +## Language Revenue + +This data source shows the costs of each language direction. + +The metrics included in this data source are: +- Translation cost per target language +- Additional cost per target languages +- Additional cost per project +- Total cost +- Total number of source words per source language +- Total number of files per source language +- Discounts +The data for the Language Revenues data source becomes available after the Customer Quote Generation task has been completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/LRExpand.gif?raw=true) + +### You have the possibility to expand the Language Revenue Data Set with the following dimensions: +- customer +- project +- languagePair +- approveDate +- currency +- quoteApprover +- quoteDate + +## Task Status + +This data source shows metrics for each task executed in the system. + +The metrics included in this data source are: +- Actual duration +- Estimated duration +- Delivery duration +- Word count +The data for the Task Status data source becomes available after the Analysis workflow task has been completed and is updated every time a workflow task is completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/TSExpand.gif?raw=true) + +### You have the possibility to expand the Task Status Data Set with the following dimensions: +- project +- customer +- taskType +- taskState +- languagePair +- sourceFile +- taskOwner + +## Translation Leverage + +This data source shows information about the translation leverage metrics obtained as a result of automated translation. The data source exposes file-level metrics detailing the number of words for each leverage bucket. + +The data for the Translation Leverage data source becomes available after the Analysis workflow task has been completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/TLExpand.gif?raw=true) + +### You have the possibility to expand the Translation Leverage Data Set with the following dimensions: +- translationDate +- customer +- project +- languagePair +- sourceFile +- leverageBand + +## Translation Quality Evaluation + +This data source shows details about the evaluation done with Smart Review and MTQE (Evolve) in a project. This data source takes into account all project segments, and does not currently provide information for individual segments. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/TQEExpand.gif?raw=true) + +### You have the possibility to expand the Translation Quality Evaluation Data Set with the following dimensions: +- project +- customer +- linguist +- originalTranslationOrigin +- finalTranslationOrigin +- taskType +- languagePair +- sourceFile +- translationQualityEvaluationCategory + +## Vendor Cost + +This data source shows metrics about the costs associated with each vendor for each project and language direction. + +The data for the Vendor Cost data source becomes available after the Vendor Quote Generation task has been completed. + +![List custom fields](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/VCExpand.gif?raw=true) + +### You have the possibility to expand the Vendor Cost Data Set with the following dimensions: +- project +- customer +- languagePair +- vendorOrderTemplate +- serviceType +- currency + + diff --git a/articles/LCPublicAPI/docs/data-bridge/OData-Query-Guide.md b/articles/LCPublicAPI/docs/data-bridge/OData-Query-Guide.md new file mode 100644 index 0000000..6d9170e --- /dev/null +++ b/articles/LCPublicAPI/docs/data-bridge/OData-Query-Guide.md @@ -0,0 +1,104 @@ +--- +stoplight-id: 26wchvrjmv96s +--- + +# OData Query Guide for Data Bridge APIs + +The Trados Data Bridge API supports OData v4 query capabilities that allow you to filter, select, expand, and sort data efficiently. + +For comprehensive OData query syntax reference and additional examples, see the [Microsoft OData Query Options Overview](https://learn.microsoft.com/en-us/odata/concepts/queryoptions-overview) + +## Query Parameters Overview + +| Parameter | Description | Example | +|-----------|-------------|---------| +| `$filter` | Filter results based on conditions | `$filter=revenue gt 1000` | +| `$select` | Choose specific fields to return | `$select=projectId,projectStatus,revenue` | +| `$expand` | Include related entity data | `$expand=project,customer` | +| `$orderby` | Sort results | `$orderby=projectCreationDate desc` | +| `$top` | Limit number of results | `$top=50` | +| `$skip` | Skip a number of results | `$skip=100` | + +## Filtering with $filter + +### Comparison Operators + +| Operator | Description | Example | +|----------|-------------|---------| +| `eq` | Equal to | `$filter=projectStatus eq 'completed'` | +| `ne` | Not equal to | `$filter=revenue ne 0` | +| `gt` | Greater than | `$filter=wordCount gt 1000` | +| `ge` | Greater than or equal | `$filter=revenue ge 500` | +| `lt` | Less than | `$filter=actualDuration lt 24` | +| `le` | Less than or equal | `$filter=wordCount le 5000` | + +### Logical Operators + +| Operator | Description | Example | +|----------|-------------|---------| +| `and` | Logical AND | `$filter=revenue gt 1000 and projectStatus eq 'completed'` | +| `or` | Logical OR | `$filter=projectStatus eq 'completed' or projectStatus eq 'in_progress'` | +| `not` | Logical NOT | `$filter=not (projectStatus eq 'in_progress')` | + +### String Functions + +| Function | Description | Example | +|----------|-------------|---------| +| `contains` | Contains substring | `$filter=contains(projectName,'Marketing')` | +| `startswith` | Starts with substring | `$filter=startswith(customerName,'ABC')` | +| `endswith` | Ends with substring | `$filter=endswith(fileName,'.docx')` | + +### Date Functions + +| Function | Description | Example | +|----------|-------------|---------| +| `year` | Extract year | `$filter=year(projectCreationDate) eq 2024` | +| `month` | Extract month | `$filter=month(approveDate) eq 3` | +| `day` | Extract day | `$filter=day(completionDate) eq 15` | + +## Pagination + +### Result Limits +The Data API has the following result limits: +- **Default page size**: 500 records +- **Maximum page size**: 5,000 records +- Use `$top` parameter to specify the number of records to return (up to 5,000) +- Use `$skip` parameter to implement pagination for large result sets + +### Basic Pagination +``` +$top=50&$skip=100 +``` + +### Pagination with Filters +``` +$filter=revenue gt 1000&$top=25&$skip=0&$orderby=revenue desc +``` + +### Maximum Results Example +``` +$top=5000&$skip=0 +``` + +## Best Practices + +### Use Specific Filters +- Always filter data to reduce response size +- Use date ranges for time-based queries +- Filter by status or other categorical fields + +### Select Only Required Fields +- Use `$select` to minimize response payload +- Only expand related entities when necessary + +### Implement Pagination +- Use `$top` and `$skip` for large result sets +- Default page size: 500 records (when no `$top` is specified) +- Maximum page size: 5,000 records +- Typical page sizes: 25, 50, 100, 500, or 1000 records + +### Optimize Performance +- Combine filters to reduce server processing +- Use indexes fields (like IDs and dates) in filters +- Avoid complex string operations on large datasets + diff --git a/articles/LCPublicAPI/docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md b/articles/LCPublicAPI/docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md new file mode 100644 index 0000000..3cfb360 --- /dev/null +++ b/articles/LCPublicAPI/docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md @@ -0,0 +1,76 @@ +--- +stoplight-id: 2wgukzh0bf2v8 +--- + +# Trados Data Bridge APIs for Postman + +We provide a [Postman](https://www.postman.com/) collection for quick and easy usage of our RESTful APIs. + +## Installation + +You can download the Postman collection from [here](https://github.com/sdl/language-cloud-public-api-postman/blob/develop/postmanDataCollection.json?raw=true). + +You have 3 setup options: +- Copy the collection URL from above and import it into Postman using `Import > Link`. +- Copy the entire file content and import it into Postman using `Import > Raw Text`. +- Save it as a `JSON` file on your computer and import it into Postman using `Import > File`. + + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/SetLCAccountToken.png?raw=true) + +
+ +## Configuration + +The imported collection is already set up for you to get started as fast as possible. + +We make use of collection level variables and an inherited authentication mechanism. + +For example, authentication is already set up to use the Bearer Token scheme and will use the token value provided by `{{lc-access-token}}` variable. This token is populated with the correct value, each time you `Obtain a client credentials access token`, via the Tests tab. + +One thing you need to do before proceeding is to fill in the `{{lc_tenant}}` variable with your own tenant ID. Prepend the ID with LC- so the final value looks like this `LC-00000000000000000`. + +Don't forget to save the collection! + + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/SetLCTenant.png?raw=true) + + +
+ +## Authentication +To start working with the Trados Data Bridge API, you first need to authenticate. + +You can find the authentication call under the `Authentication (Start Here)` folder. Fill in your `client_id` and `client_secret` and perform the request. + +If the authentication is successful, the token will be extracted automatically from the response and saved to the `{{lc-access-token}}` variable. + + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/AuthorizationWithClientCredentials.png?raw=true) + + +
+ +## Usage + +After you have authenticated successfully, you can start interacting with the RWS Language Cloud Data API. + +For example, we can get information about a project by using the **List Task Status Project Dimension** request from the **Task Status** folder. + +Simply fill in your value `projectId eq 'stringValue'` from your $filter parameter section and click SEND. Optionally, you can specify additional OData querys like +`projectTemplateName eq 'stringValue' and projectShortId eq numericValue`. +For more options see below table +| Operators| Description| Example | +|----------|------------|---------| +| Comparison operators| Use the `eq, ne, gt, ge, lt, le` operators to compare a property and a value. |`$filter=revenue eq 100000`| +| Logical operators|Use `and, or` to create more complex expressions.|`$filter=revenue lt 100000 and revenue gt 2000`| +| Grouping operators|Use parentheses: `()`, to specify the precedence to evaluate a complex expression.|`$filter=(projectShortId lt 16867 and projectShortId gt 16800) and projectStatus eq 'completed'`| +| Expand operator|The `expand` system query option specifies the related resources to be included. Each expandItem is evaluated relative to the entity containing the navigation or stream property being expanded.|`$expand=project`| + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/WorkingWithFilterParameter.png?raw=true) + + +![image](https://github.com/RWS/language-cloud-public-api-doc-resources/blob/main/PublicDataAPI/WorkingWithExpandParameter.png?raw=true) + +> IMPORTANT: make sure you are not sending any query parameters with default Postman values. If you are sending any parameters, make sure you are sending valid data or else you will get an API Error. + diff --git a/articles/LCPublicAPI/docs/termbase/Termbase-import-export.md b/articles/LCPublicAPI/docs/termbase/Termbase-import-export.md index d324065..01121f3 100644 --- a/articles/LCPublicAPI/docs/termbase/Termbase-import-export.md +++ b/articles/LCPublicAPI/docs/termbase/Termbase-import-export.md @@ -5,7 +5,7 @@ The following termbase formats are supported: `tbx` and `xml`. -> Before importing a termbase, make sure you already created one using the [Create Termbase](../../api/Public-API.v1-fv.html#/operations/CreateTermbase) endpoint. Only empty termbases support importing content. +> Before importing a termbase, make sure you already created one using the [Create Termbase](../../api/Public-API.v1-fv.html#/operations/CreateTermbase) endpoint. To import a `tbx` or an `xml` termbase, perform a `POST` request to the [Import Termbase](../../api/Public-API.v1-fv.html#/operations/ImportTermbase) endpoint and provide the `termbaseId` and the termbase file. Optionally, you can specify two import settings via query parameters: diff --git a/articles/LCPublicAPI/docs/webhooks/Webhooks-payload.md b/articles/LCPublicAPI/docs/webhooks/Webhooks-payload.md index 946bec3..71a317c 100644 --- a/articles/LCPublicAPI/docs/webhooks/Webhooks-payload.md +++ b/articles/LCPublicAPI/docs/webhooks/Webhooks-payload.md @@ -60,10 +60,10 @@ This is the envelope that is common to all events, and only the < Data Payload O | `PROJECT.STARTED` | [`project-event`](../../api/Webhooks.v1-fv.html#/schemas/project-event) | Start project | Start project | | `PROJECT.UPDATED` | [`project-event`](../../api/Webhooks.v1-fv.html#/schemas/project-event) | Start project (This event will also be emitted in addition to `PROJECT.STARTED`)
Update project by changing any field
Complete project
Cancel source file
Complete target file | Start project (This event will also be emitted in addition to `PROJECT.STARTED`)
Update project by changing the `Project Information`, `Configuration` or `Custom Fields` fields in the `Settings` tab
Complete project
Set project back in progress
Cancel project
Complete target file | | `PROJECT.DELETED` | [`project-event`](../../api/Webhooks.v1-fv.html#/schemas/project-event) | Delete project | Delete project | -| `PROJECT.TEMPLATE.CREATED` | [`project-template-event`](../api/Webhooks.v1-fv.html#/schemas/project-template-event) | | Create project template | +| `PROJECT.TEMPLATE.CREATED` | [`project-template-event`](../../api/Webhooks.v1-fv.html#/schemas/project-template-event) | | Create project template | | `PROJECT.TEMPLATE.UPDATED` | [`project-template-event`](../../api/Webhooks.v1-fv.html#/schemas/project-template-event) | | Create project template
Update project template | | `PROJECT.TEMPLATE.DELETED` | [`project-template-event`](../../api/Webhooks.v1-fv.html#/schemas/project-template-event) | | Delete project template | -| `PROJECT.SOURCE.FILE.CREATED` | [`source-file-event`](../api/Webhooks.v1-fv.html#/schemas/source-file-event) | Add source file to project
Attach source files to project | Add reference file to project
Add translatable file to project | +| `PROJECT.SOURCE.FILE.CREATED` | [`source-file-event`](../../api/Webhooks.v1-fv.html#/schemas/source-file-event) | Add source file to project
Attach source files to project | Add reference file to project
Add translatable file to project | | `PROJECT.SOURCE.FILE.UPDATED` | [`source-file-event`](../../api/Webhooks.v1-fv.html#/schemas/source-file-event) | Update source file by changing the `name` field
Add source file version
The project reaches the `File Type Detection` task
The project reaches the `File Format Conversion` task | Update source file by changing the `fileType` or `fileRole` fields
Add source file version via `Replace file` action
Delete source file version
Cancel source file
The project reaches the `File Type Detection` task
The project reaches the `File Format Conversion` task | | `PROJECT.SOURCE.FILE.DELETED` | [`source-file-event`](../../api/Webhooks.v1-fv.html#/schemas/source-file-event) |Delete project and its tasks | Delete project and its tasks | | `PROJECT.TARGET.FILE.CREATED` | [`target-file-event`](../../api/Webhooks.v1-fv.html#/schemas/target-file-event) | The project reaches the `File Format Conversion` task | The project reaches the `File Format Conversion` task | diff --git a/articles/LCPublicAPI/docs/webhooks/Webhooks-setup.md b/articles/LCPublicAPI/docs/webhooks/Webhooks-setup.md index e38f01e..03ff6d2 100644 --- a/articles/LCPublicAPI/docs/webhooks/Webhooks-setup.md +++ b/articles/LCPublicAPI/docs/webhooks/Webhooks-setup.md @@ -196,5 +196,4 @@ The circuit breaker is triggered when 3 calls to a URL fail within a short time * `X-LC-Webhook`: Unique identifier of the webhook defined for the LC application which is the recipient of the webhook message. It can be ignored because it is not exposed in the Trados UI. -* `X-LC-Region`: Region of the account of the user, which is the recipient of the webhook message. - +* `X-LC-Region`: Region of the account of the user, which is the recipient of the webhook message. \ No newline at end of file diff --git a/articles/LCPublicAPI/toc.yml b/articles/LCPublicAPI/toc.yml index 606b1f4..aa24969 100644 --- a/articles/LCPublicAPI/toc.yml +++ b/articles/LCPublicAPI/toc.yml @@ -20,22 +20,31 @@ items: - name: Multi-region href: docs/Multi-region.md + - name: API rate limits href: docs/API-rate-limits.md + - name: Use fields in your requests href: docs/Use-fields-in-your-requests.md + - name: Use paging and sorting for lists href: docs/Use-paging-and-sorting-for-lists.md + - name: Updating data with PUT href: docs/Updating-data-with-PUT.md + - name: Language codes href: docs/Language-codes.md + - name: How to use location and folders href: docs/How-to-use-location-and-folders.md + - name: File formats href: docs/File-formats.md + - name: Headers considerations href: docs/Headers-considerations.md + - name: Multipart considerations href: docs/How-to-multipart.md @@ -43,8 +52,10 @@ items: - name: Service users and custom applications href: docs/Service-users-and-custom-applications.md + - name: Service credentials href: docs/Service-credentials.md + - name: Authentication href: docs/Authentication.md @@ -52,10 +63,13 @@ items: - name: Basic project creation flow href: docs/Basic-project-creation-flow.md + - name: Create projects href: docs/Create-projects.md + - name: Track projects href: docs/Track-projects.md + - name: Interact with tasks href: docs/Interact-with-tasks.md @@ -63,10 +77,13 @@ items: - name: Termbases href: docs/termbase/Termbase.md + - name: Termbase templates href: docs/termbase/Termbase-templates.md + - name: Termbase entries href: docs/termbase/Termbase-entries.md + - name: Termbase import and export href: docs/termbase/Termbase-import-export.md @@ -77,7 +94,7 @@ - name: Translations items: - - name: Translation Memory import and export + - name: Translations href: docs/translations/Translations.md - name: Custom fields @@ -90,30 +107,57 @@ items: - name: Webhooks Setup href: docs/webhooks/Webhooks-setup.md + - name: Webhooks Payload href: docs/webhooks/Webhooks-payload.md + - name: Batched Webhooks href: docs/webhooks/Batched-webhooks.md - name: Trados Cloud Platform APIs for Postman href: docs/Language-Cloud-APIs-for-Postman.md +- name: Data Bridge + items: + - name: Data Bridge Introduction + href: docs/data-bridge/Data-Bridge-Introduction.md + + - name: OData Query Guide + href: docs/data-bridge/OData-Query-Guide.md + + - name: Data Sets + href: docs/data-bridge/Data-Sets.md + + - name: Trados Data Bridge APIs for Postman + href: docs/data-bridge/Trados-Data-Bridge-APIs-for-Postman.md + - name: API Clients items: - name: .NET Client href: docs/api-clients/net/NET-Client.md + - name: .NET Samples href: docs/api-clients/net/Net-Samples.md + - name: Java Client href: docs/api-clients/java/Java-Client.md + - name: Java Samples href: docs/api-clients/java/Java-Samples.md + - name: Java Client Upgrade Guide + href: docs/api-clients/java/Java-Client-Upgrade-Guide.md + - name: APIs items: - name: Public API href: api/Public-API.v1.md + - name: Global Public API href: api/Global-Public-API.v1.md + + - name: Data Bridge API + href: api/Data-Bridge-API.v1.md + - name: Webhooks - href: api/Webhooks.v1.md \ No newline at end of file + href: api/Webhooks.v1.md