{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "email": "support@smartling.com"
    },
    "description": "Before you begin using the Smartling APIs, we recommend going through our [Developer documentation](https://help.smartling.com/hc/en-us/categories/1260801686149).\n",
    "termsOfService": "https://www.smartling.com/legal",
    "title": "Smartling REST API Reference",
    "version": "2.0.0",
    "x-logo": {
      "url": "smartling_logo.png"
    }
  },
  "servers": [
    {
      "url": "https://api.smartling.com"
    }
  ],
  "externalDocs": {
    "description": "Smartling Help Center",
    "url": "https://help.smartling.com"
  },
  "tags": [
    {
      "name": "Authentication",
      "description": "Smartling uses OAuth2 for [authentication](https://help.smartling.com/hc/en-us/articles/1260805176849).\nTo access the Smartling APIs, you'll first need to authenticate with your\nuser identifier and user secret. An access token is returned that can be\nattached to the header of any API request. A refresh token is also returned.\n\nTo obtain your [user identifier and user secret](https://help.smartling.com/hc/en-us/articles/115004187694),\nlog in to Smartling.com and go to **API > Create Token**. Authenticating is as\nsimple as calling the `/api.smartling.com/auth-api/v2/authenticate` with\nyour `userIdentifier` and `userSecret`. The access token returned is valid\nfor 5-minutes, and is used in the header of all subsequent requests.\n\n**Example for generating your access token:**\n\n```bash\ncurl -X POST https://api.smartling.com/auth-api/v2/authenticate  -H 'content-type: application/json' -d '{\"userIdentifier\": \"userIdasdklj4348dk34!\", \"userSecret\": \"userSecret34i34kkd5634f\"}'\n```\n\n```\n{\n    \"response\": {\n        \"code\": \"SUCCESS\",\n        \"data\": {\n                \"accessToken\": \"eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOasdlkjn\",\n                \"refreshToken\": \"eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJkMTdkMmEw\",\n                \"expiresIn\": 480,\n                \"refreshExpiresIn\": 3660,\n                \"tokenType\": \"Bearer\"\n        }\n    }\n}\n```\n\n**Example of using your access token to list all projects for your account:**\n\n```bash\ncurl -X GET -H \"Authorization: Bearer {accessToken}\" https://api.smartling.com/accounts-api/v2/accounts/{accountUid}/projects\n```\n\n```\n{\n    \"response\": {\n        \"code\": \"SUCCESS\",\n        \"data\": {\n            \"totalCount\": 1,\n            \"items\": [{\n                         \"projectId\": \"df324sdf5\",\n                         \"projectName\": \"iOS Strings files\",\n                         \"accountUid\": \"ab5f1939\",\n                         \"archived\": false,\n                         \"projectTypeCode\": \"APPLICATION_RESOURCES\",\n                         \"sourceLocaleId\": \"en\",\n                         \"sourceLocaleDescription\": \"English\"\n                     }\n            ]\n        }\n    }\n}\n```"
    },
    {
      "name": "Account & Projects",
      "description": "Each client within Smartling is given their own account with a designated\n`accountUid`. Within each account is any number of projects. All files,\ncontent, and jobs are tied to a particular project. The Accounts &\nProjects API will allow you to programmatically find and use the projects\nwithin your account.\n\nYou may wish to reference the [Key Concepts for\nDevelopers](https://help.smartling.com/hc/en-us/articles/1260805481390) article\nto better understand how content is organized within Smartling."
    },
    {
      "name": "Locales",
      "description": "Locales are the language and country pairs that are used to identify the\nsource content and the desired target locale for your translated content."
    },
    {
      "name": "People",
      "description": "Smartling users, who process and translate content with the Smartling platform."
    },
    {
      "name": "Files",
      "description": "Files are typically how you can exchange your content with Smartling to\nget translations. Smartling supports a wide variety of [file\ntypes](https://help.smartling.com/hc/en-us/articles/360007998893). When\nyou upload a file to Smartling, it gets parsed into strings, which will\nthen be sent into the translation queue.\n\nThe complete list of supported file types is available [here](https://help.smartling.com/hc/en-us/articles/360007998893). For information on file directives, please refer to the documentation for each specific file type."
    },
    {
      "name": "Machine Translation (MT)",
      "description": "The Smartling platform offers state-of-the-art [Machine Translation capabilities](https://www.smartling.com/software/neural-machine-translation-hub/) through its synchronous account-level Machine Translation API. This API enables seamless translation of content without the need for it to be processed through Smartling workflows. The API offers access to all <a href=\"https://help.smartling.com/hc/en-us/articles/46030485398171\" target=\"_blank\" rel=\"noopener\"> Profiles</a>, including the highly efficient MT Auto Select feature, providing unparalleled flexibility and control over your translation needs."
    },
    {
      "name": "File Machine Translations (MT)",
      "description": "The File Translations API offers a simple way to upload files and execute actions on them without any complex setup required. All resource-intensive actions are performed asynchronously and return an actionUid. By polling the API with the provided actionUid, you can easily monitor the progress of your file-based tasks in real time."
    },
    {
      "name": "Jobs",
      "description": "A Smartling project (such as a mobile, web, files, or connector project)\nmay contain one or more\n[jobs](https://help.smartling.com/hc/en-us/articles/1260805481390). You may\nhave multiple projects, each containing multiple jobs. Each job contains\nstrings, consisting of words or phrases.\n\nThe Jobs feature allows you to group and prioritize your content by name,\ndue date, description, and reference number (optional). It also enables\nyou to monitor the progress of your translations throughout completion.\n\nThe Jobs API allows you to create a job, add a file to a job, authorize a\njob, and cancel a job, among many other actions. You have full control via\nthe API to manage your job(s)."
    },
    {
      "name": "Job Batches V1",
      "description": "Job batches take care of asynchronous processes when uploading files and\nattaching them to jobs.\n\nGenerally, adding multiple files to a job is associated with polling -\nfile is parsed asynchronously and can't be added to a job until it is\ncompleted, adding file to a job is also asynchronous, and job can't be\nauthorized until all background tasks completed.\n\nThis forces third-party integration poll every file after every step.\n\nBatches hide these asynchronous processes from 3rd party integration -\nafter it accepted file from client it conducts this file through all steps\nup to the Job authorization. As Job Batches Service utilizes internal\nSmartling events it gets more effective than just polling files and jobs.\n\nFrom the client side flow consists of simple steps:\n\n1. Client creates Job (or uses existing one, which isn't currently\nprocessed with another Batch)\n\n2. Client Creates a new Batch for this Job\n\n3. Client adds (uploads) files into the batch giving target locales list\n\n4. When all files are uploaded, client triggers \"execute\" for the batch.\n\n5. Batch execution process waiting until all files are uploaded and added\nto the Job and then, if was requested, authorizes the Job.\n\n6. Clients can check batch status and see if all files uploaded and\nattached successfully, what errors happened for each file, and statistics\nfor added/skipped strings.\n\nAfter Batch is completed it can't be reused.\n\n**Job batches Limitations**\n\n- The service doesn't guarantee the correct processing of multiple batches for the \nsame job in parallel. Adding files to a new batch should only be done \nafter the previous batch has reached the \"completed\" status.\n\n- If the Job or Files are modified in the UI or through another integration,\nthe service cannot guarantee that the Batch will be processed correctly.\n\n- The service retains data for 6 months before permanently deleting it."
    },
    {
      "name": "Job Batches V2",
      "description": "Job batches take care of asynchronous processes when uploading files and\nattaching them to jobs.\n\nGenerally, adding multiple files to a job is associated with polling -\nfile is parsed asynchronously and can't be added to a job until it is\ncompleted. Adding file to a job is also asynchronous, and job can't be\nauthorized until all background tasks completed.\n\nThis forces a third-party integration poll for every file after every step.\n\nBatches hide these asynchronous processes from 3rd party integration -\nafter it accepts the file from the Smartling User, it processes this file\nthrough all steps up to the Job authorization. As Job Batches Service utilizes\ninternal Smartling events it gets more effective than just polling files and jobs.\n\nFrom the Smartling user's perspective, the flow consists of the following simple steps:\n\n1. Create a Job (or uses existing one, which isn't currently\nprocessed with another Batch)\n\n2. Create a new Batch for this Job with the declared list of\nfiles to be uploaded into the Job\n\n3. Upload the files into the batch giving target locales list\nfor each file\n\n4. You can cancel some of the declared files if there is no reason\nin uploading (no translatable content etc.)\n\n5. When all files are uploaded or canceled, \"execute\" is automatically\ntriggered for the batch.\n\n6. Batch execution process waits until all asynchronous processes\nare complete and then, if requested, authorizes the Job for translation.\n\n7. You can check batch status and see if all files have been uploaded and\nattached successfully. You can also see if any errors occurred for each file\nupload and the statistics for ingested/excluded strings.\n\nAfter Batch is completed it can't be reused.\n\n**Job batches Limitations**\n\n- The service doesn't guarantee the correct processing of multiple batches for the \nsame job in parallel. Adding files to a new batch should only be done \nafter the previous batch has reached the \"completed\" status.\n\n- If the Job or Files are modified in the UI or through another integration,\nthe service cannot guarantee that the Batch will be processed correctly.\n\n- The service retains data for 6 months before permanently deleting it."
    },
    {
      "name": "Connectors Import",
      "description": "The Connectors Import API enables custom integrations to programmatically request translations\nfor content from external systems (e.g., Shopify, Intercom, Sanity, Iterable).\n\n**Use this API when:**\n- You have a configured Smartling connector to your external system\n- You need to automate translation workflows outside the Smartling UI\n- You want to build custom tools or dashboards for managing translation requests\n\n**Key capabilities:**\n- Submit single or batch translation requests (up to 10 assets recommended per call)\n- Target multiple locales with optional custom workflow assignments\n- Add assets to new or existing translation jobs (up to 5,000 files per job)\n- Control job authorization (immediate or draft for manual review)\n\n**Prerequisites:**\n- Connector must be configured in Smartling Dashboard\n- Valid asset UIDs and titles from your external system (UID format varies by integration type)\n- Translation job UID where assets will be added\n- Target Smartling locale IDs that are both enabled in your project AND configured in the connector's **Language Configuration**\n\n**Important:** This API processes requests asynchronously via priority queues. \nTypical latency is 15-30 seconds. Use the [Job Batches API](#tag/Job-Batches-V2/operation/getJobBatchStatusV2) \nto monitor processing status."
    },
    {
      "name": "Context",
      "description": "[Visual context](https://help.smartling.com/hc/en-us/articles/360057484273)\nhelps Translators make linguistic, layout, and spacing decisions based on\nwhere strings appear in your mobile or desktop application. The Context\nAPI supports uploading various forms of context (images and HTML), and\nassociate the context with content in Smartling."
    },
    {
      "name": "Issues",
      "description": "The Issues feature is a way for users who are working on a translation\nworkflow to communicate with other users about source content and\ntranslations. For example, a Translator might create an\n[issue](https://help.smartling.com/hc/en-us/articles/115003139313) to ask\na question about terminology in a particular string.\n\nBy using Issues, you can record any communication about a string, and this\ncan be seen by anyone working on it. Issues streamline the translation\nworkflow. Translators get answers to their questions about the original\ncontent so they can translate it quickly and correctly. Translation\nresources can review and provide feedback about translations\ncollaboratively.\n\nThe Issues API provides methods for creating issues, changing the state of\nan issue, commenting on an issue, requesting detailed information, as well\nas creating reports on issues and comments."
    },
    {
      "name": "Strings",
      "description": "A string is a piece of translation. Based on the source content, strings\ncan be parsed differently. A string is then broken down further, into one\nor more segments.\n\nThe Strings API allows you to directly upload strings to a Smartling\nproject and fetch original strings or translations.\n\nFor each string in a Smartling project, there is a unique identifier\ncreated by hashing together the parsed string text, [variant\nmetadata](https://help.smartling.com/hc/en-us/articles/360008143853), and\nin some cases,\n[namespace](https://help.smartling.com/hc/en-us/articles/360008143833).\nWhen adding strings via the Strings API, each string will be unique. If\nyou try to create a string with identical variant metadata and string text\nto a string that already exists in the project, the string will be\noverwritten."
    },
    {
      "name": "Content Search",
      "description": "The Content Search API allows you to search for strings within a Smartling project.\nYou can filter by string text, hashcode, namespace, or any combination of available filters.",
      "externalDocs": {
        "url": "https://content-search-api-reference.smartling.com/",
        "description": "Content Search Documentation"
      }
    },
    {
      "name": "Tags",
      "description": "Tags can help you manage your strings. The Tags API allows you to\nadd/remove string tags, and search for tags in a project."
    },
    {
      "name": "Vendors",
      "description": "The Vendors API is for Language Service Providers to view work that's\navailable in Smartling."
    },
    {
      "name": "Reports",
      "description": "The Reports API allows to request various reports available on Smartling\nplatform and specify additional filtering criteria to narrow down data\nreturned by the reports."
    },
    {
      "name": "Attachments",
      "description": "The Attachments API allows for file attachment upload, download and checking linked attachments for an entity.\nAttachment entities can be from three domains: strings, jobs or issues.\nEach entity is referenced by an entity UID. These UIDs have a specific form for each of the domains.\n- jobs: `<jobUid>`\n- issues: `<accountUid>-<issueUid>` or `<accountUid>-<issueUid>-<commentUid>`\n- strings: `<projectUid>:<stringHashcode>`\n\n**Attachments API Usage Limitations**:\n* Maximum attachment size is 500MB."
    },
    {
      "name": "Translation quality checks",
      "description": "The translation quality check service is an API endpoint at which you can check the quality of your translations."
    },
    {
      "name": "Glossary API",
      "description": "During translation process, text may contain specific words, which are very important to has \nconsistent meaning through out the resulted translation for target language. This is usually \nreferenced as terminology, glossary, thesaurus, etc. And one of the vital steps in high-quality\ntranslation is to extract such terms (words/phrases) in a separate set, and define correct \ntranslation to be used during work process. Imagine not correctly translated medical/legal \nterms - or inconsistent translation for the same terms by different translators in one document.\n\n Current section describes glossary manipulation API, such as :\n - glossary manipulation,\n - glossary entries manipulation,\n - import / export (in multiple formats),\n - glossary labels management,\n - etc."
    },
    {
      "name": "Blocklist API",
      "description": "Defines list of terms that should not be used during the translation process.\nBlocklists are tied to glossary functionality.\n\nCurrent section describes blocklists manipulation API, such as :\n - blocklist manipulation,\n - blocklist terms manipulation,\n - import / export (in multiple formats)."
    },
    {
      "name": "Workflow Assignment",
      "description": "The Workflow Assignment API handles workflow step assignments for non agency users."
    },
    {
      "name": "Webhooks",
      "description": "The Webhooks API allows you to create and manage webhook subscriptions to receive real-time notifications about events in your Smartling projects. You can subscribe to various event types and receive HTTP callbacks when these events occur. See our [Events Catalog](https://help.smartling.com/hc/en-us/articles/39696685668251-Smartling-Webhooks-Overview) for a full list of events."
    }
  ],
  "paths": {
    "/auth-api/v2/authenticate": {
      "post": {
        "summary": "Authenticate",
        "description": "Verifies the credentials of the connection attempt.",
        "tags": [
          "Authentication"
        ],
        "operationId": "authenticate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationRequest"
              }
            }
          },
          "description": "Authentication Request",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "accessToken": "b816424c-2e95-11e7-93ae-92361f002671",
                          "expiresIn": 480,
                          "refreshExpiresIn": 3660,
                          "refreshToken": "c0a6f410-2e95-11e7-93ae-92361f002671",
                          "tokenType": "Bearer"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "smartlingToken=$(curl -s -X POST -H \"Content-Type: application/json\" \\\n  -d \"{\\\"userIdentifier\\\": \\\"$smartlingId\\\", \\\"userSecret\\\": \\\"$smartlingSecret\\\"}\" \\\n  \"https://api.smartling.com/auth-api/v2/authenticate\" \\\n  | sed -E 's/^.*accessToken\":\"//' | sed -E 's/\",\"refreshToken.*//')\n"
          }
        ]
      }
    },
    "/auth-api/v2/authenticate/refresh": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "description": "A [renewed access token](https://help.smartling.com/hc/en-us/articles/1260805176849) that can be attached to the header of any API request.",
        "summary": "Refresh access token",
        "operationId": "refreshAccessToken",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthenticationRefreshRequest"
              }
            }
          },
          "description": "Refresh token request",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST https://api.smartling.com/auth-api/v2/authenticate/refresh \\\n  -H 'content-type: application/json' \\\n  -d '{\"refreshToken\": \"eyJhbGciO...\"}'\n"
          }
        ]
      }
    },
    "/accounts-api/v2/accounts/{accountUid}/projects": {
      "get": {
        "tags": [
          "Account & Projects"
        ],
        "description": "Returns the list of projects for the account.\n",
        "summary": "List projects",
        "operationId": "getProjectsByAccount",
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Substring search of the name of the project. Search is case insensitive.",
            "in": "query",
            "name": "projectNameFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Indicator whether or not archived projects should be returned. Defaults to false if not specified.",
            "in": "query",
            "name": "includeArchived",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results. 500 projects are returned by default if not specified.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Indicator for the type of the project.",
            "in": "query",
            "name": "projectTypeCode",
            "required": false,
            "schema": {
              "type": "String"
            }
          },
          {
            "description": "Indicator list for the type of the projects.",
            "in": "query",
            "name": "projectTypeCodes",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "accountUid": "at724e365",
                              "archived": false,
                              "projectId": "fd7244365",
                              "projectName": "Android XML Content",
                              "projectTypeCode": "APPLICATION_RESOURCES",
                              "sourceLocaleDescription": "English",
                              "sourceLocaleId": "en-US"
                            },
                            {
                              "accountUid": "at724e365",
                              "archived": false,
                              "projectId": "eqb7243x5",
                              "projectName": "Marketing Website GDN",
                              "projectTypeCode": "GDN",
                              "sourceLocaleDescription": "English",
                              "sourceLocaleId": "en-US"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/AccountAPIProjectListSuccessResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/accounts-api/v2/accounts/$smartlingAccountId/projects\n"
          }
        ]
      }
    },
    "/projects-api/v2/projects/{projectId}": {
      "get": {
        "tags": [
          "Account & Projects"
        ],
        "description": "Returns the details of a project.\n",
        "summary": "Get project details",
        "operationId": "getProjectDetails",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Indicator whether or not disabled locales configured for the project should be returned as part of the targetLocales. By default disabled target locales are not returned.",
            "in": "query",
            "name": "includeDisabledLocales",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "accountUid": "at724e365",
                          "archived": false,
                          "projectId": "fd7244365",
                          "projectName": "Android XML Content",
                          "projectTypeCode": "APPLICATION_RESOURCES",
                          "sourceLocaleDescription": "English",
                          "sourceLocaleId": "en-US",
                          "targetLocales": [
                            {
                              "description": "German (Germany)",
                              "enabled": true,
                              "localeId": "de-DE"
                            }
                          ]
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ProjectDetailsSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/projects-api/v2/projects/$smartlingProjectId\n"
          }
        ]
      }
    },
    "/projects-api/v2/projects/{projectId}/targetLocales": {
      "post": {
        "summary": "Add a new target locale",
        "tags": [
          "Account & Projects"
        ],
        "description": "Add a new target locale to the project.\n",
        "operationId": "addLocaleToProject",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "defaultWorkflowUid": {
                    "description": "The default workflow that should be used when content is authorized. If not specified, the default workflow configured for the project will be used.",
                    "example": "ac48ht4qy",
                    "type": "string"
                  },
                  "localeId": {
                    "description": "The locale identifier (localeId) of the locale to be added to the project.",
                    "example": "ru-RU",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectDetailsSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": [
                          {
                            "accountUid": "at724e365",
                            "archived": false,
                            "projectId": "fd7244365",
                            "projectName": "Android XML Content",
                            "projectTypeCode": "APPLICATION_RESOURCES",
                            "sourceLocaleDescription": "English",
                            "sourceLocaleId": "en-US",
                            "targetLocales": [
                              {
                                "description": "German (Germany)",
                                "enabled": true,
                                "localeId": "de-DE"
                              },
                              {
                                "description": "Russian (Russia)",
                                "enabled": true,
                                "localeId": "ru-RU"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/projects-api/v2/projects/{projectId}/copy": {
      "post": {
        "summary": "Copy an existing project",
        "tags": [
          "Account & Projects"
        ],
        "description": "Make a copy of an existing project, thereby creating a new one with a new name\n",
        "operationId": "copyProject",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "projectName": {
                    "description": "The name of the new project to create.",
                    "example": "New Android Project",
                    "type": "string"
                  },
                  "targetLocaleIds": {
                    "description": "The list of target locales the new project should be created for. Note, each target locale specified must valid within the source project you are copying, i.e. you can copy all or a subset of locales from the source project to the target project.",
                    "example": [
                      "ru-RU"
                    ],
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCopySuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "7908ae61-3489-48e1-9e28-10652634d34e"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/projects-api/v2/projects/{projectId}/copy/{processUid}": {
      "get": {
        "tags": [
          "Account & Projects"
        ],
        "description": "Used to check if the copy project request is complete and to retrieve the new projectId\n",
        "summary": "Get the status of the project copy request",
        "operationId": "getProjectCopyRequestStatus",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The uid of the process to check for",
            "in": "path",
            "name": "processUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCopyProcessSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "createdDate": "2016-08-21T0B1:51:17Z",
                          "modifiedDate": "2016-08-21T0B1:51:17Z",
                          "newProjectUid": "8t7q4d643",
                          "processState": "OPEN",
                          "processStatistics": {
                            "errored": 0,
                            "processed": 6,
                            "requested": 8,
                            "skipped": 0
                          },
                          "processuid": "7908ae61-3489-48e1-9e28-10652634d34e"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/locales-api/v2/dictionary/locales": {
      "get": {
        "summary": "List locales",
        "tags": [
          "Locales"
        ],
        "description": "The list of available locales within Smartling.\n\nTo find out the `localedID` for a specific project, refer to [Get project\ndetails](/#operation/getProjectDetails).\n",
        "operationId": "getAvailableLocalesList",
        "parameters": [
          {
            "description": "Optional parameter to filter to the specified list of locales.",
            "in": "query",
            "name": "localeIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Fetch only supported locales. Otherwise fetch all locales. Default value is \"true\".",
            "in": "query",
            "name": "supportedOnly",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalesAPISuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "description": "English",
                              "mtSupported": true,
                              "language": {
                                "description": "English",
                                "direction": "RTL",
                                "languageId": "en",
                                "wordDelimiter": "CHARACTER"
                              },
                              "localeId": "en-US",
                              "direction": "RTL",
                              "country": {
                                "countryId": "US",
                                "description": "United States"
                              }
                            },
                            {
                              "description": "Italian (Italy) [it-IT]",
                              "mtSupported": true,
                              "language": {
                                "description": "Italian",
                                "direction": "RTL",
                                "languageId": "it",
                                "wordDelimiter": "CHARACTER"
                              },
                              "localeId": "it-IT",
                              "direction": "RTL",
                              "country": {
                                "countryId": "IT",
                                "description": "Italy"
                              }
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v2/users": {
      "post": {
        "summary": "Get list of user information",
        "tags": [
          "People"
        ],
        "description": "Smartling users, who process and translate content with the Smartling platform.\n",
        "operationId": "getUsersList",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "userUids": {
                    "description": "List of user uids.",
                    "example": [
                      "ac48ht4qy"
                    ],
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "excludeProfileImage": {
                    "description": "As a performance optimization, exclude the user's profile image.",
                    "example": false,
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PeopleAPIUserInfosSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "userUid": "ac48ht4qy",
                              "firstName": "user first name 1",
                              "lastName": "user last name 1",
                              "profileImage": "https://my.gravatar.net/avatar/eeca2d632c1weeeaf5dsd3e32e32ddsasd",
                              "createdDate": 1704110400000
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v3/accounts/{accountUid}/processes/{processUid}": {
      "get": {
        "summary": "Assignments removal status",
        "description": "Checking state of workflow assignments removal process\n",
        "operationId": "workflowAssignmentsProcess",
        "tags": [
          "Workflow Assignment"
        ],
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          },
          {
            "name": "processUid",
            "in": "path",
            "required": true,
            "description": "The process unique identifier.",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowAssignmentProcessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
                          "processState": "RUNNING",
                          "createdDate": "2023-12-11T20:40:30Z",
                          "requested": 10,
                          "processed": 5
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v3/accounts/{accountUid}/users/{userUid}/workflow-steps/assign": {
      "post": {
        "summary": "Create Steps Assignment",
        "description": "Create new workflow steps assignment",
        "operationId": "workflowAssignmentsCreate",
        "tags": [
          "Workflow Assignment"
        ],
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          },
          {
            "name": "userUid",
            "in": "path",
            "required": true,
            "description": "User identifier.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowAssignmentCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowAssignmentCreateResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 10,
                          "items": {
                            "workflowStepUid": "8312172ed60d",
                            "localePais": {
                              "sourceLocaleId": "en-US",
                              "targetLocaleIds": [
                                "fr-FR",
                                "es-ES"
                              ]
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v3/accounts/{accountUid}/users/{userUid}/workflow-steps/remove": {
      "post": {
        "summary": "Remove Step Assignments",
        "description": "Schedule workflow steps assignment removal and returns process uid for status check.",
        "operationId": "workflowAssignmentsRemove",
        "tags": [
          "Workflow Assignment"
        ],
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          },
          {
            "name": "userUid",
            "in": "path",
            "required": true,
            "description": "User identifier.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "workflowStepAssignments": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/WorkflowAssignmentWorkflowStep"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowAssignmentProcessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
                          "processState": "RUNNING",
                          "createdDate": "2023-12-11T20:40:30Z",
                          "requested": 10,
                          "processed": 5
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v3/accounts/{accountUid}/users/workflow-steps": {
      "post": {
        "summary": "Search For Account Assignments",
        "description": "Search for workflow step assignments within account",
        "operationId": "workflowAssignmentsSearch",
        "tags": [
          "Workflow Assignment"
        ],
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "workflowStepUids": {
                    "type": "array",
                    "minimum": 0,
                    "maximum": 1000,
                    "description": "Optional workflow steps uids.",
                    "example": [
                      "8312172ed60d",
                      "42121ad3df2c"
                    ],
                    "items": {
                      "type": "string"
                    }
                  },
                  "userUid": {
                    "type": "string",
                    "description": "Optional user identifier.",
                    "example": "ac48ht4qy"
                  },
                  "offsetToken": {
                    "type": "string",
                    "description": "Offset token for next data batch or null",
                    "example": "d966008f-c341-4c75-a986-7e25a0135e01"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 5000,
                    "description": "Size of batch for single request",
                    "example": 1000
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowAssignmentSearchResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "offsetToken": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
                          "workflowStepUserAssignments": {
                            "userUid": "ac48ht4qy",
                            "roleValue": "ROLE_TRANSLATION_RESOURCE",
                            "agencyUid": null,
                            "workflowStepAssignments": {
                              "workflowStepUid": "8312172ed60d",
                              "localePais": {
                                "sourceLocaleId": "en-US",
                                "targetLocaleIds": [
                                  "fr-FR",
                                  "es-ES"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/people-api/v3/accounts/{accountUid}/users/{userUid}/workflow-steps": {
      "post": {
        "summary": "Search For User Assignments",
        "description": "Search for workflow step assignments for single user",
        "operationId": "workflowAssignmentsUserSearch",
        "tags": [
          "Workflow Assignment"
        ],
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          },
          {
            "name": "userUid",
            "in": "path",
            "required": true,
            "description": "User identifier.",
            "schema": {
              "format": "uid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "offsetToken": {
                    "type": "string",
                    "description": "Offset token for next data batch or null",
                    "example": "67f4287b-895f-4fc6-b672-6e3f376b0cd5"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 5000,
                    "description": "Size of batch for single request",
                    "example": 1000
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowAssignmentSearchResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "offsetToken": "67f4287b-895f-4fc6-b672-6e3f376b0cd5",
                          "workflowStepUserAssignments": {
                            "userUid": "0d1ff048f7e7",
                            "roleValue": "ROLE_TRANSLATION_RESOURCE",
                            "agencyUid": null,
                            "workflowStepAssignments": {
                              "workflowStepUid": "8312172ed60d",
                              "localePais": {
                                "sourceLocaleId": "en-US",
                                "targetLocaleIds": [
                                  "fr-FR",
                                  "es-ES"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/files-api/v2/projects/{projectId}/file": {
      "post": {
        "summary": "Upload file",
        "description": "This uploads original source content to Smartling.\n\nThe curl example provided will upload your Java properties file directly\ninto the Smartling project identified by the `projectId`. Smartling will\ningest this file, parse out the keys and text as strings for\ntranslation. At this point, content is ready for translation.\n",
        "operationId": "uploadSourceFile",
        "tags": [
          "Files"
        ],
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The file contents to upload."
                  },
                  "fileUri": {
                    "type": "string",
                    "description": "A value that uniquely identifies the uploaded file. This ID\ncan be used to request the file back. We recommend that you\nuse file path and file name, similar to how version control\nsystems identify the file.\n\nThe maximum length is 512 characters.\n\nExample: `/myproject/i18n/ui.properties`\n",
                    "maxLength": 512
                  },
                  "fileType": {
                    "$ref": "#/components/schemas/FileType"
                  },
                  "smartling.namespace": {
                    "type": "string",
                    "description": "This is only for accounts created after July 31st, 2015. Define a custom\n[namespace](https://help.smartling.com/hc/en-us/articles/360008143833)\nfor the file.\n\n**Note**: While this parameter shares the format of other\nfile directives, it will not work as an inline directive and\nmust be specified in the API call.\n"
                  },
                  "smartling.file_charset": {
                    "type": "string",
                    "description": "Specifies a custom charset for text-format files. The value\nshould be the name of the character set. See a full list of\nsupported character sets [here](https://help.smartling.com/hc/en-us/articles/40930524759835).\n\nIf this directive is not used, Smartling will use the\n```Content-Type``` request header to determine if the\ncontent is encoded with UTF-16, UTF-16B or UTF-16LE. If\nthere is no ```Content-Type``` header, Smartling will\nexamine the file for UTF-16 characters. If none are\ndetected, UTF-8 encoding will be used.\n\n**Note**: Once this property has been set for a file, it\ncannot be changed. If you reupload the file, it will use the\noriginal charset, even if you change the directive. An error\nwill be returned if this directive is used when uploading\nbinary-format file types, such as Office or IDML files.\n"
                  },
                  "smartling.[command]": {
                    "type": "string",
                    "description": "Provides custom parser configuration for supported file\ntypes. See [Supported File Types](https://help.smartling.com/hc/en-us/articles/360007998893)\nfor more details.\n"
                  },
                  "callbackUrl": {
                    "type": "string",
                    "maxLength": 255,
                    "format": "url",
                    "description": "A GET request that creates a callback to a URL when all authorized strings from a file are 100%\npublished for a locale.* The callback gives the\nfileUri and locale with the format\n`http[/s]://your.url?locale=xx-XX&fileUri=your.file`. If you\nupload the file again, without a callbackUrl, it will remove\nany previous callbackUrl for that file. The RequestBin\n(http://requestb.in) service is a convenient way to test a\ncallback. RequestBin generates a short-lived disposable URL\nthat displays all posted requests.\n\nIf a callback fails, Smartling will make multiple attempts\nto reach the designated URL. However, we do not keep\nretrying a failed callback indefinitely. Try to make sure\nyour callback URL is as stable as possible and be aware that\ncallbacks are not a 100% reliable way of being notified that\na file is published.\n\nIf the upload has begun but is taking more than a minute to\ncomplete, it responds with a `202` status.\n\n*This is the default behavior. There are cases when the callback could be triggered even when not all authorized strings are published, depending on your project configuration. Contact your Smartling Representative if you have questions about your project’s callback configuration.\n"
                  }
                },
                "required": [
                  "file",
                  "fileUri",
                  "fileType"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIUploadSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "overWritten": true,
                          "stringCount": 10,
                          "wordCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIUploadAcceptedResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "message": "Your file was successfully uploaded. Word and string counts are not available right now."
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "423": {
            "description": "The requested file is currently being processed by another operation. The file will be unlocked after the operation completes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error423Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "RESOURCE_LOCKED",
                        "errors": [
                          {
                            "key": "resource.locked",
                            "message": "The file is currently being processed and will be available in a few minutes."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -F \"file=@$uploadFilePath;type=text/plain\" -F \"fileUri=$uploadFileSmartlingUri\" -F \"fileType=$uploadFileSmartlingType\" \"https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file\"\n"
          }
        ]
      },
      "get": {
        "summary": "Download source file",
        "description": "This downloads the original version of the requested file from\nSmartling.\n\nIt is important to check the HTTP response status code. If Smartling\nfinds and returns the file normally, you will receive a `200` SUCCESS\nresponse. If you receive a response status code other than `200`, the\nrequested file will not be part of the response.\n\nWhen you upload a UTF-16 character encoded file, then /file/get requests\nfor that file will have a character encoding of UTF-16. All other\nuploaded files will return with a character encoding of UTF-8.\n\nYou can always use the content-type header in the response of a file/get\nrequest to determine the character encoding.\n\nThe filename is based on the fileUri associated with the requested file.\nIn most cases, the filename is exactly the fileUri provided. The only\nexception to this is with .pot gettext files. When a .pot file is\nspecified as the fileUri, Smartling returns a .po file.\n",
        "tags": [
          "Files"
        ],
        "operationId": "downloadSourceFile",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileUri",
            "description": "Value that uniquely identifies the downloaded file.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -G --data-urlencode \"fileUri=$smartlingFileUri\" \"https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file\"\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/file/status": {
      "get": {
        "summary": "Status of file for each locale",
        "tags": [
          "Files"
        ],
        "description": "Returns information on a specific file.\n\n**Example:**\n```bash\n  curl -X GET -H \"Authorization: Bearer {token}\" 'https://api.smartling.com/files-api/v2/projects/{projectId}/file/status?fileUri=file.properties'\n```\n",
        "operationId": "getFileTranslationStatusAllLocales",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileUri",
            "description": "Smartling value that uniquely identifies a file in Smartling",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIStatusAllLocalesSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "created": "2017-09-06T20:29:15Z",
                          "directives": {
                            "file_uri_as_namespace": "true"
                          },
                          "fileType": "csv",
                          "fileUri": "/files/test_translation_import.csv",
                          "hasInstructions": false,
                          "items": [
                            {
                              "authorizedStringCount": 0,
                              "authorizedWordCount": 0,
                              "completedStringCount": 0,
                              "completedWordCount": 0,
                              "excludedStringCount": 0,
                              "excludedWordCount": 0,
                              "localeId": "ru-RU"
                            }
                          ],
                          "lastUploaded": "2017-09-06T20:29:15Z",
                          "namespace": {
                            "name": "/files/test_trans_import.csv"
                          },
                          "parserVersion": 4,
                          "totalCount": 1,
                          "totalStringCount": 1,
                          "totalWordCount": 1,
                          "totalPageCount": null,
                          "pageCountStatus": "NOT_AVAILABLE_UNSUPPORTED"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/files-api/v2/projects/{projectId}/locales/{localeId}/file/status": {
      "get": {
        "summary": "Status of file for a single locale",
        "description": "Returns detailed status information on a specific file.\n\n**Example:**\n```bash\ncurl -X GET -H \"Authorization: Bearer {token}\" 'https://api.smartling.com/files-api/v2/projects/{projectId}/locales/{localeId}/file/status?fileUri=file.properties'\n```\n",
        "tags": [
          "Files"
        ],
        "operationId": "getFileTranslationStatusSingleLocale",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Identifier for a locale.",
            "in": "path",
            "name": "localeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Smartling value that uniquely identifies a file in Smartling",
            "in": "query",
            "name": "fileUri",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIStatusSingleLocaleSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "authorizedStringCount": 4,
                          "authorizedWordCount": 5,
                          "completedStringCount": 0,
                          "completedWordCount": 0,
                          "created": "2017-05-27T12:45:36Z",
                          "excludedStringCount": 0,
                          "excludedWordCount": 0,
                          "fileType": "javaProperties",
                          "fileUri": "/files/4.properties",
                          "hasInstructions": false,
                          "lastUploaded": "2017-05-27T12:45:36Z",
                          "parserVersion": 4,
                          "totalStringCount": 5,
                          "totalWordCount": 9,
                          "totalPageCount": null,
                          "pageCountStatus": "NOT_AVAILABLE_UNSUPPORTED"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/files-api/v2/projects/{projectId}/locales/{localeIds}/file": {
      "get": {
        "summary": "Download translated file (single locale or multi-locale)",
        "tags": [
          "Files"
        ],
        "description": "Downloads the requested translated file from Smartling.  \n\nThis endpoint supports two modes depending on the value of `localeIds`:\n\n### **Single-locale mode**\n- Provide a **single locale ID**, e.g. `fr-FR`\n- Smartling returns a file containing translations only for that locale\n- Supported for **all file types**.\n\n### **Multi-locale mode**\n- Provide a **comma-separated list of locale IDs**, e.g. `fr-FR,de-DE,es-ES`\n- Or specify `all` to include all available locales\n- Smartling returns a **combined multi-locale file** with translations for all specified locales inside one file\n- Supported only for:\n  **MADCAP, DITA_ZIP, CSV, XLSX_TEMPLATE, XCSTRINGS**\n\n\n---\n\nIt is important to check the HTTP response status code. If Smartling\nfinds and returns the file normally, you will receive a `200` SUCCESS\nresponse. If you receive any other response status code other than\n`200`, the requested file will not be part of the response.\n\nWhen you upload a UTF-16 character encoded file, then /file/get requests\nfor that file will have a character encoding of UTF-16. All other\nuploaded files will be returned with a character encoding of UTF-8.\n\nYou can always use the content-type header in the response of a file/get\nrequest to determine the character encoding.\n\n**Note**: The filename in the response header is based on the fileUri\nassociated with the requested file. In most cases, the filename is\nexactly the fileUri provided. The only exception to this is with .pot\ngettext files. When a .pot file is specified as the fileUri, Smartling\nreturns a .po file.\n",
        "operationId": "downloadTranslatedFile",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localeIds",
            "description": "One of:\n- A **single locale ID**, e.g. `fr-FR` → single-locale mode  \n- A **comma-separated list** of locale IDs, e.g. `fr-FR,de-DE` → multi-locale mode  \n- `all` → download translations for all available locales\n",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileUri",
            "description": "Value that uniquely identifies the downloaded file",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "retrievalType",
            "description": "Determines the desired format for the download. Applies to translated files only.\n\n| retrievalType | Description |\n|---------------|-------------|\n| pending | Smartling returns any translations (including non-published translations)|\n| published | Smartling returns only published/pre-published translations.|\n| pseudo | Smartling returns a modified version of the original text with certain characters transformed and the text expanded. For example, the uploaded string \"This is a sample string\", will return as \"T~hís ~ís á s~ámpl~é str~íñg\". Pseudo translations enable you to test how a longer string integrates into your application.|\n| contextMatchingInstrumented | Smartling returns a modified version of the original file with strings wrapped in a specific set of Unicode symbols that can later be recognized and matched by the Chrome Context Capture Extension.|\n",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "pending",
                "published",
                "pseudo",
                "contextMatchingInstrumented"
              ],
              "type": "string"
            }
          },
          {
            "name": "includeOriginalStrings",
            "description": "Specifies whether Smartling will return the original string or an\nempty string where no translation is available. This parameter is\nonly supported for ANDROID, ARB, GETTEXT, IDML, IOS, JAVA Properties, JSON, QT, STRINGSDICT,\nXLIFF, XML, and YAML files. If unset, the default is <code>true</code>.\n\n| Value | Description |\n|-------|-------------|\n| true | If there is no translation, Smartling returns the original string. |\n| false | If there is no translation, Smartling returns an empty string. |\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -o $smartlingLocaleId$smartlingFileUri -G --data-urlencode \"fileUri=$smartlingFileUri\" \"https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file\"\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/locales/all/file/zip": {
      "get": {
        "summary": "Download all translations of file",
        "description": "Download a ZIP archive with all translations for the requested file.\n\nUnlike the \"Download translated file\" endpoint, you get a ZIP archive\nwith all translations of a specific file.\n\nIt is important to check the HTTP response status code. If Smartling\nfinds and returns the file normally, you will receive a `200` SUCCESS\nresponse. If you receive any other response status code than `200`, the\nrequested files will not be part of the response.\n\nWhen you upload a UTF-16 character encoded file, then /file/get requests\nfor that file will have a character encoding of UTF-16. All other\nuploaded files will be returned with a character encoding of UTF-8.\n\nYou can always use the content-type header in the response of a file/get\nrequest to determine the character encoding.\n",
        "tags": [
          "Files"
        ],
        "operationId": "downloadTranslatedFilesAllLocales",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileUri",
            "description": "Smartling value that uniquely identifies a file in Smartling",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "retrievalType",
            "description": "Determines the desired format for the download. Applies to translated files only.\n\n| retrievalType | Description |\n|---------------|-------------|\n| pending | Smartling returns any translations (including non-published translations).|\n| published | Smartling returns only published/pre-published translations.|\n| pseudo | Smartling returns a modified version of the original text with certain characters transformed, and the text expanded. For example, the uploaded string \"This is a sample string\", will return as \"T~hís ~ís á s~ámpl~é str~íñg\". Pseudo translations enable you to test how a longer string integrates into your application.|\n| contextMatchingInstrumented | Smartling returns a modified version of the original file with strings wrapped in a specific set of Unicode symbols that can later be recognized and matched by the Chrome Context Capture Extension.|\n",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "pending",
                "published",
                "pseudo",
                "contextMatchingInstrumented"
              ],
              "type": "string"
            }
          },
          {
            "name": "includeOriginalStrings",
            "description": "Specifies whether Smartling will return the original string or an\nempty string where no translation is available. This parameter is\nonly supported for ANDROID, ARB, GETTEXT, IDML, IOS, JAVA Properties, JSON, QT, STRINGSDICT,\nXLIFF, XML, and YAML files. If unset, the default is <code>true</code>.\n\n| Value | Description |\n|-------|-------------|\n| true | If there is no translation, Smartling returns the original string. |\n| false | If there is no translation, Smartling returns an empty string. |\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "zipFileName",
            "description": "Name for the downloaded zip file. If unset, the default is ```translations.zip```",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X GET -H \"Authorization: Bearer $smartlingToken\" 'https://api.smartling.com/files-api/v2/projects/{projectId}/locales/all/file/zip?fileUri=yourfile.json&retrievalType=published'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/files/zip": {
      "get": {
        "summary": "Download multiple translated files (DEPRECATED)",
        "description": "Download ZIP archive with the requested translated files.\n\nUnlike \"Download all translations of the file\" you can specify multiple\nfile URIs (limit is 300 files) and locale IDs to select which files and languages you want to download.\n\nIt is important to check the HTTP response status code. If Smartling\nfinds and returns the file normally, you will receive a `200` SUCCESS\nresponse. If you receive any other response status code than `200`, the\nrequested files will not be part of the response.\n\nWhen you upload a UTF-16 character encoded file, then /file/get requests\nfor that file will have a character encoding of UTF-16. All other\nuploaded files will return with a character encoding of UTF-8.\n\nYou can always use the content-type header in the response of a file/get\nrequest to determine the character encoding.\n\n**Example:**\n\n```bash\n  curl -X GET -H \"Authorization: Bearer {token}\" 'https://api.smartling.com/files-api/v2/projects/{projectId}/files/zip?localeIds[]=de-DE&fileUris[]=yourfile.json'\n```\n",
        "tags": [
          "Files"
        ],
        "operationId": "downloadMultipleTranslatedFiles",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileUris[]",
            "description": "Smartling values that each uniquely identify a file. The limit is 300 files.",
            "explode": true,
            "in": "query",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "localeIds[]",
            "description": "List of locales to download.",
            "explode": true,
            "in": "query",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "retrievalType",
            "description": "Determines the desired format for the download. Applies only to\ntranslated files.\n\n| retrievalType | Description |\n|---------------|-------------|\n| pending | Smartling returns any translations (including non-published translations)|\n| published | Smartling returns only published/pre-published translations.|\n| pseudo | Smartling returns a modified version of the original text with certain characters transformed and the text expanded. For example, the uploaded string \"This is a sample string\", will return as \"T~hís ~ís á s~ámpl~é str~íñg\". Pseudo translations enable you to test how a longer string integrates into your application.|\n| contextMatchingInstrumented | Smartling returns a modified version of the original file with strings wrapped in a specific set of Unicode symbols that can later be recognized and matched by the Chrome Context Capture Extension.|\n",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "pending",
                "published",
                "pseudo",
                "contextMatchingInstrumented"
              ],
              "type": "string"
            }
          },
          {
            "name": "includeOriginalStrings",
            "description": "Specifies whether Smartling will return the original string or an\nempty string where no translation is available. This parameter is\nonly supported for ANDROID, ARB, GETTEXT, IDML, IOS, JAVA Properties, JSON, QT, STRINGSDICT,\nXLIFF, XML, and YAML files. If unset, the default is <code>true</code>.\n\n| Value | Description |\n|-------|-------------|\n| true | If there is no translation, Smartling returns the original string. |\n| false | If there is no translation, Smartling returns an empty string. |\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "fileNameMode",
            "description": "Determines how files in the ZIP file will be named. If not set, the\nfull original file path will be used as the filename.\n\n| fileNameMode | Description |\n|--------------|-------------|\n| UNCHANGED | Full original file path is used |\n| TRIM_LEADING | Remove all except the last path segment. e.g. ```/en/strings/nav.properties``` becomes ```nav.properties```|\n| LOCALE_LAST | Adds a locale folder to the file path directly before the filename. e.g. ```/strings/nav.properties``` becomes ```/strings/en/nav.properties``` |\n",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "UNCHANGED",
                "TRIM_LEADING",
                "LOCALE_LAST"
              ],
              "type": "string"
            }
          },
          {
            "name": "localeMode",
            "description": "Determines how locales will be handled in the downloaded zip\n\n| localeMode | Description |\n|------------|-------------|\n| LOCALE_IN_PATH | Locale code is added to the end of the file path. e.g. ```/strings/es-ES/nav.properties```. |\n| LOCALE_IN_NAME | Locale code is added to the end of the file name e.g. ```/strings/nav_es-ES.properties```. |\n| LOCALE_IN_NAME_AND_PATH | Locale code is added to both the path and the filename. e.g. ```/strings/es-ES/nav_es-ES.properties```. |\n",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "LOCALE_IN_PATH",
                "LOCALE_IN_NAME",
                "LOCALE_IN_NAME_AND_PATH"
              ],
              "type": "string"
            }
          },
          {
            "name": "zipFileName",
            "description": "Name for the downloaded ZIP file. If unset, default is ```translations.zip```",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "post": {
        "summary": "Download multiple translated files",
        "description": "Download ZIP archive with the requested translated files.\n\nThis endpoint allows you to specify multiple files and locales in the\nrequest body (limit is 500 file-locale combinations) to select which files\nand languages you want to download.\n\nIt is important to check the HTTP response status code. If Smartling\nfinds and returns the file normally, you will receive a `200` SUCCESS\nresponse. If you receive a `204` response, no files were included because\nthe requested files were not fully published and `fileFilter` was set to\n`PUBLISHED_FILES_ONLY`. If you receive any other response status code\nthan `200`, the requested files will not be part of the response.\n\nWhen you upload a UTF-16 character encoded file, then /file/get requests\nfor that file will have a character encoding of UTF-16. All other\nuploaded files will return with a character encoding of UTF-8.\n\nYou can always use the content-type header in the response of a file/get\nrequest to determine the character encoding.\n\n**Example:**\n\n```bash\n  curl -X POST \\\n    -H \"Authorization: Bearer {token}\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n      \"files\": [\n        {\n          \"fileUri\": \"yourfile.json\",\n          \"localeIds\": [\"de-DE\", \"fr-FR\"]\n        },\n        {\n          \"fileUri\": \"anotherfile.xml\",\n          \"localeIds\": [\"es-ES\"]\n        }\n      ],\n      \"retrievalType\": \"published\",\n      \"includeOriginalStrings\": true,\n      \"fileNameMode\": \"LOCALE_LAST\",\n      \"localeMode\": \"LOCALE_IN_PATH\",\n      \"zipFileName\": \"translations.zip\",\n      \"fileFilter\": \"ALL_FILES\"\n    }' \\\n    'https://api.smartling.com/files-api/v2/projects/{projectId}/files/zip'\n```\n",
        "tags": [
          "Files"
        ],
        "operationId": "downloadMultipleTranslatedFilesPost",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "files"
                ],
                "properties": {
                  "files": {
                    "description": "List of files with their associated locales to download.\nAt least one entry is required, each with at least one locale.\nThe total number of file-locale combinations cannot exceed 500.\n",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "required": [
                        "fileUri",
                        "localeIds"
                      ],
                      "properties": {
                        "fileUri": {
                          "type": "string",
                          "description": "Smartling value that uniquely identifies a file."
                        },
                        "localeIds": {
                          "type": "array",
                          "description": "List of locales to download for the given file. Must contain at least one element.",
                          "minItems": 1,
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "retrievalType": {
                    "description": "Determines the desired format for the download. Applies only to\ntranslated files.\n\n| retrievalType | Description |\n|---------------|-------------|\n| pending | Smartling returns any translations (including non-published translations)|\n| published | Smartling returns only published/pre-published translations.|\n| pseudo | Smartling returns a modified version of the original text with certain characters transformed and the text expanded. For example, the uploaded string \"This is a sample string\", will return as \"T~hís ~ís á s~ámpl~é str~íñg\". Pseudo translations enable you to test how a longer string integrates into your application.|\n| contextMatchingInstrumented | Smartling returns a modified version of the original file with strings wrapped in a specific set of Unicode symbols that can later be recognized and matched by the Chrome Context Capture Extension.|\n",
                    "type": "string",
                    "enum": [
                      "pending",
                      "published",
                      "pseudo",
                      "contextMatchingInstrumented"
                    ]
                  },
                  "includeOriginalStrings": {
                    "description": "Specifies whether Smartling will return the original string or an\nempty string where no translation is available. This parameter is\nonly supported for ANDROID, ARB, GETTEXT, IDML, IOS, JAVA Properties, JSON, QT, STRINGSDICT,\nXLIFF, XML, and YAML files. If unset, the default is <code>true</code>.\n\n| Value | Description |\n|-------|-------------|\n| true | If there is no translation, Smartling returns the original string. |\n| false | If there is no translation, Smartling returns an empty string. |\n",
                    "type": "boolean"
                  },
                  "fileNameMode": {
                    "description": "Determines how files in the ZIP file will be named. If not set, the\nfull original file path will be used as the filename.\n\n| fileNameMode | Description |\n|--------------|-------------|\n| UNCHANGED | Full original file path is used |\n| TRIM_LEADING | Remove all except the last path segment. e.g. ```/en/strings/nav.properties``` becomes ```nav.properties```|\n| LOCALE_LAST | Adds a locale folder to the file path directly before the filename. e.g. ```/strings/nav.properties``` becomes ```/strings/en/nav.properties``` |\n",
                    "type": "string",
                    "enum": [
                      "UNCHANGED",
                      "TRIM_LEADING",
                      "LOCALE_LAST"
                    ]
                  },
                  "localeMode": {
                    "description": "Determines how locales will be handled in the downloaded zip\n\n| localeMode | Description |\n|------------|-------------|\n| LOCALE_IN_PATH | Locale code is added to the end of the file path. e.g. ```/strings/es-ES/nav.properties```. |\n| LOCALE_IN_NAME | Locale code is added to the end of the file name e.g. ```/strings/nav_es-ES.properties```. |\n| LOCALE_IN_NAME_AND_PATH | Locale code is added to both the path and the filename. e.g. ```/strings/es-ES/nav_es-ES.properties```. |\n",
                    "type": "string",
                    "enum": [
                      "LOCALE_IN_PATH",
                      "LOCALE_IN_NAME",
                      "LOCALE_IN_NAME_AND_PATH"
                    ]
                  },
                  "zipFileName": {
                    "description": "Name for the downloaded ZIP file. If unset, default is ```translations.zip```",
                    "type": "string"
                  },
                  "fileFilter": {
                    "description": "Specifies which files will be included in the response.\n\n| Value | Description |\n|--------|-------------|\n| ALL_FILES | All requested files will be included in the response. |\n| PUBLISHED_FILES_ONLY | Only fully published files will be included in the response. |\n",
                    "type": "string",
                    "enum": [
                      "ALL_FILES",
                      "PUBLISHED_FILES_ONLY"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No content — returned when `fileFilter=PUBLISHED_FILES_ONLY` and none of the requested files are fully published."
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/files-api/v2/projects/{projectId}/files/list": {
      "get": {
        "summary": "List recently uploaded files",
        "description": "This lists recently uploaded files, and returns a maximum of 100 files.",
        "tags": [
          "Files"
        ],
        "operationId": "getRecentlyUploadedSourceFilesList",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uriMask",
            "description": "Returns only files with a URI containing the given substring. Case is ignored. For example, the value ```.json``` will match ```strings.json``` and ```STRINGS.JSON``` but not ```json.strings```\n",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileTypes[]",
            "explode": true,
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/FileType"
              },
              "type": "array"
            }
          },
          {
            "name": "lastUploadedAfter",
            "description": "Returns all files uploaded after the specified date.",
            "in": "query",
            "required": false,
            "schema": {
              "format": "YYYY-MM-DDThh:mm:ssZ",
              "type": "string"
            }
          },
          {
            "name": "lastUploadedBefore",
            "description": "Returns all files uploaded before the specified date.",
            "in": "query",
            "required": false,
            "schema": {
              "format": "YYYY-MM-DDThh:mm:ssZ",
              "type": "string"
            }
          },
          {
            "name": "orderBy",
            "description": "Sets the name and direction of the parameter to order results by. If ascending or descending is not specified, the default is ascending\n",
            "in": "query",
            "schema": {
              "enum": [
                "created",
                "fileUri",
                "lastUploaded",
                "created_asc",
                "created_desc",
                "fileUri_asc",
                "fileUri_desc",
                "lastUploaded_asc",
                "lastUploaded_desc"
              ],
              "type": "string"
            }
          },
          {
            "name": "limit",
            "description": "In order to get consistent pagination, make sure to specify the ```orderBy``` parameter.\n",
            "in": "query",
            "required": false,
            "schema": {
              "default": 100,
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "description": "Standard Smartling limit and offset to paginate through results.",
            "in": "query",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIListFilesSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "created": "2017-09-06T20:29:15Z",
                              "fileType": "csv",
                              "fileUri": "/files/translation_import.csv",
                              "hasInstructions": false,
                              "lastUploaded": "2017-09-06T20:29:15Z"
                            },
                            {
                              "created": "2017-05-27T12:45:36Z",
                              "fileType": "javaProperties",
                              "fileUri": "/files/4.properties",
                              "hasInstructions": false,
                              "lastUploaded": "2017-05-27T12:45:36Z"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" \"https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/files/list?fileTypes[]=json&uriMask=strings\"\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/file-types": {
      "get": {
        "summary": "List all file types",
        "description": "This returns a list of all file types currently represented in the project.\n",
        "tags": [
          "Files"
        ],
        "operationId": "getFileTypesList",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPIListFileTypesSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            "csv",
                            "javaProperties"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" \"https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file-types\"\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/file/rename": {
      "post": {
        "summary": "Rename file",
        "description": "This renames an uploaded file by changing the `fileUri`. After renaming the file, it will only be identified by the new `fileUri` that you provide.\n",
        "tags": [
          "Files"
        ],
        "operationId": "renameUploadedSourceFile",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "fileUri": {
                    "description": "Current value that uniquely identifies the file",
                    "type": "string"
                  },
                  "newFileUri": {
                    "description": "The new value for fileUri. We recommend that you use file path and file name, similar to how version control systems identify the file. Example: /myproject/i18n/ui.properties. This must be a fileUri that does not exist in the current Smartling project.\n",
                    "type": "string"
                  }
                },
                "required": [
                  "fileUri",
                  "newFileUri"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -F \"fileUri=filename.properties\" -F \"newFileUri=filename2.properties\" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/rename'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/file/delete": {
      "post": {
        "summary": "Delete file",
        "description": "This removes the file from Smartling. The file will no longer be available for download. Any complete translations for the file remain available for use within the system.\n\nSmartling deletes files asynchronously and it typically takes a few minutes to complete. While deleting a file, you can not upload a file with the same `fileUri`.\n",
        "tags": [
          "Files"
        ],
        "operationId": "deleteUploadedSourceFile",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "fileUri": {
                    "description": "Smartling value that uniquely identifies a file in Smartling",
                    "type": "string"
                  }
                },
                "required": [
                  "fileUri"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -F \"fileUri=filename.properties\" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/delete'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/locales/{localeId}/file/last-modified": {
      "get": {
        "summary": "Last modified date (single locale)",
        "description": "This returns the date that a file was last modified in a specified locale.\n",
        "tags": [
          "Files"
        ],
        "operationId": "getTranslatedFileLastModifiedDateSingleLocale",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Identifier for a locale.",
            "in": "path",
            "name": "localeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a file in Smartling.",
            "in": "query",
            "name": "fileUri",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limits the return to only those file and locale combinations that have a ```lastModified``` date after the ```lastModifiedAfter```parameter . The items array will be empty if the file has not been modified in any of the locales since the `lastModifiedAfter` date specified.",
            "in": "query",
            "name": "lastModifiedAfter",
            "required": false,
            "schema": {
              "format": "YYYY-MM-DDThh:mm:ssZ",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPILastModifiedSingleLocaleSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "lastModified": "2017-09-06T20:25:18Z",
                          "localeId": "ru-RU"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X GET -H \"Authorization: Bearer $smartlingToken\" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/last-modified?fileUri=filename.properties'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/file/last-modified": {
      "get": {
        "summary": "Last modified date (all locales)",
        "description": "This returns the date that a file was last modified in each locale.\n",
        "tags": [
          "Files"
        ],
        "operationId": "getTranslatedFileLastModifiedDateAllLocales",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a file in Smartling.",
            "in": "query",
            "name": "fileUri",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limits the return to only those file and locale combinations that have a ```lastModified``` date after the parameter ```lastModifiedAfter```. The items array will be empty if the file has not been modified in any of the locales since the `lastModifiedAfter` date specified.",
            "in": "query",
            "name": "lastModifiedAfter",
            "required": false,
            "schema": {
              "format": "YYYY-MM-DDThh:mm:ssZ",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPILastModifiedAllLocalesSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "lastModified": "2017-09-06T20:25:18Z",
                              "localeId": "ru-RU"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X GET -H \"Authorization: Bearer $smartlingToken\" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/file/last-modified?fileUri=filename.properties'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/locales/{localeId}/file/import": {
      "post": {
        "summary": "Import translations",
        "description": "",
        "tags": [
          "Files"
        ],
        "operationId": "importFileTranslations",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Identifier for a locale.",
            "in": "path",
            "name": "localeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The file contents to upload."
                  },
                  "fileUri": {
                    "description": "The Smartling URI for a file that contains the original language strings that are already uploaded to Smartling.",
                    "type": "string"
                  },
                  "fileType": {
                    "description": "A unique identifier for the file type. To allow translation imports, XML and JSON files must be uploaded with `source_key_paths` defined.",
                    "enum": {
                      "$ref": "#/components/schemas/ImportTranslationsFileType/enum"
                    },
                    "type": "string"
                  },
                  "translationState": {
                    "description": "Value indicating the workflow state to import the translations into.\nContent will be imported into the language's default workflow.\n\n| Value | Description |\n|-------|-------------|\n| PUBLISHED | The translated content is published. |\n| POST_TRANSLATION | The translated content is imported into the first step after translation - if there is none, it will be published. |\n",
                    "enum": [
                      "PUBLISHED",
                      "POST_TRANSLATION"
                    ],
                    "type": "string"
                  },
                  "overwrite": {
                    "description": "Whether or not to overwrite existing translations.",
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "file",
                  "fileUri",
                  "fileType",
                  "translationState"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilesAPITranslationImportSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "stringCount": 3,
                          "translationImportErrors": [],
                          "wordCount": 6
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -F \"file=@filename.properties\" -F \"fileUri=filename.properties\" -F \"fileType=javaProperties\" -F \"translationState=PUBLISHED\" 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/import'\n"
          }
        ]
      }
    },
    "/files-api/v2/projects/{projectId}/locales/{localeId}/file/get-translations": {
      "post": {
        "summary": "Export translations",
        "description": "Temporarily uploads a file, then returns a translated version for requested locales.\n\nThis call can be used instead of a standard upload/download if you keep different versions of a file in multiple branches or are triggering rebuilds, and don’t want your files in Smartling to be overwritten by out-of-date versions of a file.\n\nTo use the call, you upload a file and identify the Smartling URI where the main version of that file is saved. Smartling will match strings shared between the uploaded file and the main file and return any available translations.\n",
        "tags": [
          "Files"
        ],
        "operationId": "exportFileTranslations",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Identifier for a locale.",
            "in": "path",
            "name": "localeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "The file contents to upload.",
                    "type": "string",
                    "format": "binary"
                  },
                  "fileUri": {
                    "description": "The Smartling URI for a file that contains the original language strings that are already uploaded to Smartling",
                    "type": "string"
                  },
                  "retrievalType": {
                    "description": "Determines the desired format for the download. Applies to\ntranslated files only.\n\n| retrievalType | Description |\n|---------------|-------------|\n| pending | Smartling returns any translations (including non-published translations).|\n| published | Smartling returns only published/pre-published translations.|\n| pseudo | Smartling returns a modified version of the original text with certain characters transformed and the text expanded. For example, the uploaded string \"This is a sample string\", will return as \"T~hís ~ís á s~ámpl~é str~íñg\". Pseudo translations enable you to test how a longer string integrates into your application.|\n| contextMatchingInstrumented | Smartling returns a modified version of the original file with strings wrapped in a specific set of Unicode symbols that can later be recognized and matched by the Chrome Context Capture Extension.|\n",
                    "enum": [
                      "pending",
                      "published",
                      "pseudo",
                      "contextMatchingInstrumented"
                    ],
                    "type": "string"
                  },
                  "includeOriginalStrings": {
                    "description": "Specifies whether Smartling will return the original string or an\nempty string where no translation is available. This parameter is\nonly supported for ANDROID, ARB, GETTEXT, IDML, IOS, JAVA Properties, JSON, QT, STRINGSDICT,\nXLIFF, XML, and YAML files. If unset, the default is <code>true</code>.\n\n| Value | Description |\n|-------|-------------|\n| true | If there is no translation, Smartling returns the original string. |\n| false | If there is no translation, Smartling returns an empty string. |\n",
                    "type": "boolean"
                  }
                },
                "required": [
                  "fileUri",
                  "file"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -F \"file=@filename.properties\" -F 'fileUri=filename.properties' 'https://api.smartling.com/files-api/v2/projects/$smartlingProjectId/locales/$smartlingLocaleId/file/get-translations'\n"
          }
        ]
      }
    },
    "/published-files-api/v2/projects/{projectId}/files/list/recently-published": {
      "get": {
        "summary": "List recently published files",
        "description": "Response is limited to files published after 14 days from the time called.\n",
        "tags": [
          "Files"
        ],
        "operationId": "getRecentlyPublishedFilesList",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Limits the response to only those files that have a ```publishDate``` date after the ```publishedAfter``` parameter. The items array can be empty if no files match this criteria.",
            "in": "query",
            "name": "publishedAfter",
            "required": true,
            "schema": {
              "format": "YYYY-MM-DDThh:mm:ssZ",
              "type": "string"
            }
          },
          {
            "description": "A list of fileUris to filter the response list by. Value must be exact match. Up to 20 fileUris can be specified. See getRecentlyUploadedSourceFilesList to get a project's fileUris.",
            "in": "query",
            "name": "fileUris[]",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "A list of locale identifiers to filter the response list by. Up to 50 localeIds can be specified. See getProjectDetails to get a project's localeIds.",
            "in": "query",
            "name": "localeIds[]",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results. Default value is 0.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results. Limit is not applied if this parameter is not specified.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishedFilesAPIRecentlyPublishedFilesSuccessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "fileUri": "files/example1.json",
                              "localeId": "fr-CA",
                              "publishDate": "2019-11-21T11:51:17.000Z"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" 'https://api.smartling.com/published-files-api/v2/projects/$smartlingProjectId/files/list/recently-published?publishedAfter=2019-11-21T11:51:17Z&fileUris[]=files/example1.json&localeIds[]=fr-CA&limit=10&offset=100'\n"
          }
        ]
      }
    },
    "/context-api/v2/projects/{projectId}/contexts": {
      "post": {
        "summary": "Upload new context",
        "description": "[Visual Context](https://help.smartling.com/hc/en-us/articles/360057484273-Overview-of-Visual-Context) provides a visual representation of the source content to Translators and Editors as\nthey are performing their work, and is a very effective way to ensure high-quality translations. Visual\nContext is displayed in the Smartling CAT Tool - the environment in which translations are performed.\n\nThe following context types are supported via the Smartling API:\n\n- **HTML**: HTML files or files with content type text/html\n- **IMAGE**: Image files\n- **VIDEO**:\n  - Video file\n  - Link to video, such as:\n    - YouTube link\n    - Vimeo link\n    - Direct link to an .mp4 file\n\nContext type is not specified directly, but rather, inferred via\nanalyzing the request body.\n\nThis endpoint accepts *multipart/form-data* request body.",
        "tags": [
          "Context"
        ],
        "operationId": "uploadNewVisualContext",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "name": {
                    "description": "Context name. Overwrites the `content`'s file name if specified.\nParameter meanings for different context types:\n\n|Context Type|Meaning|\n|----------|--------|\n| `HTML` | Context URL or file name. If a valid URL is used, all relative links to resources within the context file will be resolved based on this URL. If the file name is used, the context file should have the `<base />` tag specified with the valid URL to resolve all relative links to resources. In all other cases, links to resources will not be resolved and the context might not show correctly. Defaults to context file name if not specified. |\n| `IMAGE` | Image file name. |\n| `VIDEO` | Link to a publicly available video in case `content` field is empty. The parameter is required for this particular case. Otherwise, video file name. |\n",
                    "type": "string"
                  },
                  "content": {
                    "type": "string",
                    "format": "binary",
                    "description": "The context file to upload.\n\nIt should be one of the supported content types(user should insert content type instead of the *. E.g. image/jpeg.):\n - `image/*`\n - `text/html`\n - `video/*`\n\nMaximum file upload size is:\n - `20MB` – for HTML and image files.\n - `500MB` – for video files.\n\n**Note**: Exclude this parameter if you choose to upload a\nvideo context pointing to external MP4 file, youtube or vimeo."
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "contextType": "IMAGE",
                          "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
                          "created": "2017-05-03T20:47:38Z",
                          "name": "image.png"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "data": {
                          "errors": [
                            {
                              "key": "wrong_parameters",
                              "message": "Check request parameters, error message - 'Content stream is required for this context.', ref id: 'af4706d9-c5c1-40aa-93e4-1ec3498c1f05'"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -F \"content=@context1.png;type=image/png\" -F \"name=context1.png\" \"https://api.smartling.com/context-api/v2/projects/$smartlingProjectId/contexts\"\n"
          }
        ]
      },
      "get": {
        "summary": "List contexts for the project",
        "description": "Returns a paginated list of metadata for all contexts in a project.\n\nResponse is limited to *100* items, to retrieve all items the request\nshould be repeated with **offset** parameter specified.\n",
        "tags": [
          "Context"
        ],
        "operationId": "getVisualContextsListByProject",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Context name (or url) filter.",
            "in": "query",
            "name": "nameFilter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "If your original request returns an *offset* value, the set of results is incomplete.\nRun the request again, with the given offset value to see more results.\nWhen offset is null, there are no more results to return.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Context type filter.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": [
                "IMAGE",
                "HTML",
                "VIDEO"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextListResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "contextType": "IMAGE",
                              "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
                              "created": "2016-12-19T17:28:29Z",
                              "name": "image.png"
                            },
                            {
                              "contextType": "IMAGE",
                              "contextUid": "ac79677f-0e0a-4d01-b4e3-b94e2e6ba09c",
                              "created": "2016-11-11T13:23:32Z",
                              "name": "image-context.jpg"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/contexts/{contextUid}": {
      "get": {
        "summary": "Get context info",
        "description": "Retrieves basic information about the context.",
        "tags": [
          "Context"
        ],
        "operationId": "getVisualContextInfo",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of a context",
            "in": "path",
            "name": "contextUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "contextType": "VIDEO",
                          "contextUid": "6e66fe6b-b508-4849-9e65-1e502d65755d",
                          "created": "2017-05-03T20:47:38Z",
                          "name": "http://custom-video-hosting.com/path/to/video.mp4"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Context not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": "not_found_error",
                            "message": "Context not found, ref id: '9d0f96fa-9969-487f-8cfd-639b41d9c9ec'"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "delete": {
        "summary": "Delete the context",
        "description": "Deletes the context metadata and the content.\nAll linked context resources (e.g. CSS, images, and fonts) will also eventually be cleaned up if no other context has them linked.\nAs well, bindings of this context to strings are removed, and strings are marked as having no context.",
        "tags": [
          "Context"
        ],
        "operationId": "deleteVisualContext",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of a context",
            "in": "path",
            "name": "contextUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "response"
                  ],
                  "properties": {
                    "response": {
                      "$ref": "#/components/schemas/SuccessResponse"
                    }
                  }
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": null
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Context not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": "not_found_error",
                            "message": "Context not found, ref id: 'ffd90ec4-5ca8-4720-8ecf-15dce3404823'"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/contexts/remove/async": {
      "post": {
        "summary": "Delete contexts",
        "description": "Initiates an asynchronous process to delete the contexts.\nAll linked context resources (e.g. CSS, images, and fonts) will also eventually be cleaned up if no other context has them linked.\nAs well, bindings of these contexts to strings are removed, and strings are marked as having no context.",
        "tags": [
          "Context"
        ],
        "operationId": "deleteVisualContextsAsync",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteContextsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/contexts/{contextUid}/content": {
      "get": {
        "summary": "Download context file content",
        "description": "Returns the context content:\n\n|Context Type|Content|\n|---------|--------|\n|`HTML`|HTML document enriched with `data-sl-anchor` attributes for most of the elements, also known as *binding anchors*.|\n|`IMAGE`| Binary image data. Response is accompanied with appropriate `Content-Type` header.|\n|`VIDEO`| Empty response.|",
        "tags": [
          "Context"
        ],
        "operationId": "downloadVisualContextFileContent",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of a context",
            "in": "path",
            "name": "contextUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "response": {
                    "value": "<html>\n  <head>\n    <title>Document title</title>\n  </head>\n  <body>\n    <div data-sl-anchor=\"11\">html file contents</div>\n  </body>\n</html>"
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Context not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": "not_found_error",
                            "message": "Context not found, ref id: 'ffd90ec4-5ca8-4720-8ecf-15dce3404823'"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/contexts/{contextUid}/match/async": {
      "post": {
        "summary": "Run automatic context matching",
        "description": "Automatically matches context against strings in the project and creates corresponding bindings.\nOptionally, you can restrict matching to only a set of strings that you specify to ensure that no unwanted\nbindings are created.\n\nThe following endpoint does not support video contexts pointing to Youtube or Vimeo videos.\n\nOptical Character Recognition (OCR) is used for `IMAGE` and `VIDEO` contexts, while `HTML` context uses an approximate string matching algorithm.\n\nThis is a convenient method provided to save time and complexity in your integration.\nAlthough that our OCR functionality is advanced, it cannot match 100% of strings. If you need complete context coverage,\nuse either [Create string to context bindings](/#operation/createStringToContextBindings) endpoint to bind\nstrings manually or check your image contexts in the Smartling Dashboard after\nrunning this request to fill in any blanks. Note that OCR quality may be lower if you are using an unusual or\nscript-like font.\n\nApplying this operation to a video context, keep in mind the original context will be removed\nand image contexts will be created instead for each frame that has one matched string at least.\nA string can't be bound to multiple frames simultaneously.",
        "tags": [
          "Context"
        ],
        "operationId": "runAutomaticContextMatching",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of a context",
            "in": "path",
            "name": "contextUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MatchParams"
              }
            }
          },
          "description": "To ensure context is mapped to the correct string, `stringHashcodes`, `contentFileUri` or `translationJobUids` must be specified.\nIf none of `stringHashcodes`, `contentFileUri`, `translationJobUids` are specified, **all strings from the project** will be included in the match.\n<br/>\nIf `overrideContextOlderThanDays` is not specified, **strings with context will not be bound to this context**."
        },
        "responses": {
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncMatchResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": "wrong_parameters",
                            "message": "Check request parameters, error message - 'Context with Uid=cb081827-2daa-4611-915c-4d207829be27 doesn't exist', ref id: '11f8b832-8154-4e6e-a196-a69a88009736'"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/contexts/upload-and-match-async": {
      "post": {
        "summary": "Upload new context and run automatic context matching",
        "description": "Combines two endpoints:\n- [Upload new context](/#operation/uploadNewVisualContext)\n- [Run automatic context matching](/#operation/runAutomaticContextMatching)\n\nThe following context types are supported via the Smartling API:\n\n- **HTML**: HTML files or files with content type text/html\n- **IMAGE**: Image files\n- **VIDEO**:\n  - Video file\n  - Link to video, such as:\n    - YouTube link\n    - Vimeo link\n    - Direct link to an .mp4 file\n\nStrings to match are retrieved from the project specified by the `projectId` and\ncan be filtered further by the optional `matchParams` parameter.\n\nIf the uploaded file doesn't match any string, the context may not be created.\n\nExample of the raw request accepted by this API:\n```\nContent-Type: multipart/form-data; boundary\n----------------------------293641908835402749402839\nContent-Disposition: form-data; name=\"content\"; filename=\"example.html\"\nContent-Type: text/html\n<html>\n  <body>\n    <div> bla</div>\n  </body>\n</html>\n----------------------------293641908835402749402839\nContent-Disposition: form-data; name=\"name\"\nhttps://your.domain.com/path/example.html\n----------------------------293641908835402749402839\nContent-Disposition: form-data; name=\"matchParams\"\nContent-Type: application/json\n{\n  \"contentFileUri\":\"example.properties\",\n  \"stringHashcodes\": [],\n  \"overrideContextOlderThanDays\": 1\n}\n```",
        "tags": [
          "Context"
        ],
        "operationId": "uploadAndMatchVisualContext",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "name": {
                    "description": "Context name. Will overwrites the `content`'s file name if specified.\nParameter meanings for different context types:\n\n|Context Type|Meaning|\n|----------|--------|\n| `HTML` | Context URL or file name. If a valid URL is used, all relative links to resources within the context file will be resolved based on this URL. If the file name is used, the context file should have the `<base />` tag specified with the valid URL to resolve all relative links to resources. In all other cases, links to resources will not be resolved and the context might not show correctly. Defaults to context file name if not specified. |\n| `IMAGE` | Image file name. |\n| `VIDEO` | Link to a publicly available video in case `content` field is empty. The parameter is required for this particular case. Otherwise, video file name. |\n",
                    "type": "string"
                  },
                  "matchParams": {
                    "$ref": "#/components/schemas/MatchParams"
                  },
                  "content": {
                    "type": "string",
                    "format": "binary",
                    "description": "The context file to upload.\n\nIt should be one of the supported content types(user should insert content type instead of the *. E.g. image/jpeg.):\n - `image/*`\n - `text/html`\n - `video/*`\n\nMaximum file upload size is:\n - `20MB` – for HTML and image files.\n - `500MB` – for video files.\n\n**Note**: Exclude this parameter if you choose to upload a\nvideo context pointing to external MP4 file, youtube or vimeo."
                  }
                },
                "type": "object",
                "required": [
                  "content"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncMatchResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "ffd90ec4-5ca8-4720-8ecf-15dce3404823"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "data": {
                          "errors": [
                            {
                              "key": "wrong_parameters",
                              "message": "Check request parameters, error message - 'Content stream is required for this context.', ref id: 'af4706d9-c5c1-40aa-93e4-1ec3498c1f05'"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/match/{matchId}": {
      "get": {
        "summary": "Retrieve asynchronous match results",
        "description": "Check the status of the match request and get results once the match is completed.\nWhen the match has been completed, any newly created bindings are also returned in the response.\nThis endpoint is deprecated and will be deleted. We recommend to use `Retrieve asynchronous process results` endpoint",
        "deprecated": true,
        "tags": [
          "Context"
        ],
        "operationId": "getAsyncContextMatchResults",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Identifier of the match request obtained when running asynchronous match request.",
            "in": "path",
            "name": "matchId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncMatchStatsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "bindings": [
                            {
                              "anchors": [
                                "11",
                                "custom.anchor"
                              ],
                              "bindingUid": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
                              "contextUid": "428bf090-60fa-473d-ac07-4a551aa06c47",
                              "stringHashcode": "374825f7d147fb5700f23b2b22d6660d"
                            },
                            {
                              "anchors": [
                                "12"
                              ],
                              "bindingUid": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
                              "contextUid": "428bf090-60fa-473d-ac07-4a551aa06c47",
                              "stringHashcode": "374825f7d147fb5700f23b2b22d6660d"
                            }
                          ],
                          "createdDate": "2017-05-05T19:06:22Z",
                          "matchId": "a9308883-30c7-4832-a023-6c3b10f6f9b1",
                          "modifiedDate": "2017-05-05T19:06:22Z",
                          "status": "COMPLETED"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Match request expired or does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": "not_found",
                            "message": "Match not found"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/processes/{processUid}": {
      "get": {
        "summary": "Retrieve asynchronous process results",
        "description": "Check the status of the asynchronous process and get the results once the process is completed",
        "tags": [
          "Context"
        ],
        "operationId": "getAsyncProcessResults",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Identifier of the asynchronous process obtained when running asynchronous request.",
            "in": "path",
            "name": "processUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessResultResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "processUid": "00000000-0000-0000-0000-000000000000",
                          "processState": "COMPLETED",
                          "processType": "MATCH_CONTEXT",
                          "createdDate": "2021-01-01T12:00:00Z",
                          "modifiedDate": "2021-01-01T12:30:00Z",
                          "result": {
                            "contextUid": "11111111-1111-1111-1111-111111111111",
                            "checkedStringsCount": 50,
                            "bindings": [
                              {
                                "bindingUid": "22222222-2222-2222-2222-222222222222",
                                "contextUid": "11111111-1111-1111-1111-111111111111",
                                "stringHashcode": "4444444444444444444444444444444a",
                                "coordinates": {
                                  "top": 461,
                                  "left": 432,
                                  "height": 28,
                                  "width": 90
                                }
                              },
                              {
                                "bindingUid": "33333333-3333-3333-3333-333333333333",
                                "contextUid": "11111111-1111-1111-1111-111111111111",
                                "stringHashcode": "5555555555555555555555555555555b",
                                "anchors": [
                                  "123",
                                  "custom.anchor"
                                ]
                              }
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Process request expired or does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": "not_found",
                            "message": "Asynchronous process not found"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/bindings": {
      "post": {
        "summary": "Create string to context bindings",
        "description": "Link context files with the strings they contain.\n\nThe binding tells Smartling to show Translators which context images for which strings.\n\nA basic bindings request should contain an object with a `bindings` JSON array, with at least one element (binding) featuring `contextUid` and `stringHashcode` properties:\n```JSON\n{\n  \"bindings\": [\n    {\n       \"contextUid\": \"25137b65-e075-4341-8362-14b1a3e558f5\",\n       \"stringHashcode\": \"bd603147d945h3ec74d6874422ebe4e0\"\n    }\n  ]\n}\n```\n\nFor `IMAGE` context, each binding may have additional `coordinates` data that specifies a rectangular area where the string is located in the image. If not specified, binding will still be created with coordinates `[0,0,0,0]`:\n```JSON\n{\n  \"bindings\": [\n    {\n       \"contextUid\": \"25137b65-e075-4341-8362-14b1a3e558f5\",\n       \"stringHashcode\": \"bd603147d945h3ec74d6874422ebe4e0\",\n       \"coordinates\": {\n          \"top\": 50,\n          \"left\": 50,\n          \"width\": 400,\n          \"height\": 400\n       }\n    }\n  ]\n}\n```\n\nFor `HTML` context, each binding may have the `selector` element with `anchors` array, specifying the enclosing the string HTML elements with the corresponding value of the `data-sl-anchor` attribute.\nEach `anchor` value can have up to 20 characters and consist of the following characters: `0-9` (more preferably), `A-Z`, `a-z`, `.-_`.\nIf not specified, binding will still be created with the empty `anchors` array, effectively making it not anchored to a particular element and thus invisible in CAT Tool:\n```JSON\n{\n  \"bindings\": [\n    {\n       \"contextUid\": \"25137b65-e075-4341-8362-14b1a3e558f5\",\n       \"stringHashcode\": \"bd603147d945h3ec74d6874422ebe4e0\",\n       \"selector\": {\n          \"anchors\": [\"11\", \"22\", \"aa-33\"]\n       }\n    }\n  ]\n}\n```\n\nFor `VIDEO` context, each binding has the `timecode` data, specifying the start and end time of the string appearance in the video:\n```JSON\n{\n  \"bindings\": [\n    {\n        \"contextUid\": \"25137b65-e075-4341-8362-14b1a3e558f5\",\n        \"stringHashcode\": \"bd603147d945h3ec74d6874422ebe4e0\",\n        \"timecode\": {\n           \"startTime\": 1203,\n           \"endTime\": 1450\n        }\n    }\n  ]\n}\n```",
        "tags": [
          "Context"
        ],
        "operationId": "createStringToContextBindings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BindingsRequest"
              }
            }
          },
          "description": "String-to-context bindings",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "created": {
                            "items": [
                              {
                                "bindingUid": "d6414f8c-4gdf-4415-9a69-f8e7902ca9ec",
                                "contextUid": "25137b65-e075-4341-8362-14b1a3e558f5",
                                "stringHashcode": "bd603147d945h3ec74d6874422ebe4e0",
                                "anchors": [
                                  "11"
                                ],
                                "contextPosition": 11,
                                "coordinates": {
                                  "bottom": 400,
                                  "left": 50,
                                  "right": 400,
                                  "top": 50
                                },
                                "timecode": {
                                  "startTime": 0,
                                  "endTime": 1000
                                }
                              }
                            ],
                            "totalCount": 1
                          },
                          "errors": {
                            "items": [
                              {
                                "message": "error message one"
                              },
                              {
                                "message": "error message two"
                              }
                            ],
                            "totalCount": 2
                          }
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CreateBindingsResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": "wrong_parameters",
                            "message": "Please, limit number of bindings to no more than 150 in one request"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/bindings/list": {
      "post": {
        "summary": "List string to context bindings",
        "description": "Returns a paginated list of bindings according to specified parameters.\n\nResponse is limited to *5000* items, to retrieve all items the request\nshould be repeated with **offset** parameter specified.",
        "tags": [
          "Context"
        ],
        "operationId": "getBindings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "If your original request returns an *offset* value, the set of results is incomplete.\nRun the request again, with the given offset value to see more results.\nWhen offset is null, there are no more results to return.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchBindingsRequest"
              }
            }
          },
          "description": "Search bindings parameters. Only on of them should be specified.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BindingListResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": "wrong_parameters",
                            "message": "Please, limit number of bindings to no more than 150 in one request"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/context-api/v2/projects/{projectId}/bindings/remove": {
      "post": {
        "summary": "Delete string to context bindings",
        "description": "Delete bindings for specified parameters.",
        "tags": [
          "Context"
        ],
        "operationId": "deleteBindings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteBatchBindingsRequest"
              }
            }
          },
          "description": "Bindings delete parameter. Only on of them should be specified.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "description": "Validation error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": "wrong_parameters",
                            "message": "Please, limit number of bindings to no more than 150 in one request"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/issues-api/v2/dictionary/issue-states": {
      "$ref": "./spec/issues/dictionaries.yaml#/x-paths/dictionary_issues_states"
    },
    "/issues-api/v2/dictionary/issue-severity-levels": {
      "$ref": "./spec/issues/dictionaries.yaml#/x-paths/dictionary_severity_levels"
    },
    "/issues-api/v2/accounts/{accountUid}/issue-types": {
      "$ref": "./spec/issues/dictionaries.yaml#/x-paths/account_issue_types"
    },
    "/issues-api/v2/projects/{projectId}/issues": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/create_issue"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/issueText": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/edit_issue"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/state": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_state"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_details"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/answered": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_answered"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/assignee": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_assignee"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/severity-level": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_severity_level"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/change-type": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/issue_change_type"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/comments": {
      "$ref": "./spec/issues/issue_comments.yaml#/x-paths/issue_comments"
    },
    "/issues-api/v2/projects/{projectId}/issues/{issueUid}/comments/{issueCommentUid}": {
      "$ref": "./spec/issues/issue_comments.yaml#/x-paths/edit_issue_comment"
    },
    "/issues-api/v2/projects/{projectId}/issues/list": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/find_project_issues"
    },
    "/issues-api/v2/projects/{projectId}/issues/count": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/count_project_issues"
    },
    "/issues-api/v2/accounts/{accountUid}/issues/list": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/find_account_issues"
    },
    "/issues-api/v2/accounts/{accountUid}/issues/count": {
      "$ref": "./spec/issues/issues_common.yaml#/x-paths/count_account_issues"
    },
    "/issues-api/v2/accounts/{accountUid}/watchers": {
      "$ref": "./spec/issues/issue_watchers.yaml#/x-paths/issue_watchers"
    },
    "/issues-api/v2/accounts/{accountUid}/watchers/{watcherUid}": {
      "$ref": "./spec/issues/issue_watchers.yaml#/x-paths/edit_watcher"
    },
    "/issues-api/v2/accounts/{accountUid}/projects/{projectId}/issues/{issueUid}/watchers/{watcherUid}": {
      "$ref": "./spec/issues/issue_watchers.yaml#/x-paths/issues_watchers"
    },
    "/issues-api/v2/accounts/{accountUid}/projects/{projectId}/issues/{issueUid}/watchers": {
      "$ref": "./spec/issues/issue_watchers.yaml#/x-paths/get_issue_watchers"
    },
    "/issues-api/v2/accounts/{accountUid}/issue-types/{issueType}/sub-types": {
      "$ref": "./spec/issues/account_issue_sub_types.yaml#/x-paths/issue_sub_types"
    },
    "/issues-api/v2/accounts/{accountUid}/issue-types/{issueType}/sub-types/{issueSubTypeCode}": {
      "$ref": "./spec/issues/account_issue_sub_types.yaml#/x-paths/issue_sub_type"
    },
    "/issues-api/v2/accounts/{accountUid}/issue-types/{issueType}/sub-types/{issueSubTypeCode}/state": {
      "$ref": "./spec/issues/account_issue_sub_types.yaml#/x-paths/issue_sub_type_state"
    },
    "/issues-api/v2/dictionary/issue-types": {
      "$ref": "./spec/issues/dictionaries.yaml#/x-paths/issue_types"
    },
    "/strings-view-service-graphql-api/v2/projects/{projectId}/graphql": {
      "post": {
        "summary": "Search strings",
        "description": "Search for strings in your project using GraphQL.\n\n**Example Query:**\n```graphql\n  query Search($searchStringsFilter: SearchStringsFilter!) {\n    searchStrings(searchStringsFilter: $searchStringsFilter) {\n      content {\n        source {\n          hashcode\n        }\n        translations {\n          translationForms {\n            translationText\n            pluralForm\n          }\n        }\n      }\n      totalCount\n      totalWordCount\n      __typename\n    }\n  }\n```",
        "tags": [
          "Content Search"
        ],
        "operationId": "searchStrings",
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "variables": {
                  "searchStringsFilter": {
                    "localeIds": [
                      "es-LA"
                    ],
                    "workflowStepsFilter": {
                      "workflowStepUids": [
                        "a58fab71dce6",
                        "f5f168bb13b1"
                      ]
                    },
                    "limit": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentSearchResponse"
                }
              }
            },
            "description": "OK"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/strings-api/v2/projects/{projectId}": {
      "post": {
        "summary": "Add strings",
        "description": "Uploads an array of strings to a Smartling project. A maximum of 100 strings can be created per request. A request with more than 100 items will return an error. Each string has a character limit of 10,000.\n\n**Note**: You cannot authorize a string via API. Once you have created the strings, they will need to be authorized by a content owner in the Smartling Dashboard.\n\nSmartling creates a unique hashcode for each string based on the parsed string text and any variant or namespace metadata provided. If you upload a string with the same text, variant and namespace, and therefore the same hashcode, the existng string will be overwritten. This will not change the text of the string, but may update other metadata, such as placeholder and callback values. If the string is currently inactive, overwriting it will cause it to be reactivated. Overwritten strings return `\"overWritten\": \"true\"` in the response object.\n\nMost uploads will return a `200` response indicating success. If processing the request takes longer than 60 seconds, a `202` request will be returned, including a `processUid` value that can be used to check on the progress of the request.\n\nIf you set up a POST callback for the string, you can automatically receive the translation for a string as soon as it is complete. See [Callbacks](https://help.smartling.com/hc/en-us/articles/1260805504109) for more details.",
        "tags": [
          "Strings"
        ],
        "operationId": "addStringsToProject",
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "strings (Required)": {
                    "items": {
                      "properties": {
                        "stringText": {
                          "description": "The text of the string you want to create. This is the only required value for a string object.",
                          "type": "string"
                        },
                        "variant": {
                          "description": "Creates variant metadata for a new string.",
                          "type": "string"
                        },
                        "callbackUrl": {
                          "description": "If provided a callback request will be sent to this URL when translation for the string is complete. See our callbacks documentation for more details.",
                          "type": "string"
                        },
                        "callbackMethod": {
                          "description": "With a given callbackUrl, this defines the http method to use. See our callbacks documentation for more details.",
                          "type": "string"
                        },
                        "instruction": {
                          "description": "Creates an instruction that is displayed to translators in the Smartling Translation Interface.",
                          "type": "string"
                        },
                        "maxLength": {
                          "description": "Set the maximum character length recommended for this string and its translations.  Not specifying or setting to 'null' implies no maxLength and on update will remove any existing maxLegnth.",
                          "type": "number"
                        },
                        "format": {
                          "description": "Sets whether or not the string should be parsed as HTML. Accepted values are 'html', 'plain_text' and 'auto'. If set to auto, Smartling will attempt to detect the presence of HTML tags in the string.\n\n\"When strings are parsed as HTML, Smartling will automatically ampersand-escape special characters such as angle brackets (<) and quotes (&quot;). For example, if you upload the string _Dave says &quot;hello&quot;_. and set format to HTML, Smartling will return the string with ampersand-escaping: _Dave says &amp;quot;hello&amp;quot;_.\"",
                          "type": "string"
                        }
                      },
                      "required": [
                        "stringText"
                      ],
                      "type": "object"
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "placeholderFormat": {
                    "description": "Specifies a standard placeholder format. Accepted values are none, c, ios, python, java, yaml, qt, resx. See [Placeholders in Resource Files](https://help.smartling.com/hc/en-us/articles/360008143433) for more detail.",
                    "type": "string"
                  },
                  "placeholderFormatCustom": {
                    "description": "Specifies a custom placeholder with a Java Regular Expression. For example \\\\[.+?\\\\] would capture all values surrounded by square brackets as placeholders. See [Placeholders in Resource Files](https://help.smartling.com/hc/en-us/articles/360008143433) for more detail.",
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Used to generate the unique hashcode for all strings in the request. If you want to have two versions of a string with the same text and variant metadata, you can keep them unique by assigning a different namespace to each string. If not provided, default value is _smartling.strings-api.default.namespace_. A _NULL_ value is permitted.",
                    "type": "string"
                  }
                },
                "type": "object",
                "required": [
                  "strings"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "hashcode": "bd603147d945h3ec74d6874422ebe4e0",
                              "overWritten": "true",
                              "parsedStringText": "Search results for {0}:",
                              "stringText": "Search results for [city]:",
                              "variant": "variant value"
                            }
                          ],
                          "processUid": "d6414f8c-4gdf-4415-9a69-f8e7902ca9ec",
                          "stringCount": 1,
                          "wordCount": 4
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/CreateStringResponse"
                }
              }
            },
            "description": "OK"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateStringResponse"
                }
              }
            },
            "description": "ACCEPTED"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringJSON\" https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId\n"
          }
        ]
      }
    },
    "/strings-api/v2/projects/{projectId}/processes/{processUid}": {
      "get": {
        "summary": "Check string status",
        "description": "If an **Add strings** request takes longer than 60 seconds to process, a `202` response will be returned, indicating that the process of creating strings is continuing but not yet complete. This response will include a `proccessUid` value which can be used to check the progress of the request.\n\nThis request can return:\n  * `\"processState\": \"OPEN\"` which indicates that the request is still continuing.\n  * `\"processState\": \"CLOSED\"` indicates the request has successfully completed.\n  * `\"processState\": \"FAILED\"` means the request could not be completed.\n\nProcesses have a limited lifespan after they are complete. This request will fail if you specify an expired `processUid`.",
        "tags": [
          "Strings"
        ],
        "operationId": "getAddStringsToProjectRequestStatus",
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "processUid",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateStringStatusResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -G https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/processes/$processUid\n"
          }
        ]
      }
    },
    "/strings-api/v2/projects/{projectId}/source-strings": {
      "get": {
        "summary": "List all source strings",
        "description": "Returns source strings from Smartling. You can get strings by specifying a file you want strings for, or you can specify individual strings by hashcode.\n\n_If you do not specify at least one of these parameters (`hashcodes` or `fileUri`) no results will be returned._\n\n**Note**: If you use this call to get strings that are not added via the Strings API, you may see differences in the response.\n\nYou may see a value for `parsedStringText` but a `null` value for `stringText`. The `stringText` records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.\nIf you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format `{0}`, `{1}`, etc.",
        "tags": [
          "Strings"
        ],
        "operationId": "getAllSourceStringsByProject",
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Hashcodes for each string you want to get source strings for.",
            "in": "query",
            "name": "hashcodes",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "URI of a file you want to get strings for.",
            "in": "query",
            "name": "fileUri",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "By default, responses will be limited to 500 per request. This is also the maximum allowed value.",
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Pagination setting. Default is 0.",
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -G -d \"fileUri=$smartlingFileUri\" https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/source-strings\n"
          }
        ]
      },
      "post": {
        "summary": "List all source strings (POST)",
        "description": "Returns source strings from Smartling. You can get strings by specifying a file you want strings for, or you can specify individual strings by hashcode.\n\n_If you do not specify at least one of these parameters (`hashcodes` or `fileUri`) no results will be returned._\n\n**Note**: If you use this call to get strings that are not added via the Strings API, you may see differences in the response.\n\nYou may see a value for `parsedStringText` but a `null` value for `stringText`. The `stringText` records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.\nIf you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format `{0}`, `{1}`, etc.",
        "tags": [
          "Strings"
        ],
        "operationId": "getAllSourceStringsByProjectPost",
        "parameters": [
          {
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "hashcodes": {
                    "description": "Hashcodes for each string you want to get source strings for.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "fileUri": {
                    "description": "URI of a file you want to get strings for.",
                    "type": "string"
                  },
                  "limit": {
                    "description": "By default, responses will be limited to 500 per request. This is also the maximum allowed value.",
                    "type": "number"
                  },
                  "offset": {
                    "description": "Pagination setting. Default is 0.",
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d '{\"fileUri\": \"$smartlingFileUri\"}' https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/source-strings\n"
          }
        ]
      }
    },
    "/strings-api/v2/projects/{projectId}/translations": {
      "get": {
        "summary": "List all translations",
        "description": "Returns translated strings from Smartling. You can get translations by specifying a file you want strings for, or you can specify individual strings by hashcode.\n\n_If you do not specify at least one of these parameters (`hashcodes` or `fileUri`) no results will be returned._\n\n**Note**: If you use this call to get strings that were not created via the Strings API, you may see differences in the response.\n\nOnly authorized and active strings will be returned. Excluded, unauthorized, and inactive strings will not be returned.\n\nYou may see a value for `parsedStringText` but a `null` value for `stringText`. The `stringText` records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.\nIf you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format `{0}`, `{1}`, etc.",
        "tags": [
          "Strings"
        ],
        "operationId": "getAllTranslationsByProject",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Hashcodes for each string you want to get translations for.",
            "in": "query",
            "name": "hashcodes",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Smartling ID for the language you want to get translations for.",
            "in": "query",
            "name": "targetLocaleId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Sets the types of translations you want returned. `published` will only return translations that have completed their workflows and been published. `pending` will return any saved translations.",
            "in": "query",
            "name": "retrievalType",
            "schema": {
              "enum": [
                "pending",
                "published"
              ],
              "type": "string"
            }
          },
          {
            "description": "URI of a file you want to get translations for.",
            "in": "query",
            "name": "fileUri",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Pagination setting. By default, responses will be limited to 500 per request. This is also the maximum allowed value.",
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Pagination setting. Default is 0.",
            "in": "query",
            "name": "offset",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -G https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/translations\n"
          }
        ]
      },
      "post": {
        "summary": "List all translations (POST)",
        "description": "Returns translated strings from Smartling. You can get translations by specifying a file you want strings for, or you can specify individual strings by hashcode.\n\n_If you do not specify at least one of these parameters (`hashcodes` or `fileUri`) no results will be returned._\n\n**Note**: If you use this call to get strings that were not created via the Strings API, you may see differences in the response.\n\nOnly authorized and active strings will be returned. Excluded, unauthorized, and inactive strings will not be returned.\n\nYou may see a value for `parsedStringText` but a `null` value for `stringText`. The `stringText` records the raw input received by the Strings API, and therefore will only appear for strings uploaded via the Strings API.\nIf you are getting a GDN string, the original placeholder values you used will not be returned as these are not saved by Smartling. GDN strings will have placeholders in the format `{0}`, `{1}`, etc.",
        "tags": [
          "Strings"
        ],
        "operationId": "getAllTranslationsByProjectPost",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "targetLocaleId"
                ],
                "properties": {
                  "hashcodes": {
                    "description": "Hashcodes for each string you want to get translations for.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "targetLocaleId": {
                    "description": "Smartling ID for the language you want to get translations for.",
                    "type": "string"
                  },
                  "retrievalType": {
                    "description": "Sets the types of translations you want returned. `published` will only return translations that have completed their workflows and been published. `pending` will return any saved translations.",
                    "type": "string",
                    "enum": [
                      "pending",
                      "published"
                    ]
                  },
                  "fileUri": {
                    "description": "URI of a file you want to get translations for.",
                    "type": "string"
                  },
                  "limit": {
                    "description": "Pagination setting. By default, responses will be limited to 500 per request. This is also the maximum allowed value.",
                    "type": "number"
                  },
                  "offset": {
                    "description": "Pagination setting. Default is 0.",
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslationResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d '{\"targetLocaleId\": \"es\", \"fileUri\": \"$smartlingFileUri\"}' https://api.smartling.com/strings-api/v2/projects/$smartlingProjectId/translations\n"
          }
        ]
      }
    },
    "/estimates-api/v2/projects/{projectId}/jobs/{translationJobUid}/reports/fuzzy": {
      "get": {
        "summary": "Get List of Job Fuzzy Estimate Reports",
        "description": "List fuzzy estimate reports.",
        "tags": [
          "Estimates"
        ],
        "operationId": "getJobFuzzyEstimateReports",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "translationJobUid",
            "description": "A unique translation job identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportStatus",
            "description": "Status of report.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "NOT_FOUND",
                "PENDING",
                "PROCESSING",
                "COMPLETED",
                "FAILED",
                "TIMEOUT"
              ],
              "type": "string"
            }
          },
          {
            "name": "contentCoverage",
            "description": "Specifies level of content coverage report should have.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "FULL",
                "PARTIAL"
              ],
              "type": "string"
            }
          },
          {
            "name": "creatorUserUids",
            "description": "Array of report creator uids.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "translationJobSchemaContents",
            "description": "if report was generated for the job,.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "TRANSLATION",
                  "ALL_CONTENT",
                  "CLAIMING",
                  "UNAUTHORIZED"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "tags",
            "description": "Search is done via or logic, i.e. if a report has any of the given tags, it will be returned.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "createdFrom",
            "description": "Date filter for report.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdTo",
            "description": "Date filter for report.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "description": "Paging parameter. The number of reports to return.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "description": "Paging parameter. The index of the repor to start with.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobReportResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 4,
                          "items": [
                            {
                              "reportUid": "f84491fc",
                              "schemaType": "siteLocales",
                              "reportType": "FUZZY",
                              "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
                              "reportStatus": "PROCESSING",
                              "totalStrings": 27828,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": null,
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": [
                                "No rates specified for 'fr-FR' locale."
                              ],
                              "errors": [
                                "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
                              ]
                            },
                            {
                              "reportUid": "0ec805d4",
                              "schemaType": "job",
                              "reportType": "COST",
                              "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
                              "reportStatus": "COMPLETED",
                              "totalStrings": 3200,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "bbbbb456566"
                              ],
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "702cdae5",
                              "schemaType": "listView",
                              "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 2,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "8532918d",
                              "schemaType": "unauthorized",
                              "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 700,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                },
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "new label"
                              ],
                              "warnings": null,
                              "errors": null
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Generate Fuzzy Estimate Report for the Job",
        "description": "Generate Fuzzy report for the Job.",
        "tags": [
          "Estimates"
        ],
        "operationId": "generateJobFuzzyEstimateReports",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "translationJobUid",
            "description": "A unique translation job identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateJobFuzzyReportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobGenericReportResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "reportUid": "f84491fc",
                          "reportType": "FUZZY",
                          "reportStatus": "PENDING"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/estimates-api/v2/projects/{projectId}/jobs/{translationJobUid}/reports/cost": {
      "get": {
        "summary": "Get List of Job Cost Estimate Reports",
        "description": "List cost estimate reports.",
        "tags": [
          "Estimates"
        ],
        "operationId": "getJobCostEstimateReports",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "translationJobUid",
            "description": "A unique translation job identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportStatus",
            "description": "Status of report.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "NOT_FOUND",
                "PENDING",
                "PROCESSING",
                "COMPLETED",
                "FAILED",
                "TIMEOUT"
              ],
              "type": "string"
            }
          },
          {
            "name": "contentCoverage",
            "description": "Specifies level of content coverage report should have.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "FULL",
                "PARTIAL"
              ],
              "type": "string"
            }
          },
          {
            "name": "creatorUserUids",
            "description": "Array of report creator uids.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "translationJobSchemaContents",
            "description": "if report was generated for the job,.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "TRANSLATION",
                  "ALL_CONTENT",
                  "CLAIMING",
                  "UNAUTHORIZED"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "tags",
            "description": "Search is done via or logic, i.e. if a report has any of the given tags, it will be returned.",
            "in": "query",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "createdFrom",
            "description": "Date filter for report.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdTo",
            "description": "Date filter for report.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "description": "Paging parameter. The number of reports to return.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "description": "Paging parameter. The index of the repor to start with.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobReportResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 4,
                          "items": [
                            {
                              "reportUid": "f84491fc",
                              "schemaType": "siteLocales",
                              "reportType": "FUZZY",
                              "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
                              "reportStatus": "PROCESSING",
                              "totalStrings": 27828,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": null,
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": [
                                "No rates specified for 'fr-FR' locale."
                              ],
                              "errors": [
                                "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
                              ]
                            },
                            {
                              "reportUid": "0ec805d4",
                              "schemaType": "job",
                              "reportType": "COST",
                              "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
                              "reportStatus": "COMPLETED",
                              "totalStrings": 3200,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "bbbbb456566"
                              ],
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "702cdae5",
                              "schemaType": "listView",
                              "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 2,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "8532918d",
                              "schemaType": "unauthorized",
                              "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 700,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                },
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "new label"
                              ],
                              "warnings": null,
                              "errors": null
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Generate Cost Estimate Report for the Job",
        "description": "Generate Cost Estimate Report for the Job",
        "tags": [
          "Estimates"
        ],
        "operationId": "generateJobCostEstimateReports",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "translationJobUid",
            "description": "A unique translation job identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateJobCostReportRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobGenericReportResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "reportUid": "f84491fc",
                          "reportType": "FUZZY",
                          "reportStatus": "PENDING"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/estimates-api/v2/projects/{projectId}/reports/{reportUid}/status": {
      "get": {
        "summary": "Get Estimate Report Status",
        "tags": [
          "Estimates"
        ],
        "operationId": "getJobEstimateReportStatus",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportUid",
            "description": "A unique report identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportStatus",
            "description": "Status of report.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "NOT_FOUND",
                "PENDING",
                "PROCESSING",
                "COMPLETED",
                "FAILED",
                "TIMEOUT"
              ],
              "type": "string"
            }
          },
          {
            "name": "reportType",
            "description": "Report type.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "FUZZY",
                "COST"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobReportStatusResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "reportUid": "f84491fc",
                          "reportStatus": "PROCESSING",
                          "totalStrings": 27828,
                          "percentComplete": 18,
                          "reportType": "FUZZY",
                          "createdDate": "2016-03-21T15:00:48Z"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/estimates-api/v2/projects/{projectId}/reports/{reportUid}": {
      "get": {
        "summary": "Get Estimate Report",
        "tags": [
          "Estimates"
        ],
        "operationId": "getJobEstimateReport",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportUid",
            "description": "A unique report identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportStatus",
            "description": "Status of report.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "NOT_FOUND",
                "PENDING",
                "PROCESSING",
                "COMPLETED",
                "FAILED",
                "TIMEOUT"
              ],
              "type": "string"
            }
          },
          {
            "name": "reportType",
            "description": "Report type.",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "FUZZY",
                "COST"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobReportResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 4,
                          "items": [
                            {
                              "reportUid": "f84491fc",
                              "schemaType": "siteLocales",
                              "reportType": "FUZZY",
                              "schema": "{\"schema\":\"siteLocales\",\"projectId\":\"fd7244365\"}",
                              "reportStatus": "PROCESSING",
                              "totalStrings": 27828,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": null,
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": [
                                "No rates specified for 'fr-FR' locale."
                              ],
                              "errors": [
                                "Report generation failed. Rates of account defined in different currencies: USD, JPY. Only one should be used per account. Please fix this and re-run estimation."
                              ]
                            },
                            {
                              "reportUid": "0ec805d4",
                              "schemaType": "job",
                              "reportType": "COST",
                              "schema": "{\"schema\":\"job\",\"jobUid\":\"e2f3dcac30cc\"}",
                              "reportStatus": "COMPLETED",
                              "totalStrings": 3200,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "bbbbb456566"
                              ],
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "702cdae5",
                              "schemaType": "listView",
                              "schema": "{\"schema\":\"listView\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\"],\"stringState\":\"IN_TRANSLATION\",\"stringIds\":[\"5086f27e4a123ac0e573b7d45240b674\",\"9d67960622910cb2e6ab0525fb8ec747\",\"816a4bf2e30577ea2cfcb2eec231e50e\"],\"workflowStepIds\":[\"19565\",\"120859\",\"120860\",\"19567\",\"19571\",\"19570\",\"19569\",\"57497\",\"65867\",\"57499\",\"61329\",\"67758\",\"67760\",\"109463\",\"109465\",\"136550\",\"110388\",\"136548\",\"136549\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 2,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": null,
                              "warnings": null,
                              "errors": null
                            },
                            {
                              "reportUid": "8532918d",
                              "schemaType": "unauthorized",
                              "schema": "{\"schema\":\"unauthorized\",\"projectId\":\"fd7244365\",\"localeList\":[\"hy-AM\",\"zh-TW\",\"nl-BE\",\"pt-BR\",\"ru-RU\",\"uk-UA\",\"cy-GB\"],\"stringState\":\"AWAITING_APPROVAL\",\"stringIds\":[\"975d88fd8c9290c8356364b91f88af02\",\"33eb5a93062cb5981168533500668a49\",\"a781299a67d7bd57511a14cffce40257\",\"afdf1b5d0aa538184cd67372c0acc7c2\",\"302d3f85228cd41d2267c7505dafb9e5\"]}",
                              "reportStatus": "COMPLETED",
                              "reportType": "COST",
                              "totalStrings": 700,
                              "projectId": "fd7244365",
                              "creatorUserUid": "58870b8ee965",
                              "creatorUserRole": "ROLE_ACCOUNT_OWNER",
                              "contentCoverage": "FULL",
                              "creatorAgencyUid": "",
                              "createdDate": "2016-03-21T15:00:48Z",
                              "totalWordCount": 3634,
                              "totalWeightedWordCount": 3614,
                              "priceInformation": [
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "USD"
                                },
                                {
                                  "priceMin": 999.35,
                                  "priceMax": 1090.2,
                                  "currencyCode": "EUR"
                                }
                              ],
                              "localeEstimates": null,
                              "tags": [
                                "new label"
                              ],
                              "warnings": null,
                              "errors": null
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete Estimation Report",
        "description": "Delete estimate report.",
        "tags": [
          "Estimates"
        ],
        "operationId": "deleteJobEstimateReport",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportUid",
            "description": "A unique report identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": null
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/estimates-api/v2/projects/{projectId}/reports/{reportUid}/tags": {
      "put": {
        "summary": "Modify Tags of Estimation Report",
        "description": "The new set of tags completely replaces the old ones.",
        "tags": [
          "Estimates"
        ],
        "operationId": "modifyJobEstimateReportTags",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportUid",
            "description": "A unique report identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModifyJobReportTagsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateJobReportTagsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "tags": [
                            "AdminJob",
                            "NEWTAG1",
                            "NEWTAG2"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/estimates-api/v2/projects/{projectUid}/reports/{reportUid}/download": {
      "get": {
        "summary": "Export Estimation Report as CSV",
        "tags": [
          "Estimates"
        ],
        "operationId": "exportJobEstimationReport",
        "parameters": [
          {
            "name": "projectUid",
            "description": "A unique project identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reportUid",
            "description": "A unique report identifier.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "format",
            "description": "for now, only csv is supported.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/mt-router-api/v2/accounts/{accountUid}/smartling-mt": {
      "post": {
        "summary": "Machine Translation (MT) using a preconfigured MT or LLM Profile",
        "description": "Machine Translation (MT) using a preconfigured MT or LLM Profile. Input and output text format is HTML.",
        "tags": [
          "Machine Translation (MT)"
        ],
        "operationId": "translateForAccount",
        "parameters": [
          {
            "name": "accountUid",
            "description": "A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MTTranslateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MTTranslateResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "key": "key-from-request",
                              "translationText": "Translated text",
                              "mtUid": "m91o03gnvzuh",
                              "provider": "AUTO_SELECT_PROVIDER",
                              "error": null
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/mt-router-api/v2/accounts/{accountUid}/smartling-mt\n"
          }
        ]
      }
    },
    "/file-translations-api/v2/accounts/{accountUid}/files": {
      "$ref": "./spec/file_translation/fts_upload.yaml#/x-paths/file_upload"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/mt": {
      "$ref": "./spec/file_translation/fts_mt.yaml#/x-paths/mt_action"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/mt/{mtUid}/status": {
      "$ref": "./spec/file_translation/fts_mt.yaml#/x-paths/mt_status"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/mt/{mtUid}/locales/{localeId}/file": {
      "$ref": "./spec/file_translation/fts_mt.yaml#/x-paths/mt_get_translated_file_for_locale"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/mt/{mtUid}/locales/all/file/zip": {
      "$ref": "./spec/file_translation/fts_mt.yaml#/x-paths/mt_get_translated_files"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/mt/{mtUid}/cancel": {
      "$ref": "./spec/file_translation/fts_mt.yaml#/x-paths/mt_cancel"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/language-detection": {
      "$ref": "./spec/file_translation/fts_language_detection.yaml#/x-paths/language_detection_action"
    },
    "/file-translations-api/v2/accounts/{accountUid}/files/{fileUid}/language-detection/{languageDetectionUid}/status": {
      "$ref": "./spec/file_translation/fts_language_detection.yaml#/x-paths/language_detection_status"
    },
    "/jobs-api/v3/accounts/{accountUid}/jobs": {
      "get": {
        "summary": "List jobs within an account",
        "description": "List / search the jobs within an account. By default, only the last 50 jobs are returned. Use the <code>limit</code> and <code>offset</code> parameters to return more than 50 jobs. <a href=\"https://help.smartling.com/hc/en-us/articles/1260805176869-Pagination\" target=\"_blank\">Learn more.</a>",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobsByAccount",
        "parameters": [
          {
            "name": "accountUid",
            "description": "A unique account identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used for searching jobs by `jobName`. Any entry is treated as a LIKE query on the name of the job.",
            "in": "query",
            "name": "jobName",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used for searching jobs by `projectId`. Supports up to 500 `projectId`s.",
            "in": "query",
            "name": "projectIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Used for searching jobs by their status.",
            "in": "query",
            "name": "translationJobStatus",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "DRAFT",
                  "AWAITING_AUTHORIZATION",
                  "IN_PROGRESS",
                  "COMPLETED",
                  "CANCELLED",
                  "CLOSED",
                  "DELETED"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "name": "withPriority",
            "description": "If set to `true`, returns jobs only with priority.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "The limit on the number of jobs returned.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The offset to use when searching for jobs.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The field to sort by.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "enum": [
                "createdDate",
                "priority"
              ],
              "type": "string"
            }
          },
          {
            "description": "The direction to sort.",
            "in": "query",
            "name": "sortDirection",
            "required": false,
            "schema": {
              "enum": [
                "ASC",
                "DESC"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountListJobsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "createdDate": "2015-11-21T11:51:17Z",
                              "description": "my job description",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "jobName": "myJobName",
                              "jobNumber": "SMTL-123",
                              "jobStatus": "IN_PROGRESS",
                              "priority": 2,
                              "projectId": "fd7244365",
                              "referenceNumber": "myReferenceNumber1",
                              "targetLocaleIds": [
                                "fr-FR",
                                "es"
                              ],
                              "translationJobUid": "abc123abc"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/jobs-api/v3/accounts/$smartlingAccountId/jobs\n"
          }
        ]
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs": {
      "get": {
        "summary": "List jobs within a project",
        "description": "List / search the jobs within a project. By default, only the last 50 jobs are returned. Use the <code>limit</code> and <code>offset</code> parameters to return more than 50 jobs. <a href=\"https://help.smartling.com/hc/en-us/articles/1260805176869-Pagination\" target=\"_blank\">Learn more.</a>",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobsByProject",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used for searching jobs by `jobName`. Any entry is treated as a LIKE query on the name of the job.",
            "in": "query",
            "name": "jobName",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used for searching jobs by `jobNumber`. Search works by exact comparison.",
            "in": "query",
            "name": "jobNumber",
            "example": "SMTL-123",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used for searching jobs by `translationJobUid`. Supports up to 500 `translationJobUid`s.",
            "in": "query",
            "name": "translationJobUids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Used for searching jobs by their status.",
            "in": "query",
            "name": "translationJobStatus",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "DRAFT",
                  "AWAITING_AUTHORIZATION",
                  "IN_PROGRESS",
                  "COMPLETED",
                  "CANCELLED",
                  "CLOSED",
                  "DELETED"
                ],
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The limit on the number of jobs returned.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The offset to use when searching for jobs.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "The field to sort by.",
            "in": "query",
            "name": "sortBy",
            "required": false,
            "schema": {
              "enum": [
                "createdDate",
                "dueDate",
                "jobName"
              ],
              "type": "string"
            }
          },
          {
            "description": "The direction to sort.",
            "in": "query",
            "name": "sortDirection",
            "required": false,
            "schema": {
              "enum": [
                "ASC",
                "DESC"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "createdDate": "2015-11-21T11:51:17Z",
                              "description": "my job description",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "jobName": "myJobName",
                              "jobNumber": "SMTL-123",
                              "jobStatus": "IN_PROGRESS",
                              "referenceNumber": "myReferenceNumber1",
                              "targetLocaleIds": [
                                "fr-FR",
                                "es"
                              ],
                              "translationJobUid": "abc123abc"
                            },
                            {
                              "createdDate": "2015-11-21T11:51:17Z",
                              "description": "my job description",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "jobName": "myJobName2",
                              "jobNumber": "SMTL-987",
                              "jobStatus": "IN_PROGRESS",
                              "referenceNumber": "myReferenceNumber1",
                              "targetLocaleIds": [
                                "fr-FR",
                                "de"
                              ],
                              "translationJobUid": "abc321xyz"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/jobs-api/v3/projects/$smartlingProjectId/jobs\n"
          }
        ]
      },
      "post": {
        "summary": "Create job",
        "description": "Creates a job within Smartling.",
        "tags": [
          "Jobs"
        ],
        "operationId": "addJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShallowJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "translationJobUid": "abc123abc",
                          "jobName": "myJobName",
                          "jobNumber": "SMTL-123",
                          "targetLocaleIds": [
                            "fr-FR"
                          ],
                          "callbackMethod": "GET|POST",
                          "callbackUrl": "https://www.callback.com/smartling/job",
                          "createdByUserUid": "userUid123abc",
                          "createdDate": "2015-11-21T11:51:17Z",
                          "description": "my job description",
                          "dueDate": "2015-11-21T11:51:17Z",
                          "jobStatus": "IN_PROGRESS",
                          "firstCompletedDate": "2015-11-21T11:51:17Z",
                          "firstAuthorizedDate": "2015-01-21T11:51:17Z",
                          "lastCompletedDate": "2015-11-21T11:51:17Z",
                          "lastAuthorizedDate": "2015-12-21T11:51:17Z",
                          "modifiedByUserUid": "userUid321abc",
                          "modifiedDate": "2015-11-21T11:51:17Z",
                          "referenceNumber": "myReferenceNumber1",
                          "customFields": [
                            {
                              "fieldUid": "rbrbn69wa1pa",
                              "fieldName": "Department",
                              "fieldValue": "Finance Dept"
                            },
                            {
                              "fieldUid": "3rrwchzmjf27",
                              "fieldName": "Adaptation Required",
                              "fieldValue": "true"
                            }
                          ],
                          "issues": {
                            "sourceIssuesCount": 3,
                            "translationIssuesCount": 4
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error during job creation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "details": {
                              "field": "jobName"
                            },
                            "key": null,
                            "message": "There is already a job with that name. Please provide a unique name."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingJobJSON\" https://api.smartling.com/jobs-api/v3/projects/$smartlingProjectId/jobs\n"
          }
        ]
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/find-jobs-by-strings": {
      "post": {
        "summary": "Search Jobs By Hashcodes And Locales",
        "description": "Search Job(s), based on locales and hashcodes. We allow total 20000 records to be passed. Means it could be 10 locales * 2000 hashcodes or 1 locale * 20000 hashcodes or no locales and just 20000 hashcodes, etc\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "findJobsByStrings",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchTranslationJobByLocalesAndHashcodesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchTranslationJobByLocalesAndHashcodesResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 2,
                          "items": [
                            {
                              "translationJobUid": "abc123abc",
                              "jobName": "myJobName",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "hashcodesByLocale": [
                                {
                                  "localeId": "fr-FR",
                                  "hashcodes": [
                                    "hashcode1",
                                    "hashcode3"
                                  ]
                                },
                                {
                                  "localeId": "de-DE",
                                  "hashcodes": [
                                    "hashcode4",
                                    "hashcode3"
                                  ]
                                }
                              ]
                            },
                            {
                              "translationJobUid": "abc456abc",
                              "jobName": "myJobName2",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "hashcodesByLocale": [
                                {
                                  "localeId": "ru-RU",
                                  "hashcodes": [
                                    "hashcode1",
                                    "hashcode3"
                                  ]
                                },
                                {
                                  "localeId": "uk-UA",
                                  "hashcodes": [
                                    "hashcode4",
                                    "hashcode3"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": "Limit 20,000 of total elements (hashcodes * locales) has been exceeded",
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings": {
      "get": {
        "summary": "Get translation job strings.",
        "description": "This gets translation job string hashcodes with locales\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "getStringsForTranslationJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "targetLocaleId",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Target / translation locale id."
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "description": "Max amount of result items."
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "description": "Amount of items to skip."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocaleHashcodeResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 3,
                          "items": [
                            {
                              "targetLocaleId": "uk-UA",
                              "hashcode": "hashcode1"
                            },
                            {
                              "targetLocaleId": "es",
                              "hashcode": "hashcode2"
                            },
                            {
                              "targetLocaleId": "es",
                              "hashcode": "hashcode1"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Job not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": "Translation job is not found",
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings/add": {
      "post": {
        "summary": "Add strings to job",
        "description": "Adding strings to a job is useful if you don't manage strings / content through files, but instead need to add strings by some other means other than files.\n\nWhen strings are successfully added to a job, a `200` status is returned. When the system can't quickly add strings to the job, a `202` response status is returned. The response contains a link and `processUid` to check the progress of the request. When a `202` is received, the process of adding the content to the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "addStringsToJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddStringsJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddContentSuccessFailCountJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "failCount": 0,
                          "successCount": 100
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": "Invalid locales [ad]",
                            "details": {
                              "field": "targetLocaleIds"
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/strings/remove": {
      "post": {
        "summary": "Remove strings from job",
        "description": "Remove strings from a job. Any strings removed from the job will also be unauthorized within Smartling.\n\nIf strings are successfully removed from a job, a `200` status will be returned. When the system can't quickly add the strings to the job, a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of removing the content from the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "removeStringsFromJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveStringsJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessFailCountJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "failCount": 0,
                          "successCount": 100
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/close": {
      "post": {
        "summary": "Close job",
        "description": "This closes a completed job. In order for a job to be closed, it must be in a completed state. All content from the job will be removed when it is closed. Closing a job guarantees that no additional work will be done against the job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "closeJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error when closing a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "message": "Only a job that is COMPLETE can be closed."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/cancel": {
      "post": {
        "summary": "Cancel job",
        "description": "This cancels a job. All content within the job will be removed from the job and the content will be unauthorized.\n\nIf a job is successfully cancelled, a `200` response status will be returned. When the system can't quickly cancel the job, a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of canceling and removing the content from the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "cancelJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelJobRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error when cancelling a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "message": "Job can be cancelled only in DRAFT, AWAITING_AUTHORIZATION, or IN_PROGRESS statuses"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "AUTHENTICATION_ERROR",
                        "errors": [
                          {
                            "details": {},
                            "key": "invalid_token",
                            "message": "Invalid token"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/authorize": {
      "post": {
        "summary": "Authorize job",
        "description": "This authorizes all content within a job. A job can only be authorized when it has content and is in an AWAITING_AUTHORIZATION state.",
        "tags": [
          "Jobs"
        ],
        "operationId": "authorizeJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizeJobRequest"
              }
            }
          },
          "description": "The payload to use when authorizing a job. If no target locales and workflows are provided, the empty body `{}` should be provided. Smartling will authorize the job for the default workflows for the given project.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error when authorizing a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": "VALIDATION_ERROR",
                      "errors": [
                        {
                          "key": null,
                          "message": "Job can be authorized only in AWAITING_AUTHORIZATION status(es).",
                          "details": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}": {
      "get": {
        "summary": "Get details of job",
        "description": "This gets the details of a job such as job name, description, due date, and reference number.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobDetails",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetailedJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "createdByUserUid": "518252370016",
                          "createdDate": "2017-11-03T14:18:37Z",
                          "jobName": "test job (Cancelled 2017/11/04 12:01:28)",
                          "jobStatus": "CANCELLED",
                          "jobNumber": "SMTL-123",
                          "firstCompletedDate": "2015-11-21T11:51:17Z",
                          "firstAuthorizedDate": "2015-01-21T11:51:17Z",
                          "lastCompletedDate": "2015-11-21T11:51:17Z",
                          "lastAuthorizedDate": "2015-12-21T11:51:17Z",
                          "modifiedByUserUid": "598d89cce43a",
                          "modifiedDate": "2017-11-04T12:01:28Z",
                          "sourceFiles": [
                            {
                              "name": "admin.properties",
                              "uri": "admin.properties",
                              "fileUid": "5b0f5c5c4c"
                            }
                          ],
                          "targetLocaleIds": [
                            "uk-UA",
                            "ru-RU"
                          ],
                          "translationJobUid": "jhcgalvnb6za",
                          "priority": 4,
                          "referenceNumber": "myReferenceNumber1",
                          "issues": {
                            "sourceIssuesCount": 3,
                            "translationIssuesCount": 4
                          },
                          "customFields": [
                            {
                              "fieldUid": "rbrbn69wa1pa",
                              "fieldName": "Department",
                              "fieldValue": "Finance Dept"
                            },
                            {
                              "fieldUid": "3rrwchzmjf27",
                              "fieldName": "Adaptation Required",
                              "fieldValue": "true"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Job not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "put": {
        "summary": "Update job",
        "description": "This updates the attributes of the job, such as job name, description, due date, and reference number. The API works in a replace-all fashion. Fields, that are not passed, will be overwritten with empty values.",
        "tags": [
          "Jobs"
        ],
        "operationId": "updateJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateJobRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetailedJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "createdByUserUid": "518252370016",
                          "createdDate": "2017-11-03T14:18:37Z",
                          "description": "Description of the job",
                          "dueDate": "2020-11-03T14:18:37Z",
                          "jobName": "Test Job",
                          "jobNumber": "SMTL-123",
                          "jobStatus": "AWAITING_AUTHORIZATION",
                          "firstCompletedDate": "2015-11-21T11:51:17Z",
                          "firstAuthorizedDate": "2015-01-21T11:51:17Z",
                          "lastCompletedDate": "2015-11-21T11:51:17Z",
                          "lastAuthorizedDate": "2015-12-21T11:51:17Z",
                          "modifiedByUserUid": "598d89cce43a",
                          "modifiedDate": "2017-11-04T12:01:28Z",
                          "sourceFiles": [
                            {
                              "name": "admin.properties",
                              "uri": "admin.properties",
                              "fileUid": "5b0f5c5c4c"
                            }
                          ],
                          "targetLocaleIds": [
                            "uk-UA",
                            "ru-RU"
                          ],
                          "customFields": [
                            {
                              "fieldUid": "rbrbn69wa1pa",
                              "fieldName": "Department",
                              "fieldValue": "Finance Dept"
                            },
                            {
                              "fieldUid": "3rrwchzmjf27",
                              "fieldName": "Adaptation Required",
                              "fieldValue": "true"
                            }
                          ],
                          "translationJobUid": "jhcgalvnb6za",
                          "priority": 45
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error on updating a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "code": "VALIDATION_ERROR",
                      "errors": [
                        {
                          "key": null,
                          "message": "Job can be edited only in DRAFT, AWAITING_AUTHORIZATION, IN_PROGRESS or COMPLETED statuses.",
                          "details": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            },
            "description": "Job not found error"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "delete": {
        "summary": "Delete job",
        "description": "This deletes a job. Only job that is in `CANCELLED` status can be deleted.\nIf a job is successfully deleted, a `200` response status will be returned.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "deleteJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error when deleting a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "message": "Job can be deleted only in CANCELLED status"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error401Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "AUTHENTICATION_ERROR",
                        "errors": [
                          {
                            "details": {},
                            "key": "invalid_token",
                            "message": "Invalid token"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/search": {
      "post": {
        "summary": "Search for job",
        "description": "This searches for jobs based on hashcodes (string identifiers), `fileUri`s, and `translationJobUid`s. Will return max of 100 translation job list items.",
        "tags": [
          "Jobs"
        ],
        "operationId": "searchForJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchJobRequest"
              }
            }
          },
          "description": "The filters to use when searching for jobs within the project. Requirements: One of the parameters should non be an empty collection (fileUris or hashcodes or translationJobUids).",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "createdDate": "2015-11-21T11:51:17Z",
                              "description": "my job description",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "jobName": "myJobName",
                              "jobStatus": "IN_PROGRESS",
                              "referenceNumber": "myReferenceNumber1",
                              "targetLocaleIds": [
                                "uk-UA",
                                "ru-RU"
                              ],
                              "translationJobUid": "abc123abc"
                            },
                            {
                              "createdDate": "2015-11-21T11:51:17Z",
                              "description": "my job description",
                              "dueDate": "2015-11-21T11:51:17Z",
                              "jobName": "myJobName",
                              "jobStatus": "IN_PROGRESS",
                              "referenceNumber": "myReferenceNumber1",
                              "targetLocaleIds": [
                                "uk-UA",
                                "ru-RU"
                              ],
                              "translationJobUid": "abc321xyz"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}": {
      "get": {
        "summary": "Check for an async process for job",
        "description": "This checks for an asynchronous process for a job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobAsyncProcessStatus",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "processUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessCheckJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "createdDate": "2015-11-21T11:51:17Z",
                          "modifiedDate": "2015-11-21T11:51:17Z",
                          "processState": "IN_PROGRESS | COMPLETED | FAILED",
                          "processUid": "13424r5-qaswerxs-43435ff",
                          "translationJobUid": "784578f-qaswerxs-43435ff"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/add": {
      "post": {
        "summary": "Add file to job",
        "description": "This adds all non-published strings from a file to a job. By default, the file will be added for all locales of the job, but you can change this by specifying `targetLocaleId`s for the job you wish to add the file into.\n\n**Validation rules:**\n- A job can contain a maximum of 5000 files.\n- Content can't be added to the job if the job doesn't contain any locales, and the request to add a file doesn't specify any locales.\n- The file (specified by the `fileUri`) can't be in the process of being uploaded / modified within Smartling. It should complete its upload process before being added to a job.\n- Any `targetLocale`s specified must be valid within the project the job has been created for.\n\nWhen the system can quickly add the file and its content to the job, it synchronously responds with status `200`. When the system cannot quickly add the file and its content to the job, then a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of adding the content to the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "addFileToJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddFileJobRequest"
              }
            }
          },
          "description": "The `fileUri` (unique URI of the file). The file should not currently be in the process of being uploaded to Smartling before being added to a job. To check this, you can invoke the file-api /file/status API on the file and verify a `200` response before requesting the file be added to the job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddContentSuccessFailCountJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "failCount": 1,
                          "successCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Validation error adding file to a job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": "File not found: <fileUri>",
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "423": {
            "description": "The requested file is currently being processed by another operation. The file will be unlocked after the operation completes.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobFiledAddError423Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "VALIDATION_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": "The file is currently being processed and will be available in a few minutes.",
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/remove": {
      "post": {
        "summary": "Remove file from job",
        "description": "Removes a file from a job. All content that is part of the file contained within that job will be removed from the job and will become unauthorized content.\n\nWhen the system can quickly remove the file and its content from the job synchronously, it responds with a `200` status. When the system cannot quickly remove the file and its content from the job, a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of removing the file and its content from the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "removeFileFromJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveFileJobRequest"
              }
            }
          },
          "description": "The `fileUri` (unique URI of the file) that is to be removed from the job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessFailCountJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "failCount": 1,
                          "successCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found validation error",
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/files": {
      "get": {
        "summary": "List files within job",
        "description": "This lists all files within a job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobFilesList",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The limit on the number of files returned.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1000
            }
          },
          {
            "description": "The offset to use when searching for files.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListFilesResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "uri": "/file/app1.properties",
                              "fileUid": "1234g67h90",
                              "localeIds": [
                                "en-US",
                                "fr-FR"
                              ]
                            },
                            {
                              "uri": "/file/app2.properties",
                              "fileUid": "123h56c891",
                              "localeIds": [
                                "en-US",
                                "de-DE"
                              ]
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/locales/{targetLocaleId}": {
      "post": {
        "summary": "Add locale to job",
        "description": "This adds a locale to a job. When the system can quickly add the locale and any content to the job, it synchronously responds with status `200`. When the system can't quickly add the locale and any content to the job, a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of adding the content to the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "addLocaleToJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "targetLocaleId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddLocaleJobRequest"
              }
            }
          },
          "description": "`syncContent` is default to true. When a new locale is being added to a job, by default all content in the job will be added to the job for the new locale. If set to false, then no content will be added to the job, and only a locale placeholder will be added to the job.",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "delete": {
        "summary": "Remove locale from job",
        "description": "This removes a locale from a job. When removing a locale from a job (and thus any content within that job for that locale), the content being removed will be unauthorized.\n\nWhen the system can quickly remove the locale and any content from the job, it synchronously responds with status `200`. When the system cannot quickly remove the locale and any content from the job, then a `202` response is returned. The response contains a link to check the progress of the request. When a `202` is received, the process of removing the content from the job will not be complete until the returned process has completed.\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "removeLocaleFromJob",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "targetLocaleId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NullDataJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "ACCEPTED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncProcessJobResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "ACCEPTED",
                        "data": {
                          "message": "This process will continue asynchronously and may take up to a few minutes.",
                          "url": "https://api.smartling.com/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/processes/{processUid}"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/file/progress": {
      "get": {
        "summary": "Get progress of file within job",
        "description": "This shows the progress of a file within a job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobFileProgress",
        "parameters": [
          {
            "name": "projectId",
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "fileUri",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProgressResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "contentProgressReport": [
                            {
                              "progress": {
                                "percentComplete": 25,
                                "totalWordCount": 16
                              },
                              "targetLocaleDescription": "Ukrainian (Ukraine)",
                              "targetLocaleId": "uk-UA",
                              "unauthorizedProgressReport": {
                                "stringCount": 0,
                                "wordCount": 0
                              },
                              "workflowProgressReportList": [
                                {
                                  "workflowName": "Project Default",
                                  "workflowStepSummaryReportItemList": [
                                    {
                                      "stringCount": 4,
                                      "wordCount": 16,
                                      "workflowStepName": "Translation",
                                      "workflowStepType": "TRANSLATION",
                                      "workflowStepUid": "559ce40f2789"
                                    },
                                    {
                                      "stringCount": 0,
                                      "wordCount": 0,
                                      "workflowStepName": "Edit",
                                      "workflowStepType": "POST_TRANSLATION__EDIT",
                                      "workflowStepUid": "704a4b554b85"
                                    },
                                    {
                                      "stringCount": 0,
                                      "wordCount": 0,
                                      "workflowStepName": "Published",
                                      "workflowStepType": "PUBLISH",
                                      "workflowStepUid": "b50f989af2c3"
                                    }
                                  ],
                                  "workflowUid": "091e04a9faca"
                                }
                              ]
                            },
                            {
                              "progress": {
                                "percentComplete": 75,
                                "totalWordCount": 16
                              },
                              "targetLocaleDescription": "Russian",
                              "targetLocaleId": "ru-RU",
                              "unauthorizedProgressReport": {
                                "stringCount": 0,
                                "wordCount": 0
                              },
                              "workflowProgressReportList": [
                                {
                                  "workflowName": "Project Default",
                                  "workflowStepSummaryReportItemList": [
                                    {
                                      "stringCount": 1,
                                      "wordCount": 4,
                                      "workflowStepName": "Translation",
                                      "workflowStepType": "TRANSLATION",
                                      "workflowStepUid": "559ce40f2789"
                                    },
                                    {
                                      "stringCount": 2,
                                      "wordCount": 8,
                                      "workflowStepName": "Edit",
                                      "workflowStepType": "POST_TRANSLATION__EDIT",
                                      "workflowStepUid": "704a4b554b85"
                                    },
                                    {
                                      "stringCount": 1,
                                      "wordCount": 4,
                                      "workflowStepName": "Published",
                                      "workflowStepType": "PUBLISH",
                                      "workflowStepUid": "b50f989af2c3"
                                    }
                                  ],
                                  "workflowUid": "091e04a9faca"
                                }
                              ]
                            }
                          ],
                          "progress": {
                            "percentComplete": 50,
                            "totalWordCount": 32
                          },
                          "summaryReport": [
                            {
                              "stringCount": 1,
                              "wordCount": 4,
                              "workflowStepName": "Translation"
                            },
                            {
                              "stringCount": 2,
                              "wordCount": 8,
                              "workflowStepName": "Edit"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/progress": {
      "get": {
        "summary": "Get progress of job",
        "description": "This gets the progress of a job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobProgress",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "targetLocaleId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProgressResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "contentProgressReport": [
                            {
                              "progress": {
                                "percentComplete": 25,
                                "totalWordCount": 16
                              },
                              "targetLocaleDescription": "Ukrainian (Ukraine)",
                              "targetLocaleId": "uk-UA",
                              "unauthorizedProgressReport": {
                                "stringCount": 0,
                                "wordCount": 0
                              },
                              "workflowProgressReportList": [
                                {
                                  "workflowName": "Project Default",
                                  "workflowStepSummaryReportItemList": [
                                    {
                                      "stringCount": 4,
                                      "wordCount": 16,
                                      "workflowStepName": "Translation",
                                      "workflowStepType": "TRANSLATION",
                                      "workflowStepUid": "559ce40f2789"
                                    },
                                    {
                                      "stringCount": 0,
                                      "wordCount": 0,
                                      "workflowStepName": "Edit",
                                      "workflowStepType": "POST_TRANSLATION__EDIT",
                                      "workflowStepUid": "704a4b554b85"
                                    },
                                    {
                                      "stringCount": 0,
                                      "wordCount": 0,
                                      "workflowStepName": "Published",
                                      "workflowStepType": "PUBLISH",
                                      "workflowStepUid": "b50f989af2c3"
                                    }
                                  ],
                                  "workflowUid": "091e04a9faca"
                                }
                              ]
                            },
                            {
                              "progress": {
                                "percentComplete": 75,
                                "totalWordCount": 16
                              },
                              "targetLocaleDescription": "Russian",
                              "targetLocaleId": "ru-RU",
                              "unauthorizedProgressReport": {
                                "stringCount": 0,
                                "wordCount": 0
                              },
                              "workflowProgressReportList": [
                                {
                                  "workflowName": "Project Default",
                                  "workflowStepSummaryReportItemList": [
                                    {
                                      "stringCount": 1,
                                      "wordCount": 4,
                                      "workflowStepName": "Translation",
                                      "workflowStepType": "TRANSLATION",
                                      "workflowStepUid": "559ce40f2789"
                                    },
                                    {
                                      "stringCount": 2,
                                      "wordCount": 8,
                                      "workflowStepName": "Edit",
                                      "workflowStepType": "POST_TRANSLATION__EDIT",
                                      "workflowStepUid": "704a4b554b85"
                                    },
                                    {
                                      "stringCount": 1,
                                      "wordCount": 4,
                                      "workflowStepName": "Published",
                                      "workflowStepType": "PUBLISH",
                                      "workflowStepUid": "b50f989af2c3"
                                    }
                                  ],
                                  "workflowUid": "091e04a9faca"
                                }
                              ]
                            }
                          ],
                          "progress": {
                            "percentComplete": 50,
                            "totalWordCount": 32
                          },
                          "summaryReport": [
                            {
                              "stringCount": 1,
                              "wordCount": 4,
                              "workflowStepName": "Translation"
                            },
                            {
                              "stringCount": 2,
                              "wordCount": 8,
                              "workflowStepName": "Edit"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/locales-completion-dates": {
      "get": {
        "summary": "Get last completion dates per locale of job",
        "description": "Returns the last completion date for any locale completed within the job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getJobLastCompletionDatesPerLocale",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a job.",
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "completionDate": "2018-08-29T08:17:40Z",
                              "targetLocaleId": "de-DE"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ListJobLocalesCompletionDatesResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/jobs/{translationJobUid}/schedule": {
      "get": {
        "summary": "Find schedule for translation job",
        "description": "Get all schedule items for a specific job.",
        "tags": [
          "Jobs"
        ],
        "operationId": "findScheduleForTranslationJob",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a job.",
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobSchedule"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "scheduleUid": "hfphrhef8awr",
                              "targetLocaleId": "de-DE",
                              "workflowStepUid": "568cd2bae16f",
                              "dueDate": "2020-11-21T01:51:17Z"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "post": {
        "summary": "Modify schedule items for translation job",
        "description": "This modifies translation job schedule for provided items\n",
        "tags": [
          "Jobs"
        ],
        "operationId": "modifyScheduleItemsForTranslationJob",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a job.",
            "in": "path",
            "name": "translationJobUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobScheduleEditCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobSchedule"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "scheduleUid": "hfphrhef8awr",
                              "targetLocaleId": "de-DE",
                              "workflowStepUid": "568cd2bae16f",
                              "dueDate": "2020-11-21T01:51:17Z"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/projects/{projectId}/custom-fields": {
      "get": {
        "summary": "Find custom fields for specified project",
        "description": "Returns custom fields assigned to the project. Order is the one that was specified during assignment operation.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getProjectCustomFields",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFields"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "fieldUid": "ngahq6dgh4ed",
                              "type": "SELECTBOX",
                              "fieldName": "field-name",
                              "enabled": true,
                              "required": true,
                              "searchable": true,
                              "displayToTranslators": true,
                              "options": [
                                "option1",
                                "option2"
                              ],
                              "defaultValue": "default-field-name",
                              "description": "custom field description"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "post": {
        "summary": "Assign new custom fields to project",
        "description": "Accepts new values for assignment. If empty list is passed - all assignments are deleted. Order of the fields in the request is preserved during saving.",
        "tags": [
          "Jobs"
        ],
        "operationId": "assignCustomFieldsToProject",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldAssignmentList"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptyResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/accounts/{accountUid}/custom-fields": {
      "get": {
        "summary": "Find custom fields for specified account",
        "description": "Gets all custom fields for specified account.",
        "tags": [
          "Jobs"
        ],
        "operationId": "getAccountCustomFields",
        "parameters": [
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchableOnly",
            "description": "Get only searchable custom fields.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "enabledOnly",
            "description": "Get only enabled custom fields.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFields"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "fieldUid": "ngahq6dgh4ed",
                              "type": "SELECTBOX",
                              "fieldName": "field-name",
                              "enabled": true,
                              "required": true,
                              "searchable": true,
                              "displayToTranslators": true,
                              "options": [
                                "option1",
                                "option2"
                              ],
                              "defaultValue": "default-field-name",
                              "description": "custom field description"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "404": {
            "description": "Not found error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404Response"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "NOT_FOUND_ERROR",
                        "errors": [
                          {
                            "key": null,
                            "message": null,
                            "details": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      },
      "post": {
        "summary": "Create new custom field in account",
        "description": "Creates new custom field in account.",
        "tags": [
          "Jobs"
        ],
        "operationId": "createCustomField",
        "parameters": [
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCustomField"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFields"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "fieldUid": "ngahq6dgh4ed",
                              "type": "SELECTBOX",
                              "fieldName": "field-name",
                              "enabled": true,
                              "required": true,
                              "searchable": true,
                              "displayToTranslators": true,
                              "options": [
                                "option1",
                                "option2"
                              ],
                              "defaultValue": "default-field-name",
                              "description": "custom field description"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/jobs-api/v3/accounts/{accountUid}/custom-fields/{fieldUid}": {
      "put": {
        "summary": "Update custom field in account",
        "description": "Updates custom field in account using field UID specified.",
        "tags": [
          "Jobs"
        ],
        "operationId": "updateCustomField",
        "parameters": [
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "A unique identifier for a custom field.",
            "in": "path",
            "name": "fieldUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCustomField"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFields"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "fieldUid": "ngahq6dgh4ed",
                              "type": "SELECTBOX",
                              "fieldName": "field-name",
                              "enabled": true,
                              "required": true,
                              "searchable": true,
                              "displayToTranslators": true,
                              "options": [
                                "option1",
                                "option2"
                              ],
                              "defaultValue": "default-field-name",
                              "description": "custom field description"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/tags-api/v2/accounts/{accountUid}/tags": {
      "post": {
        "summary": "List tags within a account",
        "description": "List / search tags within an account.",
        "tags": [
          "Tags"
        ],
        "operationId": "getTagsListByAccount",
        "parameters": [
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "projectIds": {
                    "items": {
                      "description": "Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API.",
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "type": "array",
                    "example": [
                      "12ddasds5",
                      "dsde3e3f4"
                    ],
                    "description": "Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API."
                  },
                  "tagMask": {
                    "description": "Search filter. Will return tags with partial match and is case insensitive.",
                    "type": "string"
                  },
                  "limit": {
                    "default": 1500,
                    "description": "The limit on the number of tags returned.",
                    "example": 30,
                    "maximum": 1500,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "offset": {
                    "default": 0,
                    "description": "The offset to use when searching for tags.",
                    "example": 30,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAccountTagsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "projectId": "123jlkj8c",
                              "tag": "StringTag"
                            },
                            {
                              "projectId": "hjhjkh44f",
                              "tag": "AnotherTag"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/tags-api/v2/accounts/$smartlingAccountUid/tags\n"
          }
        ]
      }
    },
    "/tags-api/v2/projects/{projectId}/tags": {
      "get": {
        "summary": "List tags within a project",
        "description": "List / search tags within a project.",
        "tags": [
          "Tags"
        ],
        "operationId": "getTagsListByProject",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Tag mask for search.",
            "in": "query",
            "name": "tagMask",
            "required": false,
            "schema": {
              "default": "",
              "type": "string"
            }
          },
          {
            "description": "The limit on the number of tags returned.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 100,
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "The offset to use when searching for tags.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetProjectTagsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "tag": "StringTag"
                            },
                            {
                              "tag": "AnotherTag"
                            }
                          ],
                          "totalCount": 2
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/tags\n"
          }
        ]
      }
    },
    "/tags-api/v2/projects/{projectId}/strings/tags/search": {
      "post": {
        "summary": "Get all tags for strings",
        "description": "Retrieve all tags linked to strings.",
        "tags": [
          "Tags"
        ],
        "operationId": "getAllTagsForStrings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "stringHashcodes": {
                    "items": {
                      "description": "String hashcode",
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "type": "array"
                  }
                },
                "required": [
                  "stringHashcodes"
                ],
                "type": "object"
              }
            }
          },
          "description": "List of string hashcodes",
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetStringsTagsResponse"
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/strings/tags/search\n"
          }
        ]
      }
    },
    "/tags-api/v2/projects/{projectId}/strings/tags/add": {
      "post": {
        "summary": "Add tags to strings",
        "description": "Add a list of tags to a list of strings.",
        "tags": [
          "Tags"
        ],
        "operationId": "addTagToStrings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TagsWithStrings"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "response"
                  ],
                  "properties": {
                    "response": {
                      "$ref": "#/components/schemas/SuccessResponse"
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/strings/tags/add\n"
          }
        ]
      }
    },
    "/tags-api/v2/projects/{projectId}/strings/tags/remove": {
      "post": {
        "summary": "Remove tags from strings",
        "description": "Remove a list of tags from a list of strings.",
        "tags": [
          "Tags"
        ],
        "operationId": "removeTagsFromStrings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/TagsWithStrings"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "response"
                  ],
                  "properties": {
                    "response": {
                      "$ref": "#/components/schemas/SuccessResponse"
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/strings/tags/remove\n"
          }
        ]
      }
    },
    "/tags-api/v2/projects/{projectId}/strings/tags/remove/all": {
      "post": {
        "summary": "Remove all tags from strings",
        "description": "Remove all tags from a list of strings.",
        "tags": [
          "Tags"
        ],
        "operationId": "removeAllTagsFromStrings",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "stringHashcodes": {
                    "description": "List of string hashcodes",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 1000,
                    "type": "array"
                  }
                },
                "required": [
                  "stringHashcodes"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "response"
                  ],
                  "properties": {
                    "response": {
                      "$ref": "#/components/schemas/SuccessResponse"
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/tags-api/v2/projects/$smartlingProjectId/strings/tags/remove/all\n"
          }
        ]
      }
    },
    "/gdn-url-management-api/v2/projects/{projectId}/web-pages/list": {
      "post": {
        "summary": "Get list of URLs",
        "description": "Get list of URLs.",
        "tags": [
          "GDN url management"
        ],
        "operationId": "getGdnUrlsList",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebPageListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebPageListResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "created": "2015-11-21T11:51:17Z",
                              "domain": {
                                "name": "my.domain.com"
                              },
                              "urlPath": "/home/page.htm",
                              "webPageUid": "23dsd23md"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/web-pages/list\n"
          }
        ]
      }
    },
    "/gdn-url-management-api/v2/projects/{projectId}/web-pages/details": {
      "post": {
        "summary": "Get details for URLs",
        "description": "Retrieve details of the URLs.",
        "tags": [
          "GDN url management"
        ],
        "operationId": "getGdnUrlsDetails",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebPageDetailListRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebPageDetailListResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "details": {
                                "contextUids": [
                                  "122ssasa323",
                                  "334asds3434"
                                ],
                                "created": "2015-11-21T01:51:17Z",
                                "stringCount": 10,
                                "wordCount": 25
                              },
                              "domain": {
                                "name": "my.domain.com"
                              },
                              "urlPath": "/home/page.htm",
                              "webPageUid": "23dsd23md"
                            }
                          ],
                          "totalCount": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$smartlingStringTagJSON\" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/web-pages/details\n"
          }
        ]
      }
    },
    "/gdn-url-management-api/v2/projects/{projectId}/web-pages/{webPageUid}": {
      "get": {
        "summary": "Get details for URL",
        "description": "Retrieve detail for the URL.",
        "tags": [
          "GDN url management"
        ],
        "operationId": "getGdnUrlDetailsSingleUrl",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique identifier of the URL",
            "in": "path",
            "name": "webPageUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebPageDetailsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "details": {
                            "contextUids": [
                              "122ssasa323",
                              "334asds3434"
                            ],
                            "created": "2015-11-21T01:51:17Z",
                            "stringCount": 10,
                            "wordCount": 25
                          },
                          "domain": {
                            "name": "my.domain.com"
                          },
                          "urlPath": "/home/page.htm",
                          "webPageUid": "23dsd23md"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/web-pages/$webPageUid\n"
          }
        ]
      }
    },
    "/gdn-url-management-api/v2/projects/{projectId}/domains": {
      "get": {
        "summary": "Get domains for project",
        "description": "Get domains for project.",
        "tags": [
          "GDN url management"
        ],
        "operationId": "getProjectDomains",
        "parameters": [
          {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "path",
            "name": "projectId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebPageDomainsResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 1,
                          "items": [
                            {
                              "name": "my.domain.com"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" https://api.smartling.com/gdn-url-management-api/v2/projects/$smartlingProjectId/domains\n"
          }
        ]
      }
    },
    "/language-detection-api/v2/bulk/detect/language": {
      "post": {
        "summary": "Detect language",
        "description": "Request language detection for multiple texts. The request may include texts in multiple languages.",
        "tags": [
          "Language Detection"
        ],
        "operationId": "bulkDetectLanguage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DetectLanguageRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DetectLanguageResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 1,
                          "items": [
                            {
                              "uid": "uid-1",
                              "languages": [
                                {
                                  "languageId": "en-US",
                                  "probability": 0.99,
                                  "localeIds": [
                                    "en-US",
                                    "en-GB"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -X POST -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" -d \"$requestBody\" https://api.smartling.com/language-detection-api/v2/bulk/detect/language\n"
          }
        ]
      }
    },
    "/jobs-batch-api/v1/projects/{projectId}/batches": {
      "$ref": "./spec/job_batches_v1/job_batches_endpoints.yaml#/x-paths/create_list_batches"
    },
    "/jobs-batch-api/v1/projects/{projectId}/batches/{batchUid}": {
      "$ref": "./spec/job_batches_v1/job_batches_endpoints.yaml#/x-paths/status_execute_batch"
    },
    "/jobs-batch-api/v1/projects/{projectId}/batches/{batchUid}/file": {
      "$ref": "./spec/job_batches_v1/job_batches_endpoints.yaml#/x-paths/add_file_to_batch"
    },
    "/jobs-batch-api/v2/projects/{projectId}/batches/{batchUid}/file": {
      "$ref": "./spec/job_batches_v1/job_batches_endpoints.yaml#/x-paths/add_file_to_batch_async"
    },
    "/job-batches-api/v2/projects/{projectId}/batches": {
      "$ref": "./spec/job_batches_v2/job_batches_endpoints.yaml#/x-paths/create_list_batches"
    },
    "/job-batches-api/v2/projects/{projectId}/batches/{batchUid}": {
      "$ref": "./spec/job_batches_v2/job_batches_endpoints.yaml#/x-paths/status_process_batch"
    },
    "/job-batches-api/v2/projects/{projectId}/batches/{batchUid}/file": {
      "$ref": "./spec/job_batches_v2/job_batches_endpoints.yaml#/x-paths/add_file_to_batch"
    },
    "/job-batches-api/v2/projects/{projectId}/jobs": {
      "$ref": "./spec/job_batches_v2/job_batches_endpoints.yaml#/x-paths/create_job"
    },
    "/connectors-import-api/v3/projects/{projectId}/integrations/{integrationId}/translation-requests": {
      "$ref": "./spec/connectors_import_v3/connectors_import_endpoints.yaml#/x-paths/request_translation"
    },
    "/vendors-api/v2/agencies/{agencyUid}/jobs": {
      "get": {
        "summary": "List available jobs",
        "description": "Returns the list of jobs available for the agency.",
        "tags": [
          "Vendors"
        ],
        "operationId": "getJobsListByAgency",
        "parameters": [
          {
            "in": "path",
            "name": "agencyUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VendorsAPIJobsListSuccessResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" -H \"Content-Type: application/json\" \\\nhttps://api.smartling.com/vendors-api/v2/agencies/{agencyUid}/jobs\n"
          }
        ]
      }
    },
    "/vendors-api/v2/accounts/{accountUid}/content-assignments": {
      "get": {
        "summary": "List content assignments",
        "description": "Returns the list of content assignments for the account.",
        "tags": [
          "Vendors"
        ],
        "operationId": "getContentAssignmentsByAccount",
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account's unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "accountUid": "111222333",
                              "accountName": "Test account",
                              "projectUid": "111222333",
                              "projectName": "Test Project",
                              "localeId": "es-ES",
                              "workflowUid": "111222333444",
                              "workflowName": "Example Workflow",
                              "workflowStepUid": "111222333444",
                              "workflowStepName": "Translation",
                              "workflowStepType": "TRANSLATION",
                              "translationJobUid": "111222333444",
                              "translationJobName": "Example Job",
                              "translationJobWorkflowStepDueDate": "2025-01-20T18:01:00Z",
                              "translationJobOverallDueDate": "2025-01-20T18:01:00Z",
                              "userUid": null,
                              "userFirstName": null,
                              "userLastName": null,
                              "userEmail": null,
                              "agencyUid": null,
                              "agencyName": null,
                              "wordCount": 300,
                              "workflowStepOrder": 2,
                              "assignmentEnabled": false
                            }
                          ]
                        }
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/VendorsAPIContentAssignmentsSuccessResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        },
        "x-code-samples": [
          {
            "lang": "curl",
            "source": "curl -H \"Authorization: Bearer $smartlingToken\" \\\nhttps://api.smartling.com/vendors-api/v2/accounts/{accountUid}/content-assignments\n"
          }
        ]
      }
    },
    "/reports-api/v3/word-count": {
      "get": {
        "summary": "Get Word Count Report",
        "description": "Word Count report data for the specified parameters.",
        "tags": [
          "Reports"
        ],
        "operationId": "getWordCountReport",
        "parameters": [
          {
            "description": "A parameter to limit words processed on or after the ```startDate```, in America/New_York timezone.",
            "in": "query",
            "name": "startDate",
            "required": true,
            "schema": {
              "format": "YYYY-MM-DD",
              "type": "string"
            }
          },
          {
            "description": "A parameter to limit words processed on or before the ```endDate```, in America/New_York timezone.",
            "in": "query",
            "name": "endDate",
            "required": true,
            "schema": {
              "format": "YYYY-MM-DD",
              "type": "string"
            }
          },
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "query",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "query",
            "name": "projectIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation jobs.",
            "in": "query",
            "name": "jobUids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter of unique agency identifier.",
            "in": "query",
            "name": "agencyUid",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation resources.",
            "in": "query",
            "name": "userUids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation locale IDs.",
            "in": "query",
            "name": "targetLocaleIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of workflow step types.\n\nThe supported list of workflow step types is:\n\n  - Translation\n\n  - Edit\n\n  - Review\n\n  - Post-Edit\n\n  - Transcreation\n\n  - Transcreation review\n\n  - AI Review\n\n  - Quality Evaluation\n\n  - LQA\n\n  - Internal Review\n\n  - Desktop Publishing\n\n  - AI Translation\n\n  - Light Post-Edit",
            "in": "query",
            "name": "workflowStepTypes",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by `include...` parameters.\n\nBoth `fields` and `include...` parameters are not allowed at the same time.\n\nThe supported list of fields names is:\n\n  - accountUid\n\n  - accountName\n\n  - projectId\n\n  - projectName\n\n  - targetLocaleId\n\n  - targetLocale\n\n  - jobUid\n\n  - jobName\n\n  - jobReferenceNumber\n  \n  - jobNumber\n\n  - translationResourceUid\n\n  - translationResourceName\n\n  - agencyUid\n\n  - agencyName\n\n  - workflowStepType\n\n  - workflowStepUid\n\n  - workflowStepName\n\n  - fuzzyProfileName\n\n  - fuzzyTier\n\n  - wordCount\n\n  - weightedWordCount\n\n  - characterCount. Please note: the column shows correct data since 2022-10-01.\n",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation resource name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeTranslationResource",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJob",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job and include reference number in the response.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJobReferenceNumber",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job and include job number in the response.  \nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJobNumber",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by fuzzy match profile and tier.          \n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeFuzzyMatchProfile",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by workflow step uid and name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeWorkflowStep",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results. Default value is 10000.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 10000,
              "maximum": 10000,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Standard Smartling limit and offset to paginate through results. Default value is 0.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "maximum": 10000,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WordCountResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "items": [
                            {
                              "accountName": "Test Account",
                              "accountUid": "35a84f71",
                              "agencyName": "Test Agency 1",
                              "agencyUid": "0ed85b93",
                              "fuzzyProfileName": "Default",
                              "fuzzyTier": "85 - 94.9%",
                              "jobName": "Translation Job 1",
                              "jobUid": "f12ad8e9",
                              "jobReferenceNumber": "Job reference number",
                              "projectId": "ba952f4c",
                              "projectName": "Test Project 1",
                              "targetLocaleId": "es-ES",
                              "targetLocaleName": "Spanish (Spain)",
                              "translationResourceName": "Agency Translator 5",
                              "translationResourceUid": "da57302e",
                              "weightedWordCount": 4,
                              "wordCount": 20,
                              "characterCount": 101,
                              "workflowStepType": "Translation",
                              "workflowStepUid": "lk3gh7zr20ao",
                              "workflowStepName": "Translation"
                            },
                            {
                              "accountName": "Test Account",
                              "accountUid": "35a84f71",
                              "agencyName": "Test Agency 2",
                              "agencyUid": "4d6230e1",
                              "fuzzyProfileName": "Default",
                              "fuzzyTier": "85 - 94.9%",
                              "jobName": "Translation Job 1",
                              "jobUid": "f12ad8e9",
                              "jobReferenceNumber": "Job reference number",
                              "projectId": "ba952f4c",
                              "projectName": "Test Project 1",
                              "targetLocaleId": "es-ES",
                              "targetLocale": "Spanish (Spain)",
                              "translationResourceName": "Agency Editor 12",
                              "translationResourceUid": "5eb90a14",
                              "weightedWordCount": 20,
                              "wordCount": 20,
                              "characterCount": 101,
                              "workflowStepType": "Edit",
                              "workflowStepUid": "ac7ac1bd15bf",
                              "workflowStepName": "Edit"
                            }
                          ],
                          "resultsTruncated": false
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/reports-api/v3/word-count/csv": {
      "get": {
        "summary": "Export Word Count in CSV format",
        "description": "Export Word Count report in CSV format.",
        "tags": [
          "Reports"
        ],
        "operationId": "exportWordCountReport",
        "parameters": [
          {
            "description": "A parameter to limit words processed on or after the ```startDate```, in America/New_York timezone.",
            "in": "query",
            "name": "startDate",
            "required": true,
            "schema": {
              "format": "YYYY-MM-DD",
              "type": "string"
            }
          },
          {
            "description": "A parameter to limit words processed on or before the ```endDate```, in America/New_York timezone.",
            "in": "query",
            "name": "endDate",
            "required": true,
            "schema": {
              "format": "YYYY-MM-DD",
              "type": "string"
            }
          },
          {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "query",
            "name": "accountUid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API.",
            "in": "query",
            "name": "projectIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation jobs.",
            "in": "query",
            "name": "jobUids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter of unique agency identifier.",
            "in": "query",
            "name": "agencyUid",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation resources.",
            "in": "query",
            "name": "userUids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of translation locale IDs.",
            "in": "query",
            "name": "targetLocaleIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional parameter to filter to the specified list of workflow step types.\n\nThe supported list of workflow step types is:\n\n  - Translation\n\n  - Edit\n\n  - Review\n\n  - Post-Edit\n\n  - Transcreation\n\n  - Transcreation review\n\n  - AI Review\n\n  - Quality Evaluation\n\n  - LQA\n\n  - Internal Review\n\n  - Desktop Publishing\n\n  - AI Translation\n\n  - Light Post-Edit",
            "in": "query",
            "name": "workflowStepTypes",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by `include...` parameters.\n\nBoth `fields` and `include...` parameters are not allowed at the same time.\n\nThe supported list of fields names is:\n\n  - accountUid\n\n  - accountName\n\n  - projectId\n\n  - projectName\n\n  - targetLocaleId\n\n  - targetLocale\n\n  - jobUid\n\n  - jobName\n\n  - jobReferenceNumber\n  \n  - jobNumber\n\n  - translationResourceUid\n\n  - translationResourceName\n\n  - agencyUid\n\n  - agencyName\n\n  - workflowStepType\n\n  - workflowStepUid\n\n  - workflowStepName\n\n  - fuzzyProfileName\n\n  - fuzzyTier\n\n  - wordCount\n\n  - weightedWordCount\n\n  - characterCount. Please note: the column shows correct data since 2022-10-01.\n",
            "in": "query",
            "name": "fields",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation resource name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeTranslationResource",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJob",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job and include reference number in the response.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJobReferenceNumber",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by translation job and include job number in the response.                        \nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeJobNumber",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by fuzzy match profile and tier.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeFuzzyMatchProfile",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Optional parameter to specify whether the report should group word count by workflow step uid and name.\n\nDeprecated, use parameter `fields` instead.\n",
            "in": "query",
            "name": "includeWorkflowStep",
            "required": false,
            "deprecated": true,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "response": {
                    "value": "Account,Project,Job Uid,Job,Translation Resource,Agency Uid,Agency, Target Language,Workflow Step,Workflow Step Uid,Workflow Step Name, Fuzzy Profile,Fuzzy Breakdown,Word Count,Weighted Words,Character Count Test Account,Test Project,f12ad8e9,Translation Job,Translator 1, Test Agency 1 Uid, Test Agency 1,Spanish (Spain),Translation,123abc456def, Translation,Default,85 - 94.9%,1,1,1"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/translation-quality-api/v2/dictionary/check-types": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_checkTypes"
    },
    "/translation-quality-api/v2/dictionary/check-types/{checkTypeCode}/sub-types": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_checkType_subTypes"
    },
    "/translation-quality-api/v2/dictionary/severity-levels": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_severity_levels"
    },
    "/translation-quality-api/v2/dictionary/check-types/GLOSSARY_COMPLIANCE/match-methods": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_checkType_GLOSSARY_COMPLIANCE_match_methods"
    },
    "/translation-quality-api/v2/dictionary/check-types/TRADEMARK_CONSISTENCY/trademark-types": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_checkType_TRADEMARK_CONSISTENCY_trademark_types"
    },
    "/translation-quality-api/v2/dictionary/check-types/REGEX_CHECK/rule-types": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_regex_check_rule_types"
    },
    "/translation-quality-api/v2/dictionary/check-types/REGEX_CHECK/flavors": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/dictionary_regex_check_flavors"
    },
    "/translation-quality-api/v2/users/current/settings/dictionaries/{localeId}": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/users_current_settings_dictionaries_locale"
    },
    "/translation-quality-api/v2/users/current/settings/dictionaries/{localeId}/{wordUid}": {
      "$ref": "./spec/translation_quality/dictionaries_result.yaml#/x-paths/users_current_settings_dictionaries_locale_word"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles": {
      "$ref": "./spec/translation_quality/profiles_result.yaml#/x-paths/create_tqc_profile_or_get_profiles"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}": {
      "$ref": "./spec/translation_quality/profiles_result.yaml#/x-paths/get_or_delete_tqc_profile"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/copy": {
      "$ref": "./spec/translation_quality/profiles_result.yaml#/x-paths/copy_tqc_profile"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/name": {
      "$ref": "./spec/translation_quality/profiles_result.yaml#/x-paths/update_tqc_profile"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/default-profile": {
      "$ref": "./spec/translation_quality/profiles_result.yaml#/x-paths/default_profile"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types": {
      "$ref": "./spec/translation_quality/checks/accounts_result.yaml#/x-paths/profiles_check_types_settings"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}": {
      "$ref": "./spec/translation_quality/checks/accounts_result.yaml#/x-paths/profiles_check_types_settings_effective"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/settings": {
      "$ref": "./spec/translation_quality/checks/accounts_result.yaml#/x-paths/profiles_check_types_checkType_settings"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/severity-level": {
      "$ref": "./spec/translation_quality/check_type_severity_level_result.yaml#/x-paths/profiles_check_type_severity_level"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/sub-types/{checkSubTypeCode}/severity-level": {
      "$ref": "./spec/translation_quality/check_type_severity_level_result.yaml#/x-paths/profiles_check_type_subtype_severity_level"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups": {
      "$ref": "./spec/translation_quality/account_settings.yaml#/x-paths/profiles_check_type_groups"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}": {
      "$ref": "./spec/translation_quality/account_settings_result.yaml#/x-paths/profiles_check_type_groups_group"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}/settings": {
      "$ref": "./spec/translation_quality/checks/accounts_result.yaml#/x-paths/profiles_check_types_checkType_group_settings"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}/locales": {
      "$ref": "./spec/translation_quality/account_settings_result.yaml#/x-paths/profiles_check_type_groups_group_locales"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}/locales/{targetLocaleId}": {
      "$ref": "./spec/translation_quality/account_settings_result.yaml#/x-paths/profiles_check_type_groups_group_locales_locale"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}/sub-types/{checkSubTypeCode}/severity-level": {
      "$ref": "./spec/translation_quality/check_type_severity_level.yaml#/x-paths/profiles_check_type_group_subtype_severity_level"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/{checkTypeCode}/groups/{groupUid}/severity-level": {
      "$ref": "./spec/translation_quality/check_type_severity_level_result.yaml#/x-paths/profiles_check_type_group_severity_level"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rules"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/severity-level": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_severity_level"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/groups": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_groups"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/groups/{groupUid}": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_group"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/groups/{groupUid}/locales": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_group_locales"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/groups/{groupUid}/locales/{targetLocaleId}": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_group_locale"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/profiles/{profileUid}/check-types/REGEX_CHECK/settings/rules/{ruleUid}/groups/{groupUid}/severity-level": {
      "$ref": "./spec/translation_quality/regex_check_settings_result.yaml#/x-paths/profiles_regex_check_type_rule_group_severity_level"
    },
    "/translation-quality-api/v2/projects/{projectId}/locales/{localeId}/check-types/": {
      "$ref": "./spec/translation_quality/checks/accounts_result.yaml#/x-paths/get_project_check_types_settings"
    },
    "/translation-quality-api/v2/accounts/{accountUid}/projects/{projectId}/check": {
      "$ref": "./spec/translation_quality/tqc_check_result.yaml#/x-paths/tqc_check"
    },
    "/attachments-api/v2/accounts/{accountUid}/{type}/attachments/{attachmentUid}": {
      "get": {
        "summary": "Download binary attachment",
        "description": "Download attachment file",
        "tags": [
          "Attachments"
        ],
        "operationId": "downloadAttachment",
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "Attachment type",
            "schema": {
              "enum": [
                "jobs",
                "strings",
                "issues"
              ],
              "type": "string"
            }
          },
          {
            "name": "attachmentUid",
            "in": "path",
            "required": true,
            "description": "Attachment unique identifier.",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/attachments-api/v2/accounts/{accountUid}/{type}/{entityUid}": {
      "get": {
        "summary": "Get list of linked attachments",
        "description": "List of linked attachments with entity",
        "tags": [
          "Attachments"
        ],
        "operationId": "listAttachment",
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "Attachment type",
            "schema": {
              "enum": [
                "jobs",
                "strings",
                "issues"
              ],
              "type": "string"
            }
          },
          {
            "name": "entityUid",
            "in": "path",
            "required": true,
            "description": "Entity uid",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentListEntityResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "totalCount": 2,
                          "items": [
                            {
                              "attachmentUid": "1e2f4378324e",
                              "name": "my-attachment",
                              "description": "meta-for-my-attachment",
                              "createdDate": "2018-03-30T12:58:22Z",
                              "createdByUserUid": "5789003e276a",
                              "canDelete": false
                            },
                            {
                              "attachmentUid": "198eafe96267",
                              "name": "my-attachment",
                              "description": "meta-for-my-attachment",
                              "createdDate": "2018-03-30T12:58:22Z",
                              "createdByUserUid": "5789003e276a",
                              "canDelete": true
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/attachments-api/v2/accounts/{accountUid}/{type}/attachments": {
      "post": {
        "summary": "Upload binary attachment",
        "description": "Upload attachment file",
        "tags": [
          "Attachments"
        ],
        "operationId": "uploadAttachment",
        "parameters": [
          {
            "name": "accountUid",
            "in": "path",
            "required": true,
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "path",
            "required": true,
            "description": "Attachment type",
            "schema": {
              "enum": [
                "jobs",
                "strings",
                "issues"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The attachment file contents to upload."
                  },
                  "name": {
                    "type": "string",
                    "description": "Functional name of the file uploaded. This is not a unique identifier."
                  },
                  "entityUids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(Optional) The list of entity uids attachment will be linked with (max 100).",
                    "maxItems": 100
                  },
                  "description": {
                    "type": "string",
                    "description": "(Optional) Description of uploaded binary file."
                  }
                },
                "required": [
                  "file",
                  "name"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAttachmentResponse"
                },
                "examples": {
                  "response": {
                    "value": {
                      "response": {
                        "code": "SUCCESS",
                        "data": {
                          "attachmentUid": "1e2f4378324e",
                          "name": "my-attachment",
                          "description": "meta-for-my-attachment",
                          "createdDate": "2018-03-30T12:58:22Z",
                          "createdByUserUid": "5789003e276a"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error400ResponseDefinition"
          },
          "401": {
            "$ref": "#/components/responses/Error401ResponseDefinition"
          },
          "429": {
            "$ref": "#/components/responses/Error429ResponseDefinition"
          },
          "500": {
            "$ref": "#/components/responses/Error500ResponseDefinition"
          }
        }
      }
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/create_glossary"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/read_update_glossary"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/archive": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/bulk_archive"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/unarchive": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/bulk_restore"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/search": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/search_by_filter"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/search/count": {
      "$ref": "./spec/glossary_v3/glossary_endpoints.yaml#/x-paths/search_counts_by_filter"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/create_glossary_entry"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/{entryUid}": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/read_update_glossary_entry"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/search": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/search_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/archive": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/bulk_archive_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/unarchive": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/bulk_restore_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/add-labels": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/bulk_add_labels_to_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/remove-labels": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/bulk_remove_labels_from_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/delete": {
      "$ref": "./spec/glossary_v3/entries_endpoints.yaml#/x-paths/bulk_delete_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/download": {
      "$ref": "./spec/glossary_v3/ie_endpoints.yaml#/x-paths/export_entries"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/import": {
      "$ref": "./spec/glossary_v3/ie_endpoints.yaml#/x-paths/initialize_import"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/import/{importUid}": {
      "$ref": "./spec/glossary_v3/ie_endpoints.yaml#/x-paths/import_status"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/import/{importUid}/confirm": {
      "$ref": "./spec/glossary_v3/ie_endpoints.yaml#/x-paths/confirm_import"
    },
    "/glossary-api/v3/accounts/{accountUid}/glossaries/{glossaryUid}/entries/authorization": {
      "$ref": "./spec/glossary_v3/entries_authorize.yaml#/x-paths/authorize_for_translation"
    },
    "/glossary-api/v3/accounts/{accountUid}/labels": {
      "$ref": "./spec/glossary_v3/label_endpoints.yaml#/x-paths/read_create_labels"
    },
    "/glossary-api/v3/accounts/{accountUid}/labels/{labelUid}": {
      "$ref": "./spec/glossary_v3/label_endpoints.yaml#/x-paths/update_remove_label"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists": {
      "$ref": "./spec/glossary_v3/blocklist_endpoints.yaml#/x-paths/create_blocklist"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}": {
      "$ref": "./spec/glossary_v3/blocklist_endpoints.yaml#/x-paths/read_update_blocklist"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/archive": {
      "$ref": "./spec/glossary_v3/blocklist_endpoints.yaml#/x-paths/archive_blocklist"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/unarchive": {
      "$ref": "./spec/glossary_v3/blocklist_endpoints.yaml#/x-paths/restore_blocklist"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/search": {
      "$ref": "./spec/glossary_v3/blocklist_endpoints.yaml#/x-paths/blocklists_search_by_filter"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/terms": {
      "$ref": "./spec/glossary_v3/blocklist_terms_endpoints.yaml#/x-paths/create_blocklist_term"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/terms/{termUid}": {
      "$ref": "./spec/glossary_v3/blocklist_terms_endpoints.yaml#/x-paths/read_update_blocklist_term"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/terms/{termUid}/archive": {
      "$ref": "./spec/glossary_v3/blocklist_terms_endpoints.yaml#/x-paths/archive_blocklist_term"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/terms/{termUid}/unarchive": {
      "$ref": "./spec/glossary_v3/blocklist_terms_endpoints.yaml#/x-paths/restore_blocklist_term"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/terms/search": {
      "$ref": "./spec/glossary_v3/blocklist_terms_endpoints.yaml#/x-paths/search_blocklist_terms"
    },
    "/glossary-api/v3//accounts/{accountUid}/blocklists/{blocklistUid}/download": {
      "$ref": "./spec/glossary_v3/blocklist_ie_endpoints.yaml#/x-paths/blocklist_export_terms"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/import": {
      "$ref": "./spec/glossary_v3/blocklist_ie_endpoints.yaml#/x-paths/blocklist_initialize_import"
    },
    "/glossary-api/v3/accounts/{accountUid}/blocklists/{blocklistUid}/import/{importUid}": {
      "$ref": "./spec/glossary_v3/blocklist_ie_endpoints.yaml#/x-paths/blocklist_import_status"
    },
    "/glossary-api/v3/accounts/accounts/{accountUid}/blocklists/{blocklistUid}/import/{importUid}/confirm": {
      "$ref": "./spec/glossary_v3/blocklist_ie_endpoints.yaml#/x-paths/blocklist_confirm_import"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscriptions"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_details"
    },
    "/webhooks-api/v2/accounts/{accountUid}/available-event-types": {
      "$ref": "./spec/webhooks_api/webhooks_events.yaml#/x-paths/available_event_types"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/patch": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_patch"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/secret": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_secret"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/statistics": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_statistics"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/enable": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_enable"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/disable": {
      "$ref": "./spec/webhooks_api/webhooks_subscriptions.yaml#/x-paths/subscription_disable"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/events": {
      "$ref": "./spec/webhooks_api/webhooks_events.yaml#/x-paths/subscription_events"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/events/{eventId}": {
      "$ref": "./spec/webhooks_api/webhooks_events.yaml#/x-paths/event_details"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/events/{eventId}/attempts": {
      "$ref": "./spec/webhooks_api/webhooks_events.yaml#/x-paths/event_attempts"
    },
    "/webhooks-api/v2/accounts/{accountUid}/subscriptions/{subscriptionUid}/events/{eventId}/send": {
      "$ref": "./spec/webhooks_api/webhooks_events.yaml#/x-paths/event_resend"
    }
  },
  "components": {
    "requestBodies": {
      "TagsWithStrings": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "tags": {
                  "description": "List of tags. Maximum length is 128 characters.",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 100,
                  "minItems": 1,
                  "type": "array"
                },
                "stringHashcodes": {
                  "description": "List of string hashcodes",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 1000,
                  "type": "array"
                }
              },
              "required": [
                "tags",
                "stringHashcodes"
              ],
              "type": "object"
            }
          }
        },
        "required": true
      }
    },
    "schemas": {
      "LEADING_TRAILING_SPACES": {
        "$ref": "./spec/translation_quality/checks/leading_trailing_spaces.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "ORIGINAL_EQUALS_TARGET": {
        "$ref": "./spec/translation_quality/checks/original_equals_target.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "WHITESPACES": {
        "$ref": "./spec/translation_quality/checks/whitespaces.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "SPELLCHECK": {
        "$ref": "./spec/translation_quality/checks/spellcheck.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "TAG_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/tag_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "TARGET_LENGTH_LIMIT": {
        "$ref": "./spec/translation_quality/checks/target_length_limit.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "NUMBER_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/number_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "REPEATED_WORD": {
        "$ref": "./spec/translation_quality/checks/repeated_word.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "TARGET_IN_WRONG_LANGUAGE": {
        "$ref": "./spec/translation_quality/checks/target_in_wrong_language.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "SOURCE_IN_WRONG_LANGUAGE": {
        "$ref": "./spec/translation_quality/checks/source_in_wrong_language.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "SEGMENT_COMPLETENESS": {
        "$ref": "./spec/translation_quality/checks/segment_completeness.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "NON_TRANSLATABLE_TEXT": {
        "$ref": "./spec/translation_quality/checks/non_translatable_text.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "EMOJI_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/emoji_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "INSERTABLE_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/insertable_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "TARGET_SOURCE_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/target_source_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "BLACKLISTED_TERMS": {
        "$ref": "./spec/translation_quality/checks/blacklisted_terms.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "GLOSSARY_COMPLIANCE": {
        "$ref": "./spec/translation_quality/checks/glossary_compliance.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "TRADEMARK_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/trademark_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "GRAMMAR_CHECK": {
        "$ref": "./spec/translation_quality/checks/grammar_check.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "GLOBAL_CAPITALISATION_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/global_capitalisation_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "PUNCTUATION_CONSISTENCY": {
        "$ref": "./spec/translation_quality/checks/punctuation_consistency.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "PLURALS_REPETITION": {
        "$ref": "./spec/translation_quality/checks/plurals_repetition.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "OPEN_ISSUES": {
        "$ref": "./spec/translation_quality/checks/open_issues.yaml#/components/schemas/AccountCheckTypeEffectiveDTO"
      },
      "AccountAPIListProjectItem": {
        "example": {
          "accountUid": "ab5f1939",
          "archived": false,
          "projectId": "fd7244365",
          "projectName": "fd7244365",
          "projectTypeCode": "APPLICATION_RESOURCES",
          "sourceLocaleDescription": "English",
          "sourceLocaleId": "en-US"
        },
        "properties": {
          "accountUid": {
            "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "type": "string"
          },
          "archived": {
            "description": "Indicator whether or not the project has been archived. Archived projects are typically hidden from a user's view, but can still be accessible",
            "type": "boolean"
          },
          "projectId": {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "type": "string"
          },
          "projectName": {
            "description": "The name of the project. Names of projects are not guaranteed to be unique within an account.",
            "type": "string"
          },
          "projectTypeCode": {
            "description": "Indicator for the type of the project.",
            "type": "string"
          },
          "sourceLocaleDescription": {
            "description": "The full name of the sourceLocaleId",
            "type": "string"
          },
          "sourceLocaleId": {
            "description": "The locale identifier for the source locale of the project. This indicates the base locale for which content should be uploaded to the project.",
            "type": "string"
          }
        },
        "required": [
          "projectId",
          "projectName",
          "accountUid",
          "archived",
          "projectTypeCode",
          "sourceLocaleId",
          "sourceLocaleDescription"
        ],
        "type": "object"
      },
      "AccountAPIProjectListSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/AccountAPIListProjectItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "The number of projects that match your specified criteria",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "totalCount",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "AddFileJobRequest": {
        "description": "The payload to use when adding a file to a job.",
        "properties": {
          "fileUri": {
            "description": "The URI of the file that has been uploaded to Smartling. `fileUri` is required.",
            "type": "string"
          },
          "targetLocaleIds": {
            "description": "The array of `localeId`s that the file should be added to. If not specified, the file will be added to all locales. If specified, the file will only be added for the locales provided. If the locales were not already part of the job, then the job will be extended to contain the additional locales.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchTranslationJobByLocalesAndHashcodesRequest": {
        "description": "The payload to use when searching translation jobs by hashcodes and locales.",
        "properties": {
          "hashcodes": {
            "description": "The array of hashcodes to search a job containing given hashcodes. If empty, response will also be empty list.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "localeIds": {
            "description": "List of localeIds to search jobs associated with provided hashcodes and locales. If empty, search will be performed only by hashcodes.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "AddStringsJobRequest": {
        "description": "The payload to use when adding strings to a job.",
        "properties": {
          "hashcodes": {
            "description": "The array of hashcodes to use to add to the job. The hashcodes must exist within Smartling, for the project, in order to be added to a job. Hashcodes are required when adding strings to a job. Hashcodes are limited to 1000 per API call.",
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "type": "array"
          },
          "moveEnabled": {
            "default": false,
            "description": "(Optional), default is false. A string for a locale can only be in one job. If the string identified in the request is already in a job for a locale then it won't be added. However, `moveEnabled=true` can be specified, and in this case, the string will be moved into the specified job.",
            "type": "boolean"
          },
          "targetLocaleIds": {
            "description": "The array of `localeId`s that strings should be added to. If it's not specified, the strings will be added to all locales within that job. If it's specified, the strings will only be added for the locales provided. If the locales were not already part of the job, the job will be extended to contain the additional locales.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "AsyncAcceptedResponse": {
        "properties": {
          "code": {
            "enum": [
              "ACCEPTED"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "AsyncProcessResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Code of the completed operation.",
                "enum": [
                  "SUCCESS"
                ],
                "type": "string"
              },
              "data": {
                "properties": {
                  "processUid": {
                    "description": "Identifier of the started asynchronous process.",
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AsyncMatchResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Code of the completed operation.",
                "enum": [
                  "SUCCESS"
                ],
                "type": "string"
              },
              "data": {
                "properties": {
                  "processUid": {
                    "description": "Identifier of the started asynchronous process. Should be specified for getting matching stats.",
                    "format": "uuid",
                    "type": "string"
                  },
                  "matchId": {
                    "description": "Identifier of the started match operation. Should be specified for getting matching stats. Deprecated, use `processUid` property",
                    "format": "uuid",
                    "deprecated": true,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AsyncProcessResultResponse": {
        "properties": {
          "response": {
            "properties": {
              "processState": {
                "description": "State of the completed process.",
                "enum": [
                  "COMPLETED",
                  "IN_PROGRESS",
                  "FAILED"
                ],
                "type": "string"
              },
              "createdDate": {
                "format": "date-time",
                "type": "string"
              },
              "modifiedDate": {
                "format": "date-time",
                "type": "string"
              },
              "errorMessage": {
                "type": "string"
              },
              "processType": {
                "enum": [
                  "MATCH_CONTEXT",
                  "DELETE_CONTEXTS"
                ],
                "type": "string"
              },
              "result": {
                "description": "result if the response is COMPLETED. The content of the field is depends on `type` field",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/MatchAsyncResult"
                  },
                  {
                    "$ref": "#/components/schemas/DeleteContextsAsyncResult"
                  }
                ]
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "MatchAsyncResult": {
        "properties": {
          "bindings": {
            "items": {
              "$ref": "#/components/schemas/Binding"
            },
            "type": "array"
          },
          "contextUid": {
            "description": "Unique identifier for the context.",
            "type": "string"
          },
          "checkedStringsCount": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "DeleteContextsAsyncResult": {
        "description": "Empty object",
        "properties": {},
        "type": "object"
      },
      "AsyncMatchStatsResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Code of the completed operation.",
                "enum": [
                  "SUCCESS"
                ],
                "type": "string"
              },
              "data": {
                "properties": {
                  "bindings": {
                    "items": {
                      "$ref": "#/components/schemas/Binding"
                    },
                    "type": "array"
                  },
                  "createdDate": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "matchId": {
                    "description": "Identifier of the started match operation. Should be specified for getting matching stats.",
                    "format": "uuid",
                    "type": "string"
                  },
                  "modifiedDate": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "status": {
                    "enum": [
                      "IN_PROGRESS",
                      "COMPLETED",
                      "FAILED"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "AsyncProcessJobResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AsyncAcceptedResponse"
          },
          {
            "properties": {
              "data": {
                "properties": {
                  "message": {
                    "description": "User friendly string for the async response explaining the async action taking place.",
                    "type": "string"
                  },
                  "processUid": {
                    "description": "The unique identifier crated for the async process.",
                    "type": "string"
                  },
                  "url": {
                    "description": "The URL that a system can use to check the status of the async processing request.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "Authentication": {
        "properties": {
          "accessToken": {
            "description": "Contains the security credentials for a login session and identifies the user.",
            "type": "string"
          },
          "expiresIn": {
            "description": "TTL (time-to-live) in seconds for the access token.",
            "type": "integer"
          },
          "refreshExpiresIn": {
            "description": "TTL (time-to-live) in seconds for the refresh token.",
            "type": "integer"
          },
          "refreshToken": {
            "description": "A kind of token that can be used to obtain a renewed access token.",
            "type": "string"
          },
          "tokenType": {
            "description": "The access token type.",
            "enum": [
              "Bearer"
            ],
            "type": "string"
          }
        },
        "required": [
          "accessToken",
          "refreshToken"
        ],
        "type": "object"
      },
      "AuthenticationRefreshRequest": {
        "properties": {
          "refreshToken": {
            "description": "The refresh token returned from a previous authentication request.",
            "type": "string"
          }
        },
        "required": [
          "refreshToken"
        ],
        "type": "object"
      },
      "AuthenticationRequest": {
        "properties": {
          "userIdentifier": {
            "description": "Unique integer used to identify a user.",
            "example": "Qw**********",
            "type": "string"
          },
          "userSecret": {
            "description": "A personal code that identifies an authorized user of the API endpoint.",
            "example": "Zj**********",
            "type": "string"
          }
        },
        "required": [
          "userIdentifier",
          "userSecret"
        ],
        "type": "object"
      },
      "AuthenticationResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "$ref": "#/components/schemas/Authentication"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "AuthorizeJobItemRequest": {
        "description": "Indicates which workflow to authorize for a given locale.",
        "properties": {
          "targetLocaleId": {
            "description": "The locale identifier to use when indicating the locale to authorize content for. If `targetLocaleId` is specified, then `workflowUid` is required as well. Both can be omitted, and the default workflow for that locale will be used.",
            "type": "string"
          },
          "workflowUid": {
            "description": "The UID of the workflow to authorize content into.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AuthorizeJobRequest": {
        "properties": {
          "localeWorkflows": {
            "items": {
              "$ref": "#/components/schemas/AuthorizeJobItemRequest"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "AttachmentListEntityResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "description": "attachemnts",
                        "items": {
                          "$ref": "#/components/schemas/AttachmentResponseItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "total number of attachemnts",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "AttachmentResponseItem": {
        "properties": {
          "attachmentJobUid": {
            "description": "The unique identifier of the attachment.",
            "format": "uid",
            "type": "string"
          },
          "name": {
            "description": "The name of the attachemnt.",
            "type": "string"
          },
          "description": {
            "description": "The description of the attachment.",
            "type": "string"
          },
          "createdDate": {
            "description": "The UTC value of the date the attachemnt was uploaded.",
            "example": "2018-03-30T12:58:22Z",
            "format": "date-time",
            "type": "string"
          },
          "createdByUserUid": {
            "description": "The unique identifier of user whom upload attachment",
            "format": "uid",
            "example": "c297ff10f584",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreateAttachmentResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "attachmentUid": {
                        "description": "The unique identifier of the attachment.",
                        "format": "uid",
                        "type": "string"
                      },
                      "name": {
                        "description": "The name of the attachment.",
                        "type": "string"
                      },
                      "description": {
                        "description": "The description of the attachment.",
                        "type": "string"
                      },
                      "createdDate": {
                        "description": "The UTC value of the date the attachment was uploaded.",
                        "example": "2018-03-30T12:58:22Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "createdByUserUid": {
                        "description": "The unique identifier of user whom upload attachment.",
                        "format": "uid",
                        "example": "c297ff10f584",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "Binding": {
        "description": "String to context binding",
        "properties": {
          "anchors": {
            "description": "Wrapper HTML element anchor numbers",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "contextPosition": {
            "description": "Binding position in context",
            "type": "integer"
          },
          "bindingUid": {
            "description": "Unique identifier for the context binding.",
            "type": "string"
          },
          "contextUid": {
            "description": "Unique identifier for the context.",
            "type": "string"
          },
          "coordinates": {
            "$ref": "#/components/schemas/Coordinates"
          },
          "stringHashcode": {
            "description": "Unique identifier for the translatable.",
            "type": "string"
          },
          "timecode": {
            "$ref": "#/components/schemas/Timecode"
          }
        },
        "required": [
          "contextUid",
          "stringHashcode"
        ],
        "type": "object"
      },
      "BindingsRequest": {
        "properties": {
          "bindings": {
            "description": "List of strings-to-context bindings. List size is limited to 150 items.",
            "items": {
              "description": "Binding request",
              "properties": {
                "contextUid": {
                  "description": "Unique identifier for the context.",
                  "format": "uuid",
                  "type": "string"
                },
                "stringHashcode": {
                  "description": "Unique identifier for the translatable.",
                  "format": "hash",
                  "type": "string"
                },
                "coordinates": {
                  "$ref": "#/components/schemas/Coordinates"
                },
                "selector": {
                  "description": "Values for \"data-sl-anchor\" attributes of HTML elements.",
                  "properties": {
                    "anchors": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "timecode": {
                  "$ref": "#/components/schemas/Timecode"
                }
              },
              "required": [
                "contextUid",
                "stringHashcode"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "BindingsResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/Binding"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "BatchBindingsRequest": {
        "type": "object",
        "description": "Parameters for bindings search",
        "properties": {
          "stringHashcodes": {
            "description": "List of the hashcodes for the strings to get bindings for.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "contentFileUri": {
            "description": "Content file name to get bindings for.",
            "type": "string"
          },
          "contextUid": {
            "description": "ContextUID to get bindings for.",
            "format": "uuid",
            "type": "string"
          },
          "bindingUids": {
            "description": "List of unique binding identifiers.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        }
      },
      "DeleteBatchBindingsRequest": {
        "type": "object",
        "description": "Parameters for bindings to delete search",
        "properties": {
          "stringHashcodes": {
            "description": "List of the hashcodes for the strings to delete bindings for.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "contentFileUri": {
            "description": "Content file name to delete bindings for.",
            "type": "string"
          },
          "contextUid": {
            "description": "ContextUID to delete bindings for.",
            "format": "uuid",
            "type": "string"
          },
          "bindingUids": {
            "description": "Unique binding identifier to delete.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        }
      },
      "BindingListResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/Binding"
                        },
                        "type": "array"
                      },
                      "offset": {
                        "description": "Result set is partial, if not empty. To retreive everything, request should be repeated with offset value.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "CancelJobRequest": {
        "description": "The payload to use when cancelling a job.",
        "properties": {
          "reason": {
            "description": "Optional field that can be used to indicate the reason the job was cancelled.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContentProgressReportItemResponse": {
        "properties": {
          "targetLocaleDescription": {
            "type": "string"
          },
          "targetLocaleId": {
            "type": "string"
          },
          "unuathorizedProgressReport": {
            "$ref": "#/components/schemas/StringCountWordCountResponse"
          },
          "workflowProgressReportList": {
            "items": {
              "$ref": "#/components/schemas/WorkflowProgressReportItemResponse"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Context": {
        "description": "Basic information about the context.",
        "properties": {
          "contextType": {
            "description": "Type of context file. Currently, **HTML**, **IMAGE** or **VIDEO** types are supported.",
            "enum": [
              "IMAGE",
              "HTML",
              "VIDEO"
            ],
            "type": "string"
          },
          "contextUid": {
            "description": "Unique identifier for the context file",
            "type": "string"
          },
          "name": {
            "description": "File name for **IMAGE** context, URL for **HTML** Context and video URL for **VIDEO** context.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ContextListResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/Context"
                        },
                        "type": "array"
                      },
                      "offset": {
                        "description": "Result set is partial, if not empty. To retreive everything, request should be repeated with offset value.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "ContextResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Code of the completed operation.",
                "enum": [
                  "SUCCESS"
                ],
                "type": "string"
              },
              "data": {
                "description": "Basic information about the context.",
                "properties": {
                  "contextType": {
                    "description": "Type of context file.",
                    "enum": [
                      "IMAGE",
                      "HTML",
                      "VIDEO"
                    ],
                    "type": "string"
                  },
                  "contextUid": {
                    "description": "Unique identifier for the context.",
                    "type": "string"
                  },
                  "created": {
                    "description": "A date when the context was created. Format: ISO8601 date and time string",
                    "format": "date-time",
                    "type": "string"
                  },
                  "name": {
                    "description": "File name for IMAGE context, URL for HTML Context and video URL for VIDEO context.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Coordinates": {
        "description": "Describes the location and size of a box enclosing the string in a context image. ‘top’ and ‘left’ are the distances in pixels of the top left corner of the string (from the top left of the image). ‘width’ and ‘height’ are the dimensions of the string in pixels. This information is used to highlight the position of the string when displaying the context image in the translation interface (CAT tool). If coordinates are not provided, Smartling will attempt to locate the string on the image using Optical Character Recognition. If OCR fails, coordinates will default to 0, 0, 0, 0. This meaans that the image will be displayed when the string is translated, without any highlighting to show the position of the string.",
        "properties": {
          "height": {
            "type": "number"
          },
          "left": {
            "type": "number"
          },
          "top": {
            "type": "number"
          },
          "width": {
            "type": "number"
          }
        },
        "required": [
          "top",
          "left",
          "height",
          "width"
        ],
        "type": "object"
      },
      "CreateBindingsResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "created": {
                        "properties": {
                          "items": {
                            "items": {
                              "$ref": "#/components/schemas/Binding"
                            },
                            "type": "array"
                          },
                          "totalCount": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "items"
                        ],
                        "type": "object"
                      },
                      "errors": {
                        "properties": {
                          "items": {
                            "items": {
                              "properties": {
                                "message": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "message"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "totalCount": {
                            "type": "integer"
                          }
                        },
                        "required": [
                          "items"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "created"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "CreateJobRequest": {
        "description": "The payload to use when creating a job.",
        "properties": {
          "jobName": {
            "description": "The name of the job to create. It must be unique within the Smartling project. `jobName` is **required**.",
            "example": "This is my job name.",
            "maxLength": 170,
            "type": "string"
          },
          "targetLocaleIds": {
            "description": "The array of `localeId`s to be used when creating the job. The locales specified must be valid within the Smartling project.",
            "example": [
              "ru-RU"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "The description of the job. The description is limited to 8,000 characters.",
            "example": "This is my job description.",
            "type": "string"
          },
          "dueDate": {
            "description": "The date the job is requested to be completed by.",
            "example": "2020-11-21T01:51:17Z",
            "format": "date-time",
            "type": "string"
          },
          "referenceNumber": {
            "description": "Customer specific number/identifier for the job.",
            "example": "referenceNumb1",
            "type": "string"
          },
          "callbackUrl": {
            "description": "The URL for Smartling to invoke when the job is completed.",
            "maxLength": 8192,
            "example": "https://myDomain.com",
            "type": "string"
          },
          "callbackMethod": {
            "description": "The HTTP method to call (GET|POST) when invoking the `callbackUrl`.",
            "example": "GET",
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldBasicRequest"
            },
            "description": "Custom fields assigned to the project which job is created in. Validation on custom fields is done in scope of that request."
          }
        },
        "type": "object"
      },
      "CreateJobFuzzyReportRequest": {
        "description": "The payload to use when generating a job fuzzy report.",
        "properties": {
          "contentType": {
            "enum": [
              "TRANSLATION",
              "ALL_CONTENT",
              "CLAIMING",
              "UNAUTHORIZED"
            ],
            "type": "string",
            "default": "ALL_CONTENT"
          },
          "tags": {
            "example": [
              "tag1",
              "tag2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "localeWorkflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocaleWorkflowPairDTO"
            }
          },
          "fuzzyProfileUid": {
            "type": "string"
          },
          "localeWorkflowStepsFilter": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocaleWorkflowStepPairDTO"
            }
          }
        },
        "type": "object"
      },
      "LocaleWorkflowStepPairDTO": {
        "type": "object",
        "properties": {
          "workflowStepUid": {
            "type": "string",
            "description": "The uid of the workflow step.",
            "example": "8312172ed60d"
          },
          "targetLocaleId": {
            "description": "Smartling ID for the language you want to get translations for.",
            "type": "string",
            "example": "de-DE"
          }
        }
      },
      "LocaleWorkflowPairDTO": {
        "type": "object",
        "properties": {
          "workflowUid": {
            "type": "string",
            "description": "The uid of the workflow.",
            "example": "8312172ed60d"
          },
          "targetLocaleId": {
            "description": "Smartling ID for the language you want to get translations for.",
            "type": "string",
            "example": "de-DE"
          }
        }
      },
      "CreateJobCostReportRequest": {
        "description": "The payload to use when generating a job cost report.",
        "properties": {
          "contentType": {
            "enum": [
              "TRANSLATION",
              "ALL_CONTENT",
              "CLAIMING",
              "UNAUTHORIZED"
            ],
            "type": "string",
            "default": "ALL_CONTENT"
          },
          "tags": {
            "example": [
              "tag1",
              "tag2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "localeWorkflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocaleWorkflowPairDTO"
            }
          },
          "fuzzyProfileUid": {
            "type": "string"
          },
          "localeWorkflowStepsFilter": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocaleWorkflowStepPairDTO"
            }
          }
        },
        "type": "object"
      },
      "CustomFieldBasicRequest": {
        "type": "object",
        "properties": {
          "fieldUid": {
            "type": "string",
            "description": "Custom field unique identifier.",
            "example": "3rrwchzmjf24"
          },
          "fieldValue": {
            "type": "string",
            "description": "Custom field value.",
            "example": "Finance Dept"
          }
        }
      },
      "HashcodesByLocaleResponse": {
        "type": "object",
        "properties": {
          "localeId": {
            "description": "Smartling locale identifier.",
            "type": "string"
          },
          "hashcodes": {
            "description": "The array of hashcodes.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        }
      },
      "CustomFieldBasicResponse": {
        "type": "object",
        "properties": {
          "fieldUid": {
            "type": "string",
            "description": "Custom field unique identifier.",
            "example": "3rrwchzmjf24"
          },
          "fieldName": {
            "type": "string",
            "description": "Custom field name.",
            "example": "Department Name"
          },
          "fieldValue": {
            "type": "string",
            "description": "Custom field value.",
            "example": "Finance Dept"
          }
        }
      },
      "ContentSearchResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "searchStrings": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "array",
                    "description": "Array of string content with translations",
                    "items": {
                      "type": "object",
                      "properties": {
                        "source": {
                          "type": "object",
                          "properties": {
                            "hashcode": {
                              "type": "string",
                              "description": "Unique hash identifier for the source string",
                              "example": "0214054db2146bef256852cd0d27f936"
                            }
                          }
                        },
                        "translations": {
                          "type": "array",
                          "description": "Array of translations for the source string",
                          "items": {
                            "type": "object",
                            "properties": {
                              "translationForms": {
                                "type": "array",
                                "description": "Translation text variations (including plural forms)",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "translationText": {
                                      "type": "string",
                                      "description": "The translated text",
                                      "example": "El rápido zorro marrón salta sobre el perro perezoso."
                                    },
                                    "pluralForm": {
                                      "type": "string",
                                      "nullable": true,
                                      "description": "Plural form identifier if applicable",
                                      "example": "ONE"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  "totalCount": {
                    "type": "integer",
                    "description": "Total number of strings found",
                    "example": 198
                  },
                  "totalWordCount": {
                    "type": "integer",
                    "description": "Total word count",
                    "example": 644
                  },
                  "__typename": {
                    "type": "string",
                    "description": "GraphQL type name",
                    "example": "StringGroup"
                  }
                }
              }
            }
          }
        }
      },
      "CreateStringResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/CreatedString"
                        },
                        "type": "array"
                      },
                      "processUid": {
                        "description": "If the request takes longer than 60 seconds to process, a `202` response will be returned, indicating the request has not failed, but is not yet complete. Use the processUid value to check the status of the request using the Check Create String Status request.",
                        "type": "string"
                      },
                      "stringCount": {
                        "description": "Total number of strings captured as a result of the request.",
                        "type": "number"
                      },
                      "totalCount": {
                        "type": "number"
                      },
                      "wordCount": {
                        "description": "Total number of words captured as a result of the request.",
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "CreateStringStatusResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "createdDate": {
                        "description": "Total number of strings captured as a result of the request.",
                        "type": "string"
                      },
                      "modifiedDate": {
                        "description": "If the request takes longer than 60 seconds to process, a `202` response will be returned, indicating the request has not failed, but is not yet complete. Use the processUid value to check the status of the request using the Check Create String Status request.",
                        "type": "string"
                      },
                      "processState": {
                        "description": "State of the request",
                        "enum": [
                          "OPEN",
                          "CLOSED",
                          "FAILED"
                        ],
                        "type": "string"
                      },
                      "processStatistics": {
                        "description": "Information on the created or updated string",
                        "properties": {
                          "errored": {
                            "description": "strings that had errors",
                            "type": "string"
                          },
                          "processed": {
                            "description": "strings processed",
                            "type": "string"
                          },
                          "requested": {
                            "description": "strings requested",
                            "type": "string"
                          },
                          "skipped": {
                            "description": "strings skipped",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "processUid": {
                        "description": "Unique identifer for a create string request.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "CreatedString": {
        "description": "Information on the created or updated string",
        "properties": {
          "hashcode": {
            "description": "The generated unique idenitfier for this created or updated string.",
            "type": "string"
          },
          "overWritten": {
            "description": "Idenitfies if the string was already in the system.",
            "type": "string"
          },
          "parsedStringText": {
            "description": "The text for this string used to define its uniqueness in the Smartling system.  This is after placeholders have been processed and escaping normalization has been applied.",
            "type": "string"
          },
          "stringText": {
            "description": "The text for this string",
            "type": "string"
          },
          "variant": {
            "description": "String variant",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LocaleHashcodeResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "totalCount": {
                        "description": "Total amount of elements",
                        "type": "integer"
                      },
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "targetLocaleId": {
                              "type": "string",
                              "description": "The locale identidier.",
                              "example": "de-DE"
                            },
                            "hashcode": {
                              "description": "Unique identifier for the translatable.",
                              "format": "hash",
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "DetailedJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "callbackMethod": {
                        "description": "The http method (GET|POST) to use when Smartling invokes the callback URL upon job completion.",
                        "type": "string"
                      },
                      "callbackUrl": {
                        "description": "The callback URL to invoke when a job is completed.",
                        "type": "string"
                      },
                      "createdByUserUid": {
                        "description": "The userUid of whom created the job.",
                        "type": "string"
                      },
                      "createdDate": {
                        "description": "The UTC value of the date the job was created.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "description": {
                        "description": "The description of the job.",
                        "type": "string"
                      },
                      "dueDate": {
                        "description": "The UTC value of the due date for the job.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "firstCompletedDate": {
                        "description": "The UTC value of when the job was first completed.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "firstAuthorizedDate": {
                        "description": "The UTC value of when the job was first authorized.",
                        "example": "2015-01-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "jobName": {
                        "description": "The name of the job.",
                        "type": "string"
                      },
                      "jobNumber": {
                        "description": "The account level unique number of the job. Consist of unique short prefix and sequence number.",
                        "example": "SMTL-123",
                        "type": "string"
                      },
                      "priority": {
                        "description": "The account level unique integer value that shows the priority of the job compared to others.",
                        "example": 238,
                        "type": "integer"
                      },
                      "referenceNumber": {
                        "description": "Some text to reference job in external systems.",
                        "type": "string"
                      },
                      "jobStatus": {
                        "description": "The status of the job.",
                        "enum": [
                          "DRAFT",
                          "AWAITING_AUTHORIZATION",
                          "IN_PROGRESS",
                          "COMPLETED",
                          "CANCELLED",
                          "CLOSED",
                          "DELETED"
                        ],
                        "type": "string"
                      },
                      "lastCompletedDate": {
                        "description": "The UTC value of when the job was last completed.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "lastAuthorizedDate": {
                        "description": "The UTC value of when the job was last authorized.",
                        "example": "2015-12-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "modifiedByUserUid": {
                        "description": "The userUid of whom last modified the job.",
                        "type": "string"
                      },
                      "modifiedDate": {
                        "description": "The UTC value of the date the job was modified.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "sourceFiles": {
                        "description": "List of source files of the job. Limited to **300** unordered entries. To get all of the job files use [List files within job](/#operation/getJobFilesList) API",
                        "items": {
                          "$ref": "#/components/schemas/SourceFile"
                        },
                        "type": "array"
                      },
                      "targetLocaleIds": {
                        "description": "The array of localeIds for the job.",
                        "items": {
                          "example": "de-DE",
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "customFields": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/CustomFieldBasicResponse"
                        }
                      },
                      "translationJobUid": {
                        "description": "The unique identifier created for the job.",
                        "type": "string"
                      },
                      "issues": {
                        "$ref": "#/components/schemas/IssuesCount"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "JobFiledAddError423Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "VALIDATION_ERROR"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EmptyResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "description": "Always null.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "key": {
            "example": "general_error",
            "type": "string"
          },
          "message": {
            "example": "Unexpected server error",
            "type": "string"
          },
          "details": {
            "example": {},
            "type": "object"
          }
        },
        "required": [
          "key",
          "message"
        ]
      },
      "Error400Response": {
        "type": "object",
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "VALIDATION_ERROR"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ]
      },
      "Error401Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "AUTHENTICATION_ERROR",
                  "AUTHORIZATION_ERROR"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "Error404Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "NOT_FOUND_ERROR"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "Error423Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "RESOURCE_LOCKED"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "Error429Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "MAX_OPERATIONS_LIMIT_EXCEEDED"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "Error500Response": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "GENERAL_ERROR",
                  "MAINTENANCE_MODE_ERROR"
                ],
                "type": "string"
              },
              "errors": {
                "items": {
                  "$ref": "#/components/schemas/Error"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "errors"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EstimateJobReportResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "GENERAL_ERROR",
                  "MAINTENANCE_MODE_ERROR"
                ],
                "type": "string"
              },
              "data": {
                "items": {
                  "$ref": "#/components/schemas/EstimateJobReport"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "data"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EstimateJobReport": {
        "type": "object",
        "properties": {
          "reportUid": {
            "type": "string"
          },
          "schemaType": {
            "type": "string"
          },
          "reportType": {
            "type": "string"
          },
          "schema": {
            "type": "string"
          },
          "reportStatus": {
            "type": "string"
          },
          "totalStrings": {
            "type": "integer"
          },
          "projectId": {
            "type": "string"
          },
          "creatorUserUid": {
            "type": "string"
          },
          "creatorUserRole": {
            "type": "string"
          },
          "contentCoverage": {
            "type": "string"
          },
          "creatorAgencyUid": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "YYYY-MM-DDThh:mm:ssZ"
          },
          "totalWordCount": {
            "type": "string"
          },
          "totalWeightedWordCount": {
            "type": "integer"
          },
          "priceInformation": {
            "type": "string"
          },
          "localeEstimates": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EstimateJobGenericReportResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "GENERAL_ERROR",
                  "MAINTENANCE_MODE_ERROR"
                ],
                "type": "string"
              },
              "data": {
                "items": {
                  "$ref": "#/components/schemas/EstimateJobGenericReport"
                },
                "type": "array"
              }
            },
            "required": [
              "code",
              "data"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EstimateJobGenericReport": {
        "type": "object",
        "properties": {
          "reportUid": {
            "type": "string"
          },
          "reportType": {
            "type": "string"
          },
          "reportStatus": {
            "type": "string"
          }
        }
      },
      "EstimateJobReportStatusResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "GENERAL_ERROR",
                  "MAINTENANCE_MODE_ERROR"
                ],
                "type": "string"
              },
              "data": {
                "$ref": "#/components/schemas/EstimateJobReportStatus"
              }
            },
            "required": [
              "code",
              "data"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EstimateJobReportStatus": {
        "type": "object",
        "properties": {
          "reportUid": {
            "type": "string"
          },
          "reportType": {
            "type": "string"
          },
          "reportStatus": {
            "type": "string"
          },
          "totalStrings": {
            "type": "integer"
          },
          "percentComplete": {
            "type": "integer"
          },
          "createdDate": {
            "type": "string",
            "format": "YYYY-MM-DDThh:mm:ssZ"
          }
        }
      },
      "EstimateJobReportTagsResponse": {
        "properties": {
          "response": {
            "properties": {
              "code": {
                "description": "Indicates whether the response was successful or what error has occured.",
                "enum": [
                  "GENERAL_ERROR",
                  "MAINTENANCE_MODE_ERROR"
                ],
                "type": "string"
              },
              "data": {
                "$ref": "#/components/schemas/EstimateJobReportTags"
              }
            },
            "required": [
              "code",
              "data"
            ],
            "type": "object"
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "EstimateJobReportTags": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "FileType": {
        "type": "string",
        "description": "A unique identifier for the file type.",
        "enum": [
          "android",
          "csv",
          "doc",
          "docx",
          "gettext",
          "html",
          "idml",
          "ios",
          "java_properties",
          "json",
          "madcap",
          "markdown",
          "plain_text",
          "ppt",
          "pptx",
          "pres",
          "qt",
          "resx",
          "srt",
          "stringsdict",
          "xls",
          "xlsx",
          "xlsxTemplate",
          "xliff",
          "xml",
          "yaml"
        ]
      },
      "ImportTranslationsFileType": {
        "type": "string",
        "description": "A unique identifier for the file type.",
        "enum": [
          "android",
          "arb",
          "csv",
          "gettext",
          "ios",
          "stringsdict",
          "java_properties",
          "json",
          "qt",
          "resx",
          "srt",
          "vtt",
          "xml",
          "yaml"
        ]
      },
      "TranslationJobFile": {
        "properties": {
          "data": {
            "properties": {
              "uri": {
                "description": "File uri",
                "type": "string"
              },
              "localeIds": {
                "description": "List of locale ids",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "fileUid": {
                "description": "File uid",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "FilesAPILastModifiedAllLocalesSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/FilesAPILastModifiedResponseItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "totalCount",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPILastModifiedResponseItem": {
        "properties": {
          "lastModified": {
            "description": "The date the file was last modified for the specified locale",
            "format": "YYYY-MM-DDThh:mm:ssZ",
            "type": "string"
          },
          "localeId": {
            "description": "A unique identifier for the uploaded file",
            "type": "string"
          }
        },
        "required": [
          "localeId",
          "lastModified"
        ],
        "type": "object"
      },
      "FilesAPILastModifiedSingleLocaleSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "$ref": "#/components/schemas/FilesAPILastModifiedResponseItem"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPIListFileItem": {
        "example": {
          "created": "2016-12-31T00:00:00Z",
          "fileType": "json",
          "fileUri": "file.json",
          "hasInstructions": false,
          "lastUploaded": "2016-01-01T00:00:00Z"
        },
        "properties": {
          "created": {
            "description": "The time and date of the first upload",
            "format": "YYYY-MM-DDThh:mm:ssZ",
            "type": "string"
          },
          "fileType": {
            "$ref": "#/components/schemas/FileType"
          },
          "fileUri": {
            "description": "A unique identifier for the uploaded file",
            "type": "string"
          },
          "hasInstructions": {
            "description": "Whether translator instructions have been captured for the file.",
            "type": "boolean"
          },
          "lastUploaded": {
            "description": "The time and date of the last upload",
            "format": "YYYY-MM-DDThh:mm:ssZ",
            "type": "string"
          }
        },
        "required": [
          "fileUri",
          "created",
          "lastUploaded",
          "fileType",
          "hasInstructions"
        ],
        "type": "object"
      },
      "FilesAPIListFileTypesSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/FileType"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ],
            "example": {
              "application/json": {
                "response": {
                  "code": "SUCCESS",
                  "data": {
                    "items": {
                      "anyOf": [
                        "android",
                        "ios",
                        "gettext"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      },
      "FilesAPIListFilesSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/FilesAPIListFileItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "The number of files that match your specified criteria",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "totalCount",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPIStatusAllLocalesItem": {
        "properties": {
          "authorizedStringCount": {
            "description": "The number of strings in the uploaded file that are authorized (available for translation)",
            "type": "integer"
          },
          "authorizedWordCount": {
            "description": "The number of words in the uploaded file that are authorized (available for translation)",
            "type": "integer"
          },
          "completedStringCount": {
            "description": "The number of published strings in the uploaded file",
            "type": "integer"
          },
          "completedWordCount": {
            "description": "The number of published words in the uploaded file",
            "type": "integer"
          },
          "excludedStringCount": {
            "description": "The number of excluded strings in the uploaded file",
            "type": "integer"
          },
          "excludedWordCount": {
            "description": "The number of excluded words in the uploaded file",
            "type": "integer"
          },
          "localeId": {
            "type": "string"
          }
        },
        "required": [
          "localeId",
          "authorizedStringCount",
          "authorizedWordCount",
          "completedStringCount",
          "completedWordCount",
          "excludedStringCount",
          "excludedWordCount"
        ],
        "type": "object"
      },
      "FilesAPIStatusAllLocalesSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "created": {
                        "description": "The time and date of the first upload",
                        "format": "YYYY-MM-DDThh:mm:ssZ",
                        "type": "string"
                      },
                      "fileType": {
                        "$ref": "#/components/schemas/FileType"
                      },
                      "fileUri": {
                        "description": "A unique identifier for the uploaded file",
                        "type": "string"
                      },
                      "hasInstructions": {
                        "description": "Whether translator instructions have been captured for the file",
                        "type": "boolean"
                      },
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/FilesAPIStatusAllLocalesItem"
                        },
                        "type": "array"
                      },
                      "lastUploaded": {
                        "description": "The time and date of the last upload",
                        "format": "YYYY-MM-DDThh:mm:ssZ",
                        "type": "string"
                      },
                      "parserVersion": {
                        "description": "Records the version of Smartling's File Parser used to parse the file",
                        "type": "integer"
                      },
                      "totalCount": {
                        "description": "Total number of locales status is returned for",
                        "type": "integer"
                      },
                      "totalStringCount": {
                        "description": "The number of strings in the uploaded file, minus any excluded content",
                        "type": "integer"
                      },
                      "totalPageCount": {
                        "description": "The number of pages in the uploaded file",
                        "type": "integer"
                      },
                      "pageCountStatus": {
                        "description": "Represents the current state of the page count field. Possible values:\n  - NOT_AVAILABLE_UNSUPPORTED - The file type does not support pages.\n  - PROCESSING - The page count is currently being calculated.\n  - AVAILABLE - The page count has been successfully computed.\n  - NOT_AVAILABLE_LEGACY - The file was uploaded using an older parser version that does not support page counting.\n  - NOT_AVAILABLE_PROCESSING_FAILED - The attempt to calculate the page count has failed.",
                        "type": "string",
                        "enum": [
                          "NOT_AVAILABLE_UNSUPPORTED",
                          "PROCESSING",
                          "AVAILABLE",
                          "NOT_AVAILABLE_LEGACY",
                          "NOT_AVAILABLE_PROCESSING_FAILED"
                        ]
                      },
                      "totalWordCount": {
                        "description": "The number of words in the uploaded file, minus any excluded content",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "fileUri",
                      "totalStringCount",
                      "totalWordCount",
                      "fileType",
                      "lastUploaded",
                      "totalCount",
                      "parserVersion",
                      "hasInstructions",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPIStatusSingleLocaleSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "authorizedStringCount": {
                        "description": "The number of strings in the uploaded file that are authorized (available for translation)",
                        "type": "integer"
                      },
                      "authorizedWordCount": {
                        "description": "The number of words in the uploaded file that are authorized (available for translation)",
                        "type": "integer"
                      },
                      "completedStringCount": {
                        "description": "The number of published strings in the uploaded file",
                        "type": "integer"
                      },
                      "completedWordCount": {
                        "description": "The number of published words in the uploaded file",
                        "type": "integer"
                      },
                      "created": {
                        "description": "The time and date of the first upload",
                        "format": "YYYY-MM-DDThh:mm:ssZ",
                        "type": "string"
                      },
                      "excludedStringCount": {
                        "description": "The number of excluded strings in the uploaded file",
                        "type": "integer"
                      },
                      "excludedWordCount": {
                        "description": "The number of excluded words in the uploaded file",
                        "type": "integer"
                      },
                      "fileType": {
                        "$ref": "#/components/schemas/FileType"
                      },
                      "fileUri": {
                        "description": "A unique identifier for the uploaded file",
                        "type": "string"
                      },
                      "hasInstructions": {
                        "description": "Whether translator instructions have been captured for the file",
                        "type": "integer"
                      },
                      "lastUploaded": {
                        "description": "The time and date of the last upload",
                        "format": "YYYY-MM-DDThh:mm:ssZ",
                        "type": "string"
                      },
                      "parserVersion": {
                        "description": "Records the version of Smartling's File Parser used to parse the file",
                        "type": "integer"
                      },
                      "totalStringCount": {
                        "description": "The number of strings in the uploaded file, minus any excluded content",
                        "type": "integer"
                      },
                      "totalPageCount": {
                        "description": "The number of pages in the uploaded file",
                        "type": "integer"
                      },
                      "pageCountStatus": {
                        "description": "Represents the current state of the page count field. Possible values:\n  - NOT_AVAILABLE_UNSUPPORTED - The file type does not support pages.\n  - PROCESSING - The page count is currently being calculated.\n  - AVAILABLE - The page count has been successfully computed.\n  - NOT_AVAILABLE_LEGACY - The file was uploaded using an older parser version that does not support page counting.\n  - NOT_AVAILABLE_PROCESSING_FAILED - The attempt to calculate the page count has failed.",
                        "type": "string",
                        "enum": [
                          "NOT_AVAILABLE_UNSUPPORTED",
                          "PROCESSING",
                          "AVAILABLE",
                          "NOT_AVAILABLE_LEGACY",
                          "NOT_AVAILABLE_PROCESSING_FAILED"
                        ]
                      },
                      "totalWordCount": {
                        "description": "The number of words in the uploaded file, minus any excluded content",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "fileUri",
                      "totalStringCount",
                      "totalWordCount",
                      "authorizedStringCount",
                      "authorizedWordCount",
                      "completedStringCount",
                      "completedWordCount",
                      "excludedStringCount",
                      "excludedWordCount",
                      "fileType",
                      "lastUploaded",
                      "created",
                      "parserVersion",
                      "hasInstructions"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPITranslationImportSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "stringCount": {
                        "description": "Strings imported",
                        "type": "integer"
                      },
                      "translationImportErrors": {
                        "items": {
                          "$ref": "#/components/schemas/FilesApiTranslationImportErrorItem"
                        },
                        "type": "array"
                      },
                      "wordCount": {
                        "description": "Words imported.",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "wordCount",
                      "stringCount",
                      "translationImportErrors"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesAPIUploadAcceptedResponse": {
        "properties": {
          "code": {
            "enum": [
              "ACCEPTED"
            ],
            "type": "string"
          },
          "data": {
            "properties": {
              "message": {
                "type": "string"
              }
            },
            "required": [
              "message"
            ],
            "type": "object"
          }
        },
        "required": [
          "code",
          "data"
        ],
        "type": "object"
      },
      "FilesAPIUploadSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "overWritten": {
                        "description": "Indicates whether the uploaded file has overwritten an existing file.",
                        "type": "boolean"
                      },
                      "stringCount": {
                        "description": "The number of strings in the uploaded file",
                        "type": "integer"
                      },
                      "wordCount": {
                        "description": "The number of words in the uploaded file",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "overWritten",
                      "stringCount",
                      "wordCount"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "FilesApiTranslationImportErrorItem": {
        "properties": {
          "fileUri": {
            "description": "A unique identifier for the uploaded file",
            "type": "string"
          },
          "importKey": {
            "description": "Key for an imported string affected by the error",
            "type": "string"
          },
          "messages": {
            "description": "Information about an import error",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "stringHashcode": {
            "description": "The hashcode of a string affected by the error",
            "type": "string"
          }
        },
        "required": [
          "importKey",
          "stringHashcode",
          "fileUri",
          "messages"
        ],
        "type": "object"
      },
      "PublishedFilesAPIRecentlyPublishedFilesSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "$ref": "#/components/schemas/PublishedFilesAPIRecentlyPublishedFilesResponseItem"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "PublishedFilesAPIRecentlyPublishedFilesResponseItem": {
        "properties": {
          "fileUri": {
            "description": "The URI of the file that was published",
            "type": "string"
          },
          "publishDate": {
            "description": "The date the file was published for the specified locale",
            "format": "YYYY-MM-DDThh:mm:ssZ",
            "type": "string"
          },
          "localeId": {
            "description": "Identifier for a locale",
            "type": "string"
          }
        },
        "required": [
          "fileUri",
          "localeId",
          "publishDate"
        ],
        "type": "object"
      },
      "GetProjectTagsResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/TagInfo"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "GetAccountTagsResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/AccountTagInfo"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "GetStringsTagsResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "tags": {
                              "items": {
                                "$ref": "#/components/schemas/TagInfo"
                              },
                              "type": "array"
                            },
                            "stringHashcode": {
                              "example": "stringHashcode",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "example": 1,
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "MTTranslateRequest": {
        "properties": {
          "sourceLocaleId": {
            "type": "string",
            "description": "Locale ID of the original text",
            "example": "en-US"
          },
          "targetLocaleId": {
            "type": "string",
            "description": "Locale ID of the requested translation",
            "example": "de-DE"
          },
          "profileUid": {
            "type": "string",
            "description": "Optional Profile UID to use for translation. Will override the default/preconfigured in the settings profile.",
            "example": "29f3ee25-7eaf-472e-9e26-550d512931cb"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/MTTranslateItemRequest"
            },
            "type": "array",
            "maxItems": 1000
          }
        },
        "required": [
          "sourceLocaleId",
          "targetLocaleId",
          "items"
        ],
        "type": "object"
      },
      "MTTranslateItemRequest": {
        "properties": {
          "key": {
            "description": "A unique identifier to match results in the response",
            "example": "my-key-1",
            "type": "string",
            "maxLength": 255
          },
          "sourceText": {
            "description": "The text to translate",
            "example": "Text to translate",
            "type": "string",
            "maxLength": "64kb"
          }
        },
        "required": [
          "key",
          "sourceText"
        ],
        "type": "object"
      },
      "MTTranslateResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/MTTranslateItemResponse"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "MTTranslateItemResponse": {
        "properties": {
          "key": {
            "description": "A unique identifier from the request",
            "example": "my-key-1",
            "type": "string"
          },
          "translationText": {
            "description": "Translated text. Empty if error is present",
            "example": "Text zum Übersetzen",
            "type": "string"
          },
          "mtUid": {
            "description": "Translation unique identifier",
            "example": "m91o03gnvzuh",
            "type": "string"
          },
          "provider": {
            "description": "Provider used for translation",
            "example": "AUTO_SELECT_PROVIDER",
            "type": "string"
          },
          "error": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "Error key of the error",
                "example": "PROVIDER_UNAUTHORIZED"
              },
              "code": {
                "type": "string",
                "description": "Error code of the error",
                "example": "invalid.credentials"
              },
              "message": {
                "type": "string",
                "description": "Error code detailed message",
                "example": "Invalid API Key."
              }
            }
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "DetectLanguageRequest": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/DetectLanguageItemRequest"
            },
            "type": "array",
            "maxItems": 100
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "DetectLanguageItemRequest": {
        "properties": {
          "uid": {
            "description": "A unique identifier of requested text",
            "example": "uid-1",
            "type": "string"
          },
          "text": {
            "description": "The input text for language detection",
            "example": "Test text",
            "type": "string"
          }
        },
        "required": [
          "uid",
          "text"
        ],
        "type": "object"
      },
      "DetectLanguageResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "totalCount": {
                        "description": "total number of items",
                        "type": "integer"
                      },
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/DetectLanguageItemResponse"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "DetectLanguageItemResponse": {
        "properties": {
          "uid": {
            "description": "A unique identifier of requested text",
            "example": "uid-1",
            "type": "string"
          },
          "languages": {
            "description": "List of detected languageIds",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetectLanguageItemInfoResponse"
            }
          }
        },
        "type": "object"
      },
      "DetectLanguageItemInfoResponse": {
        "properties": {
          "languageId": {
            "description": "A identifier of detected language",
            "example": "en",
            "type": "string"
          },
          "probability": {
            "description": "A probability of detected language",
            "example": "0.33",
            "type": "string"
          },
          "localeIds": {
            "description": "Possible localeIds for such language",
            "type": "array",
            "example": [
              "en-US",
              "en-GB"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "JobLocalesCompletionDate": {
        "properties": {
          "data": {
            "properties": {
              "completionDate": {
                "description": "The UTC value of when the locale was last completed.",
                "example": "2015-11-21T01:51:17.000Z",
                "format": "date-time",
                "type": "string"
              },
              "targetLocaleId": {
                "description": "The locale identidier.",
                "example": "de-DE",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "JobSchedule": {
        "properties": {
          "data": {
            "properties": {
              "scheduleUid": {
                "description": "schedule universal identifier.",
                "example": "ngahq6dgh4ed",
                "format": "uuid",
                "type": "string"
              },
              "workflowStepUid": {
                "description": "workflow step universal identifier.",
                "example": "568cd2bae16f",
                "format": "uuid",
                "type": "string"
              },
              "dueDate": {
                "description": "due date in milliseconds format.",
                "example": "2020-11-21T01:51:17Z",
                "format": "date-time",
                "type": "string"
              },
              "targetLocaleId": {
                "description": "The locale identidier.",
                "example": "de-DE",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "CustomFields": {
        "properties": {
          "data": {
            "properties": {
              "fieldUid": {
                "description": "custom field universal identifier.",
                "example": "ngahq6dgh4ed",
                "format": "uuid",
                "type": "string"
              },
              "type": {
                "description": "custom field type.",
                "example": "SHORT_TEXT | LONG_TEXT | SELECTBOX | CHECKBOX",
                "type": "string"
              },
              "fieldName": {
                "description": "custom field name.",
                "example": "field-name",
                "type": "boolean"
              },
              "enabled": {
                "description": "is custom field enabled.",
                "example": true,
                "type": "boolean"
              },
              "required": {
                "description": "is custom field required during job creation.",
                "example": true,
                "type": "boolean"
              },
              "searchable": {
                "description": "can search be performed by the custom field.",
                "example": true,
                "type": "boolean"
              },
              "displayToTranslators": {
                "description": "is displayed to translators.",
                "example": true,
                "type": "boolean"
              },
              "options": {
                "items": {
                  "example": [
                    "option1",
                    "option2"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "defaultValue": {
                "description": "default value for custom field.",
                "example": "default field value",
                "type": "string"
              },
              "description": {
                "description": "custom field description.",
                "example": "Custom field example",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "CustomFieldAssignmentList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CustomFieldAssignment"
        }
      },
      "CustomFieldAssignment": {
        "type": "object",
        "properties": {
          "fieldUid": {
            "description": "Custom field unique identifier.",
            "example": "ngahq6dgh4ed"
          }
        }
      },
      "CreateCustomField": {
        "properties": {
          "type": {
            "description": "custom field type.",
            "example": "SHORT_TEXT | LONG_TEXT | SELECTBOX | CHECKBOX",
            "type": "string"
          },
          "fieldName": {
            "description": "custom field name.",
            "example": "field-name",
            "type": "boolean"
          },
          "enabled": {
            "description": "is custom field enabled.",
            "example": true,
            "type": "boolean"
          },
          "required": {
            "description": "is custom field required during job creation.",
            "example": true,
            "type": "boolean"
          },
          "searchable": {
            "description": "can search be performed by the custom field.",
            "example": true,
            "type": "boolean"
          },
          "displayToTranslators": {
            "description": "is displayed to translators.",
            "example": true,
            "type": "boolean"
          },
          "options": {
            "items": {
              "example": [
                "option1",
                "option2"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "defaultValue": {
            "description": "default value for custom field.",
            "example": "default field value",
            "type": "string"
          },
          "description": {
            "description": "custom field description.",
            "example": "Custom field example",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateCustomField": {
        "properties": {
          "fieldName": {
            "description": "custom field name.",
            "example": "field-name",
            "type": "boolean"
          },
          "enabled": {
            "description": "is custom field enabled.",
            "example": true,
            "type": "boolean"
          },
          "required": {
            "description": "is custom field required during job creation.",
            "example": true,
            "type": "boolean"
          },
          "searchable": {
            "description": "can search be performed by the custom field.",
            "example": true,
            "type": "boolean"
          },
          "displayToTranslators": {
            "description": "is displayed to translators.",
            "example": true,
            "type": "boolean"
          },
          "options": {
            "items": {
              "example": [
                "option1",
                "option2"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "defaultValue": {
            "description": "default value for custom field.",
            "example": "default field value",
            "type": "string"
          },
          "description": {
            "description": "custom field description.",
            "example": "Custom field example",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListFilesResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/TranslationJobFile"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "ListJobLocalesCompletionDatesResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/JobLocalesCompletionDate"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "AccountListJobsResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/AccountListJobsResponseItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "AccountListJobsResponseItem": {
        "properties": {
          "createdDate": {
            "description": "The UTC value of the date the job was created.",
            "example": "2015-11-21T01:51:17.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "The description of the job.",
            "type": "string"
          },
          "dueDate": {
            "description": "The UTC value of the due date for the job.",
            "example": "2015-11-21T01:51:17.000Z",
            "format": "date-time",
            "type": "string"
          },
          "jobName": {
            "description": "The name of the job.",
            "type": "string"
          },
          "jobNumber": {
            "description": "The account level unique number of the job. Consist of unique short prefix and sequence number.",
            "example": "SMTL-123",
            "type": "string"
          },
          "jobStatus": {
            "description": "The status of the job",
            "example": "DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED | DELETED",
            "type": "string"
          },
          "priority": {
            "description": "Priority order in account. Strats from 1 and can be null.",
            "example": 2,
            "type": "integer"
          },
          "projectId": {
            "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
            "example": "fd7244365",
            "type": "string"
          },
          "referenceNumber": {
            "description": "Customer specific number/identifier for the job.",
            "example": "CustomerReferenceNum1",
            "type": "string"
          },
          "targetLocaleIds": {
            "description": "The array of localeIds for the job.",
            "items": {
              "example": "de-DE",
              "type": "string"
            },
            "type": "array"
          },
          "translationJobUid": {
            "description": "The unique identifier of the job.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListJobsResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/ListJobsResponseItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "ListJobsResponseItem": {
        "properties": {
          "createdDate": {
            "description": "The UTC value of the date the job was created.",
            "example": "2015-11-21T01:51:17.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "The description of the job.",
            "type": "string"
          },
          "dueDate": {
            "description": "The UTC value of the due date for the job.",
            "example": "2015-11-21T01:51:17.000Z",
            "format": "date-time",
            "type": "string"
          },
          "jobName": {
            "description": "The name of the job.",
            "type": "string"
          },
          "jobNumber": {
            "description": "The account level unique number of the job. Consist of unique short prefix and sequence number.",
            "example": "SMTL-123",
            "type": "string"
          },
          "jobStatus": {
            "description": "The status of the job",
            "example": "DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED",
            "type": "string"
          },
          "targetLocaleIds": {
            "description": "The array of localeIds for the job.",
            "items": {
              "example": "de-DE",
              "type": "string"
            },
            "type": "array"
          },
          "translationJobUid": {
            "description": "The unique identifier of the job.",
            "type": "string"
          },
          "referenceNumber": {
            "description": "Customer specific number/identifier for the job.",
            "example": "CustomerReferenceNum1",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LocaleApiItem": {
        "example": {
          "country": {
            "countryId": "US",
            "description": "United States"
          },
          "description": "English (United States)",
          "language": {
            "description": "English",
            "direction": "LTR",
            "languageId": "en",
            "wordDelimiter": "SPACE"
          },
          "localeId": "en-US",
          "direction": "RTL"
        },
        "properties": {
          "country": {
            "description": "The country that makes up the locale. Not all locales have a country specified.",
            "properties": {
              "countryId": {
                "description": "The identifier of the country.",
                "type": "string"
              },
              "description": {
                "description": "The name of the country.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "description": {
            "description": "The name of the locale.",
            "type": "string"
          },
          "mtSupported": {
            "description": "Smartling MT Hub can translate into this locale.",
            "type": "boolean"
          },
          "language": {
            "description": "The language that makes up the locale. All locales have a language.",
            "properties": {
              "description": {
                "description": "The name of the language.",
                "type": "string"
              },
              "direction": {
                "enum": [
                  "LTR",
                  "RTL"
                ],
                "type": "string"
              },
              "languageId": {
                "description": "The identifier of the language.",
                "type": "string"
              },
              "wordDelimiter": {
                "enum": [
                  "SPACE",
                  "CHARACTER"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "direction": {
            "enum": [
              "RTL",
              "LTR"
            ],
            "type": "string"
          },
          "localeId": {
            "description": "The identifier for the locale. Locales are defined as a unique combination of language and country pairs.",
            "type": "string"
          }
        },
        "required": [
          "localeId",
          "description",
          "language",
          "mtSupported"
        ],
        "type": "object"
      },
      "LocalesAPISuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/LocaleApiItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "The total number of locales matching the request",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "totalCount",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "MatchParams": {
        "type": "object",
        "description": "*Uncollapse this block to get the detailed description of `matchParams`.*\n<br/><br/>\nIf none of `stringHashcodes`, `contentFileUri`, `translationJobUids` are specified, **all strings from the project** will be included in the match.\n<br/>\nIf `overrideContextOlderThanDays` is not specified, **strings with context will not be bound to this context**.",
        "properties": {
          "contentFileUri": {
            "description": "File URI containing strings to perform matching with the context: <br/> Example: `\"contentFileUri\": \"example.properties\"` <br/> Can't be used along with the `stringHashcodes` or `translationJobUids` parameter.",
            "type": "string"
          },
          "stringHashcodes": {
            "description": "An array of string hashcodes to perform matching with the context: <br/> Example: `\"stringHashcodes\": [\"hashcode1\", \"hashcode2\"]` <br/> Can't be used along with the `contentFileUri` or `translationJobUids` parameter.",
            "items": {
              "format": "hash",
              "type": "string"
            },
            "type": "array"
          },
          "translationJobUids": {
            "description": "A translation job UID to perform matching with the context. Only one UID can be specified: <br/> Example: `\"translationJobUids\": [\"translationJobUid\"]` <br/> Can't be used along with the `contentFileUri` or `stringHashcodes` parameter.",
            "items": {
              "format": "hash",
              "type": "string"
            },
            "type": "array"
          },
          "overrideContextOlderThanDays": {
            "description": "Specifies whether to override context for strings that were already bound to other context, and that context is at least as \"overrideContextOlderThanDays\" old.",
            "minimum": 1,
            "type": "integer"
          },
          "videoMatchingMode": {
            "description": "Specifies the behavior of string matching for video contexts.\n\n| videoMatchingMode | Description |\n|----------------------|-------------|\n| `SUBTITLES` | In this mode you should provide the property `contentFileUri` that points to the subtitles content file. Strings will be bound by the subtitle's timestamps. |\n| `OCR_WITH_SPLITTING` | Detects key frames and checks each frame for text using OCR. If string matches, an image context is created for that frame. Frames without matches and the original video are deleted. |\n| `OCR` | Detects key frames and checks each frame for text using OCR. If string matches, we bind the string to the original video using the key frame's timestamp and text coordinates. |\n",
            "enum": [
              "SUBTITLES",
              "OCR_WITH_SPLITTING",
              "OCR"
            ],
            "type": "string"
          }
        }
      },
      "DeleteContextsRequest": {
        "properties": {
          "contextUids": {
            "description": "List of contexts UIDs to delete. List size is limited to 100 items.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "ModifyJobReportTagsRequest": {
        "description": "The payload to modify job estimation report tags.",
        "properties": {
          "tags": {
            "example": [
              "tag1",
              "tag2"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "type": "object"
      },
      "NullDataJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "data": {
                        "type": "object"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "ProcessCheckJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "createdDate": {
                        "description": "The UTC value of when the process was created.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "modifiedDate": {
                        "description": "The UTC value of when the process was last modified.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "processState": {
                        "description": "The current state of the process. Values returned are IN_PROGRESS | COMPLETED | FAILED.",
                        "type": "string"
                      },
                      "processUid": {
                        "description": "The unique identifier for a process.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "ProgressInfoResponse": {
        "properties": {
          "percentComplete": {
            "description": "The percent of group (locale/file/job) completeness, 0 - 100.",
            "example": 52,
            "type": "number"
          },
          "totalWordCount": {
            "description": "The total number of words within that particular group (locale/file/job).",
            "example": 192,
            "type": "number"
          }
        },
        "type": "object"
      },
      "ProgressResponse": {
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "contentProgressReport": {
                        "items": {
                          "$ref": "#/components/schemas/ContentProgressReportItemResponse"
                        },
                        "type": "array"
                      },
                      "progress": {
                        "$ref": "#/components/schemas/ProgressInfoResponse"
                      },
                      "summaryReport": {
                        "items": {
                          "$ref": "#/components/schemas/WorkflowStepClassWordCount"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ],
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "response"
        ],
        "type": "object"
      },
      "ProjectCopyProcessSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "createdDate": {
                        "format": "date-time",
                        "type": "string"
                      },
                      "modifiedDate": {
                        "format": "date-time",
                        "type": "string"
                      },
                      "newProjectUid": {
                        "description": "A unique identifier for the newly created project. This is available once the project copying has finished, which is indicated once it has a processState of CLOSED.",
                        "type": "string"
                      },
                      "processState": {
                        "description": "The status of the copy request. The new projectId will be available once the state is marked as CLOSED.",
                        "enum": [
                          "OPEN",
                          "CLOSED",
                          "FAILED"
                        ],
                        "type": "string"
                      },
                      "processStatistics": {
                        "description": "Information on the copying of the project",
                        "properties": {
                          "errored": {
                            "description": "The number of entities that failed to copy",
                            "type": "string"
                          },
                          "processed": {
                            "description": "The number of entities processed successfully",
                            "type": "string"
                          },
                          "requested": {
                            "description": "The number of entities being copied",
                            "type": "string"
                          },
                          "skipped": {
                            "description": "The number of entities that were skipped",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "processUid": {
                        "description": "A unique identifier for a long running process",
                        "type": "string"
                      }
                    },
                    "required": [
                      "processUid",
                      "newProjectUid",
                      "processState",
                      "createdDate",
                      "modifiedDate",
                      "processStatistics"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "ProjectCopySuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "processUid": {
                        "description": "A unique identifier for a long running process",
                        "type": "string"
                      }
                    },
                    "required": [
                      "processUid"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "ProjectDetailsLocaleItem": {
        "example": {
          "description": "Russian (Russia)",
          "enabled": "true",
          "localeId": "ru-RU"
        },
        "properties": {
          "description": {
            "description": "The name of the locale.",
            "type": "string"
          },
          "enabled": {
            "description": "Boolean indicator of the locale is enabled for the project.",
            "type": "boolean"
          },
          "localeId": {
            "description": "The identifier for the specific locale configured for the project.",
            "type": "string"
          }
        },
        "required": [
          "localeId",
          "description",
          "enabled"
        ],
        "type": "object"
      },
      "ProjectDetailsSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "example": {
                      "accountUid": "ab5f1939",
                      "archived": false,
                      "projectId": "fd7244365",
                      "projectName": "fd7244365",
                      "projectTypeCode": "APPLICATION_RESOURCES",
                      "sourceLocaleDescription": "English",
                      "sourceLocaleId": "en-US"
                    },
                    "properties": {
                      "accountUid": {
                        "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
                        "type": "string"
                      },
                      "archived": {
                        "description": "Indicator whether or not the project has been archived. Archived projects are typically hidden from a user's view, but can still be accessible",
                        "type": "boolean"
                      },
                      "projectId": {
                        "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
                        "type": "string"
                      },
                      "projectName": {
                        "description": "The name of the project.",
                        "type": "string"
                      },
                      "projectTypeCode": {
                        "description": "Indicator for the type of the project.",
                        "type": "string"
                      },
                      "sourceLocaleDescription": {
                        "description": "The full name of the sourceLocaleId",
                        "type": "string"
                      },
                      "sourceLocaleId": {
                        "description": "The locale identifier for the source locale of the project. This indicates the base locale for which content should be uploaded to the project.",
                        "type": "string"
                      },
                      "targetLocales": {
                        "description": "The locales configured for translation for this project.",
                        "items": {
                          "$ref": "#/components/schemas/ProjectDetailsLocaleItem"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "projectId",
                      "projectName",
                      "accountUid",
                      "archived",
                      "projectTypeCode",
                      "sourceLocaleId",
                      "sourceLocaleDescription",
                      "targetLocales"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "RemoveFileJobRequest": {
        "description": "The payload to use when removing a file from a job.",
        "properties": {
          "fileUri": {
            "description": "The URI of the file that is to be removed from the job.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AddLocaleJobRequest": {
        "description": "The payload to use when add a locale to a job.",
        "properties": {
          "syncContent": {
            "description": "When a new locale is being added to a job, by default all content in the job will be added to the job for the new locale. If set to false, then no content will be added to the job, and only a locale placeholder will be added to the job.",
            "type": "boolean",
            "default": true
          }
        },
        "type": "object"
      },
      "JobScheduleEditCommand": {
        "description": "The payload to use modifying translation job schedule.",
        "properties": {
          "schedules": {
            "description": "Array of translation job schedule edit items.",
            "items": {
              "$ref": "#/components/schemas/JobScheduleEditItemCommand"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "JobScheduleEditItemCommand": {
        "properties": {
          "workflowStepUid": {
            "description": "workflow step universal identifier.",
            "format": "uuid",
            "example": "568cd2bae16f",
            "type": "string"
          },
          "dueDate": {
            "description": "due date in milliseconds format.",
            "example": "2020-11-21T01:51:17Z",
            "format": "date-time",
            "type": "string"
          },
          "targetLocaleId": {
            "description": "The locale identidier.",
            "example": "ru-RU",
            "type": "string"
          }
        },
        "required": [
          "targetLocaleId",
          "workflowStepUid",
          "dueDate"
        ],
        "type": "object"
      },
      "RemoveStringsJobRequest": {
        "description": "The payload to use when removing strings from a job.",
        "properties": {
          "hashcodes": {
            "description": "The hashcodes (string identifiers) that should be removed from the job.",
            "items": {
              "example": [
                "ca51a04da69cf64dce022bb4f146c962"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "localeIds": {
            "description": "(Optional) The array of `localeId`s that the strings should be removed from. If not specified, the strings will be removed from all locales within that job.",
            "items": {
              "example": [
                "ru-RU"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchJobRequest": {
        "description": "The payload to use for searching for jobs. At least one of hashcodes, fileUris, and translationJobUids must be specified. The individual param results are AND'd together.",
        "properties": {
          "fileUris": {
            "description": "(Optional) The `fileUri`s (file identifiers) used to search for jobs. Any job containing the specified `fileUri` will be returned.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "hashcodes": {
            "description": "(Optional) The hashcodes (string identifiers) used to search for jobs. Any job containing specified hashcodes will be returned.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "translationJobUids": {
            "description": "(Optional) The `translationJobUid`s (translation job identifiers) used to search for jobs. Any job containing the specified `fileUri` will be returned.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ShallowJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "callbackMethod": {
                        "description": "The http method (GET|POST) to use when Smartling invokes the callback URL upon job completion.",
                        "type": "string"
                      },
                      "callbackUrl": {
                        "description": "The callback URL to invoke when a job is completed.",
                        "type": "string"
                      },
                      "createdByUserUid": {
                        "description": "The userUid of who created the job.",
                        "type": "string"
                      },
                      "createdDate": {
                        "description": "The UTC value of the date the job was created.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "description": {
                        "description": "The description of the job.",
                        "type": "string"
                      },
                      "dueDate": {
                        "description": "The UTC value of the due date for the job.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "firstCompletedDate": {
                        "description": "The UTC value of when the job was first completed.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "firstAuthorizedDate": {
                        "description": "The UTC value of when the job was first authorized.",
                        "example": "2015-01-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "jobName": {
                        "description": "The name of the job.",
                        "type": "string"
                      },
                      "jobNumber": {
                        "description": "The account level unique number of the job. Consist of unique short prefix and sequence number.",
                        "example": "SMTL-123",
                        "type": "string"
                      },
                      "jobStatus": {
                        "description": "The status of the job.",
                        "example": "DRAFT | AWAITING_AUTHORIZATION | IN_PROGRESS | COMPLETED | CANCELLED | CLOSED",
                        "type": "string"
                      },
                      "lastCompletedDate": {
                        "description": "The UTC value of when the job was last completed.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "lastAuthorizedDate": {
                        "description": "The UTC value of when the job was last authorized.",
                        "example": "2015-12-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "modifiedByUserUid": {
                        "description": "The userUid of who last modified the job.",
                        "type": "string"
                      },
                      "modifiedDate": {
                        "description": "The UTC value of the date the job was modified.",
                        "example": "2015-11-21T01:51:17.000Z",
                        "format": "date-time",
                        "type": "string"
                      },
                      "targetLocaleIds": {
                        "description": "The array of localeIds for the job.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "customFields": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/CustomFieldBasicResponse"
                        }
                      },
                      "translationJobUid": {
                        "description": "The unique identifier for the job.",
                        "type": "string"
                      },
                      "referenceNumber": {
                        "description": "Customer specific number/identifier for the job.",
                        "example": "CustomerReferenceNum1",
                        "type": "string"
                      },
                      "issues": {
                        "$ref": "#/components/schemas/IssuesCount"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "SourceFile": {
        "properties": {
          "data": {
            "properties": {
              "name": {
                "description": "File name",
                "type": "string"
              },
              "uri": {
                "description": "File uri",
                "type": "string"
              },
              "fileUid": {
                "description": "File uid",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "StringCountWordCountResponse": {
        "properties": {
          "stringCount": {
            "description": "The total number of strings within that particular step.",
            "type": "number"
          },
          "wordCount": {
            "description": "The total number of words within that particular step.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "StringInfo": {
        "description": "Information on string",
        "properties": {
          "hashcode": {
            "description": "The generated unique idenitfier for this created or updated string.",
            "type": "string"
          },
          "keys": {
            "description": "If this string is associated with one or more resource files this is a list of the associated resource keys.",
            "items": {
              "properties": {
                "fileUri": {
                  "description": "resource key",
                  "type": "string"
                },
                "key": {
                  "description": "fileUri of the key",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "parsedStringText": {
            "description": "The text for this string used to define its uniqueness in the Smartling system.  This is after placeholders have been processed and escaping normalization has been applied.",
            "type": "string"
          },
          "stringText": {
            "description": "The text for this string",
            "type": "string"
          },
          "stringVariant": {
            "description": "String variant",
            "type": "string"
          },
          "maxLength": {
            "description": "Maximum character length",
            "type": "number"
          },
          "stringInstructions": {
            "description": "String instructions that were added to the string in the Dashboard.",
            "items": {
              "description": "The text of the instruction.",
              "type": "string"
            },
            "type": "array"
          },
          "contentFileStringInstructions": {
            "description": "String instructions that were included in the uploaded file if any.",
            "items": {
              "properties": {
                "fileUri": {
                  "description": "URI of the file that contained the instruction.",
                  "type": "string"
                },
                "contentFileStringInstruction": {
                  "description": "The text of the instruction.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "StringResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/StringInfo"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "SuccessFailCountJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "failCount": {
                        "description": "The number of strings per locale that were not successfully processed.",
                        "type": "integer"
                      },
                      "successCount": {
                        "description": "The number of strings per locale that were successfully processed.",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "SearchTranslationJobByLocalesAndHashcodesResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "totalCount": {
                        "description": "Total count",
                        "type": "number"
                      },
                      "items": {
                        "type": "array",
                        "items": {
                          "properties": {
                            "translationJobUid": {
                              "description": "The UID of the translationJob",
                              "format": "uid",
                              "type": "string"
                            },
                            "jobName": {
                              "description": "Name of the translation job",
                              "type": "string"
                            },
                            "dueDate": {
                              "description": "The date by which the job is requested to be completed.",
                              "example": "2020-11-21T01:51:17Z",
                              "format": "date-time",
                              "type": "string"
                            },
                            "hashcodesByLocale": {
                              "type": "array",
                              "items": {
                                "$ref": "#/components/schemas/HashcodesByLocaleResponse"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      },
      "AddContentSuccessFailCountJobResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "failCount": {
                        "description": "The number of strings per locale that could not be added to the job. As for now the only reason of failure is that strings are already in another job.",
                        "type": "integer"
                      },
                      "successCount": {
                        "description": "The number of strings per locale added to the job.",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "SuccessResponse": {
        "properties": {
          "code": {
            "description": "Indicates whether the response was successful or what error has occured.",
            "enum": [
              "SUCCESS"
            ],
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "TagInfo": {
        "properties": {
          "tag": {
            "description": "Tag text",
            "example": "SomeTag",
            "type": "string"
          }
        },
        "required": [
          "tag"
        ],
        "type": "object"
      },
      "AccountTagInfo": {
        "properties": {
          "projectId": {
            "description": "Project identifier",
            "example": "ewr33dssd",
            "type": "string"
          },
          "tag": {
            "description": "Tag text",
            "example": "SomeTag",
            "type": "string"
          }
        },
        "required": [
          "tag"
        ]
      },
      "IssuesCount": {
        "properties": {
          "sourceIssuesCount": {
            "description": "Source inssues count.",
            "type": "integer"
          },
          "translationIssuesCount": {
            "description": "Translation inssues count.",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Timecode": {
        "description": "Number of seconds for the period of time that a string appears in a video, relative to the video start time.",
        "properties": {
          "endTime": {
            "format": "int64",
            "type": "integer"
          },
          "startTime": {
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Translation": {
        "description": "Information on a translation",
        "properties": {
          "hashcode": {
            "description": "The generated unique idenitfier for this created or updated string.",
            "type": "string"
          },
          "keys": {
            "description": "If this string is associated with one or more resource files this is a list of the associated resource keys.",
            "items": {
              "properties": {
                "fileUri": {
                  "description": "resource key",
                  "type": "string"
                },
                "key": {
                  "description": "fileUri of the key",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "parsedStringText": {
            "description": "The text for this string used to define its uniqueness in the Smartling system.  This is after placeholders have been processed and escaping normalization has been applied.",
            "type": "string"
          },
          "stringText": {
            "description": "The text for this string.",
            "type": "string"
          },
          "targetLocaleId": {
            "description": "Locale ID of this translation",
            "type": "string"
          },
          "translations": {
            "items": {
              "properties": {
                "modifiedDate": {
                  "description": "When this translation was last modified.",
                  "type": "string"
                },
                "pluralForm": {
                  "description": "Pural form of the translation.  `null` if this translation is not a plural.",
                  "type": "string"
                },
                "translation": {
                  "description": "Translation text",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "stringVariant": {
            "description": "String variant",
            "type": "string"
          },
          "workflowStepUid": {
            "description": "Current workflow step for this translation",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TranslationResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/Translation"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "UpdateJobRequest": {
        "description": "The payload to use when updating a job.",
        "properties": {
          "jobName": {
            "description": "The name of the job. It must be unique within the Smartling project. `jobName` is **required**.",
            "maxLength": 170,
            "type": "string"
          },
          "description": {
            "description": "The description of the job.",
            "type": "string"
          },
          "dueDate": {
            "description": "The date by which the job is requested to be completed.",
            "example": "2020-11-21T01:51:17Z",
            "format": "date-time",
            "type": "string"
          },
          "referenceNumber": {
            "description": "Customer specific number/identifier for the job.",
            "example": "CustomerReferenceNum1",
            "type": "string"
          },
          "callbackUrl": {
            "description": "The URL for Smartling to invoke when the job is completed.",
            "maxLength": 8192,
            "example": "https://myDomain.com",
            "type": "string"
          },
          "callbackMethod": {
            "description": "The HTTP method to call (GET|POST) when invoking the `callbackUrl`.",
            "example": "GET",
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldBasicRequest"
            }
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItem": {
        "properties": {
          "agencyName": {
            "type": "string"
          },
          "agencyUid": {
            "type": "string"
          }
        },
        "required": [
          "agencyUid",
          "agencyName"
        ],
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItemProgressDetailsItem": {
        "properties": {
          "aggregatedPerWorkflow": {
            "properties": {
              "workflows": {
                "items": {
                  "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItem"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItem": {
        "properties": {
          "targetLocales": {
            "items": {
              "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItemTargetLocalesItem"
            },
            "type": "array"
          },
          "workflowName": {
            "type": "string"
          },
          "workflowUid": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItemTargetLocalesItem": {
        "properties": {
          "issues": {
            "properties": {
              "totalIssuesCount": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "localeId": {
            "type": "string"
          },
          "workflowSteps": {
            "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItemTargetLocalesItemWorkflowStepsItem"
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItemProgressDetailsItemWorkflowsItemTargetLocalesItemWorkflowStepsItem": {
        "properties": {
          "unassignedWordCount": {
            "type": "integer"
          },
          "wordCount": {
            "type": "integer"
          },
          "workflowStepName": {
            "type": "string"
          },
          "workflowStepOrder": {
            "description": "A workflow step position in workflow",
            "type": "integer"
          },
          "workflowStepUid": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListAgencyItemTranslationJobItem": {
        "properties": {
          "translationJobAuthorizedDate": {
            "format": "date-time",
            "type": "string"
          },
          "translationJobDueDate": {
            "format": "date-time",
            "type": "string"
          },
          "translationJobName": {
            "type": "string"
          },
          "translationJobRisk": {
            "properties": {
              "status": {
                "enum": [
                  "AT_RISK",
                  "ON_TRACK",
                  "LATE"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "translationJobUid": {
            "type": "string"
          },
          "translationJobCustomFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomFieldBasicResponse"
            }
          }
        },
        "type": "object"
      },
      "VendorsAPIJobsListSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "agency": {
                        "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItem"
                      },
                      "lastUpdatedDate": {
                        "description": "Date when data for the API response was last refreshed.",
                        "format": "date-time",
                        "type": "string"
                      },
                      "translationJobs": {
                        "items": {
                          "$ref": "#/components/schemas/VendorsAPIJobsListTranslationJobItem"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "lastUpdatedDate",
                      "agency",
                      "translationJobs"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "VendorsAPIJobsListTranslationJobItem": {
        "properties": {
          "account": {
            "properties": {
              "accountName": {
                "type": "string"
              },
              "accountUid": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "progressDetails": {
            "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItemProgressDetailsItem"
          },
          "project": {
            "properties": {
              "projectId": {
                "type": "string"
              },
              "projectName": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "translationJob": {
            "$ref": "#/components/schemas/VendorsAPIJobsListAgencyItemTranslationJobItem"
          }
        },
        "required": [
          "account",
          "project",
          "progressDetails",
          "translationJob"
        ],
        "type": "object"
      },
      "VendorsAPIContentAssignmentsSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/VendorsAPIContentAssignmentItem"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "VendorsAPIContentAssignmentItem": {
        "properties": {
          "accountUid": {
            "type": "string"
          },
          "accountName": {
            "type": "string"
          },
          "projectUid": {
            "type": "string"
          },
          "projectName": {
            "type": "string"
          },
          "localeId": {
            "type": "string"
          },
          "workflowUid": {
            "type": "string"
          },
          "workflowName": {
            "type": "string"
          },
          "workflowStepUid": {
            "type": "string"
          },
          "workflowStepName": {
            "type": "string"
          },
          "workflowStepType": {
            "type": "string"
          },
          "translationJobUid": {
            "type": "string"
          },
          "translationJobName": {
            "type": "string"
          },
          "translationJobWorkflowStepDueDate": {
            "format": "date-time",
            "type": "string"
          },
          "translationJobOverallDueDate": {
            "format": "date-time",
            "type": "string"
          },
          "userUid": {
            "type": "string",
            "nullable": true
          },
          "userFirstName": {
            "type": "string",
            "nullable": true
          },
          "userLastName": {
            "type": "string",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "nullable": true
          },
          "agencyUid": {
            "type": "string",
            "nullable": true
          },
          "agencyName": {
            "type": "string",
            "nullable": true
          },
          "wordCount": {
            "type": "integer"
          },
          "workflowStepOrder": {
            "type": "integer"
          },
          "assignmentEnabled": {
            "type": "boolean"
          }
        },
        "required": [
          "accountUid",
          "accountName",
          "projectUid",
          "projectName",
          "localeId",
          "workflowUid",
          "workflowName",
          "workflowStepUid",
          "workflowStepName",
          "workflowStepType",
          "translationJobUid",
          "translationJobName",
          "wordCount",
          "workflowStepOrder",
          "assignmentEnabled"
        ],
        "type": "object"
      },
      "WebPageDetailListRequest": {
        "properties": {
          "webPageUids": {
            "description": "list of url identifiers",
            "example": [
              "4423d44",
              "123jd44"
            ],
            "items": {
              "type": "string"
            },
            "maximum": 200,
            "minimum": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "WebPageDetailListResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "details": {
                              "properties": {
                                "contextUids": {
                                  "description": "context identifiers",
                                  "example": [
                                    "122ssasa323",
                                    "334asds3434"
                                  ],
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "created": {
                                  "description": "capture url date",
                                  "example": "2015-11-21T01:51:17Z",
                                  "type": "string"
                                },
                                "stringCount": {
                                  "description": "string count",
                                  "example": 10,
                                  "type": "integer"
                                },
                                "wordCount": {
                                  "description": "word count",
                                  "example": 25,
                                  "type": "integer"
                                }
                              },
                              "type": "object"
                            },
                            "domain": {
                              "description": "domain",
                              "properties": {
                                "name": {
                                  "description": "url domain name",
                                  "example": "my.domain.com",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "urlPath": {
                              "description": "Url path",
                              "type": "string"
                            },
                            "webPageUid": {
                              "description": "url identifier",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "Total element count",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "WebPageDetailsResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "details": {
                        "properties": {
                          "contextUids": {
                            "description": "context identifiers",
                            "example": [
                              "122ssasa323",
                              "334asds3434"
                            ],
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "created": {
                            "description": "capture url date",
                            "example": "2015-11-21T01:51:17Z",
                            "type": "string"
                          },
                          "stringCount": {
                            "description": "string count",
                            "example": 10,
                            "type": "integer"
                          },
                          "wordCount": {
                            "description": "word count",
                            "example": 25,
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "domain": {
                        "description": "domain",
                        "properties": {
                          "name": {
                            "description": "url domain name",
                            "example": "my.domain.com",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "urlPath": {
                        "description": "Url path",
                        "type": "string"
                      },
                      "webPageUid": {
                        "description": "url identifier",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "WebPageDomainsResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "name": {
                              "description": "url domain name",
                              "example": "my.domain.com",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "Total element count",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "WebPageListRequest": {
        "properties": {
          "domainName": {
            "description": "domain name",
            "example": "my.domain.com",
            "type": "string"
          },
          "limit": {
            "default": 100,
            "description": "limit",
            "example": 30,
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "localeIds": {
            "example": [
              "ru-RU"
            ],
            "items": {
              "description": "An identifying code for a language in Smartling.",
              "type": "string"
            },
            "type": "array"
          },
          "offset": {
            "default": 0,
            "description": "offset",
            "example": 0,
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "orderBy": {
            "description": "Sort result by fields",
            "example": [
              "DOMAIN",
              "URL_PATH"
            ],
            "properties": {
              "items": {
                "items": {
                  "properties": {
                    "direction": {
                      "description": "Sort direction",
                      "enum": [
                        "DOMAIN",
                        "URL_PATH"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "orderDirection": {
            "default": "ASC",
            "description": "Sort direction",
            "enum": [
              "ASC",
              "DESC"
            ],
            "example": "ASC",
            "type": "string"
          },
          "urlCaptureDateAfter": {
            "description": "The date after which the URL was captured.",
            "example": "2020-11-21T01:51:17Z",
            "format": "date-time",
            "type": "string"
          },
          "urlCaptureDateBefore": {
            "description": "The date by which the URL was captured.",
            "example": "2020-11-21T01:51:17Z",
            "format": "date-time",
            "type": "string"
          },
          "urlPath": {
            "description": "url",
            "example": "/home/page.htm",
            "type": "string"
          },
          "urlPathExactMatch": {
            "description": "Should or should not apply exact match.",
            "example": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "WebPageListResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "created": {
                              "description": "url capture date",
                              "type": "string"
                            },
                            "domain": {
                              "description": "domain",
                              "properties": {
                                "name": {
                                  "description": "url domain name",
                                  "example": "my.domain.com",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "urlPath": {
                              "description": "Watcher name",
                              "type": "string"
                            },
                            "webPageUid": {
                              "description": "url identifier",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "Total element count",
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "WordCountResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "accountName": {
                              "description": "Name of the account",
                              "type": "string"
                            },
                            "accountUid": {
                              "description": "The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
                              "type": "string"
                            },
                            "agencyName": {
                              "description": "Name of the agency that was credited for the words",
                              "type": "string"
                            },
                            "agencyUid": {
                              "description": "The unique identifier of the agency that was credited for the words",
                              "type": "string"
                            },
                            "fuzzyProfileName": {
                              "description": "Name of the fuzzy match profile used",
                              "type": "string"
                            },
                            "fuzzyTier": {
                              "description": "Fuzzy match tier that matches fuzzy score of the processed words",
                              "type": "string"
                            },
                            "jobName": {
                              "description": "Name of the translation job",
                              "type": "string"
                            },
                            "jobUid": {
                              "description": "The unique identifier of the translation job",
                              "type": "string"
                            },
                            "projectId": {
                              "description": "A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.",
                              "type": "string"
                            },
                            "projectName": {
                              "description": "Name of the project",
                              "type": "string"
                            },
                            "targetLocaleId": {
                              "description": "Locale ID of the translations",
                              "type": "string"
                            },
                            "targetLocaleName": {
                              "description": "Name of the locale of the translations",
                              "type": "string"
                            },
                            "translationResourceName": {
                              "description": "Name of the translation resource who was credited for the words",
                              "type": "string"
                            },
                            "translationResourceUid": {
                              "description": "The unique identifier of the translation resource who was credited for the words",
                              "type": "string"
                            },
                            "weightedWordCount": {
                              "description": "The number of weighted words processed by a translation resource",
                              "type": "integer"
                            },
                            "wordCount": {
                              "description": "The number of words processed by a translation resource",
                              "type": "integer"
                            },
                            "characterCount": {
                              "description": "The number of characters processed by a translation resource",
                              "type": "integer"
                            },
                            "workflowStepType": {
                              "description": "Type of the workflow step (Translation, Edit, Review) the words transitioned through",
                              "type": "string"
                            },
                            "workflowStepUid": {
                              "description": "Unique identifier of the workflow step the words transitioned through",
                              "type": "string"
                            },
                            "workflowStepName": {
                              "description": "Name of the workflow step the words transitioned through",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "resultsTruncated": {
                        "description": "The flag showing whether all qualified records returned by the response.",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        },
        "description": "A list of report records"
      },
      "WorkflowProgressReportItemResponse": {
        "properties": {
          "workflowName": {
            "description": "The name of the workflow.",
            "type": "string"
          },
          "workflowStepSummaryReportItemList": {
            "items": {
              "$ref": "#/components/schemas/WorkflowStepSummaryReportItemResponse"
            },
            "type": "array"
          },
          "workflowUid": {
            "description": "The uid of the workflow.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "WorkflowStepSummaryReportItemResponse": {
        "properties": {
          "stringCount": {
            "description": "The total number of strings within that particular step.",
            "type": "number"
          },
          "wordCount": {
            "description": "The total number of words within that particular step.",
            "type": "number"
          },
          "workflowStepName": {
            "description": "The name of the workflow step.",
            "type": "string"
          },
          "workflowStepType": {
            "description": "The type of the step.",
            "type": "string"
          },
          "workflowStepUid": {
            "description": "The uid of the workflow step.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "WorkflowStepClassWordCount": {
        "properties": {
          "workflowStepType": {
            "description": "The type of the step.",
            "type": "string"
          },
          "stringCount": {
            "description": "The total number of strings within step type.",
            "type": "number"
          },
          "wordCount": {
            "description": "The total number of words within step type.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "UserInfoApiItem": {
        "properties": {
          "userUid": {
            "description": "User identifier.",
            "type": "string"
          },
          "firstName": {
            "description": "User first name.",
            "type": "string"
          },
          "lastName": {
            "description": "User last name.",
            "type": "string"
          },
          "profileImage": {
            "description": "User's profile url.",
            "type": "string"
          }
        },
        "required": [
          "userUid",
          "firstName",
          "lastName"
        ],
        "type": "object"
      },
      "PeopleAPIUserInfosSuccessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "items": {
                        "items": {
                          "$ref": "#/components/schemas/UserInfoApiItem"
                        },
                        "type": "array"
                      },
                      "totalCount": {
                        "description": "The total number of users matching the request",
                        "type": "integer"
                      }
                    },
                    "required": [
                      "totalCount",
                      "items"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "WorkflowAssignmentProcessResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "processUid": {
                        "type": "string"
                      },
                      "processState": {
                        "enum": [
                          "RUNNING",
                          "COMPLETED",
                          "FAILED"
                        ],
                        "type": "string",
                        "description": "The total number of users matching the request"
                      },
                      "createdDate": {
                        "type": "string",
                        "description": "The date the process was created"
                      },
                      "requested": {
                        "type": "integer",
                        "description": "Number of total workers within process"
                      },
                      "processed": {
                        "type": "integer",
                        "description": "Number of processed workers within process"
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      },
      "WorkflowAssignmentLocalePairs": {
        "type": "object",
        "properties": {
          "sourceLocaleId": {
            "type": "string",
            "description": "source locale ID",
            "example": "en-US"
          },
          "targetLocaleIds": {
            "type": "array",
            "description": "The array of target locale IDs",
            "example": [
              "fr-FR",
              "es-ES"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WorkflowAssignmentWorkflowStep": {
        "type": "object",
        "properties": {
          "workflowStepUid": {
            "type": "string",
            "description": "The uid of the workflow step.",
            "example": "8312172ed60d"
          },
          "localePairs": {
            "$ref": "#/components/schemas/WorkflowAssignmentLocalePairs"
          }
        }
      },
      "WorkflowAssignmentUserAssignment": {
        "type": "object",
        "properties": {
          "userUid": {
            "type": "string",
            "description": "User identifier."
          },
          "roleValue": {
            "type": "string",
            "description": "User role name."
          },
          "agencyUid": {
            "type": "string",
            "description": "Agency identifier."
          },
          "workflowStepAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowAssignmentWorkflowStep"
            }
          }
        }
      },
      "WorkflowAssignmentCreate": {
        "type": "object",
        "properties": {
          "roleValue": {
            "enum": [
              "ROLE_TRANSLATION_RESOURCE",
              "ROLE_TRANSLATION_RESOURCE_MANAGER"
            ],
            "type": "string",
            "description": "User role name"
          },
          "workflowStepAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkflowAssignmentWorkflowStep"
            }
          }
        }
      },
      "WorkflowAssignmentCreateResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "totalCount": {
                        "type": "integer",
                        "description": "Number of created workflow step assignments"
                      },
                      "items": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkflowAssignmentWorkflowStep"
                        }
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      },
      "WorkflowAssignmentSearchResponse": {
        "type": "object",
        "required": [
          "response"
        ],
        "properties": {
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SuccessResponse"
              },
              {
                "properties": {
                  "data": {
                    "properties": {
                      "offsetToken": {
                        "type": "string",
                        "description": "Offset token for next search operation"
                      },
                      "workflowStepUserAssignments": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/WorkflowAssignmentUserAssignment"
                        }
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      }
    },
    "responses": {
      "Error400ResponseDefinition": {
        "description": "Provided request parameters are invalid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error400Response"
            },
            "examples": {
              "response": {
                "value": {
                  "response": {
                    "code": "VALIDATION_ERROR",
                    "errors": [
                      {
                        "key": "unknown.field",
                        "message": "The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.",
                        "details": "unknown.parameter"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "Error401ResponseDefinition": {
        "description": "Provided credentials are not valid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error401Response"
            },
            "examples": {
              "response": {
                "value": {
                  "response": {
                    "code": "AUTHENTICATION_ERROR",
                    "errors": [
                      {
                        "details": {},
                        "key": "invalid_token",
                        "message": "Invalid token"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "Error429ResponseDefinition": {
        "description": "Too many simultaneous API requests.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error429Response"
            },
            "examples": {
              "response": {
                "value": {
                  "response": {
                    "code": "MAX_OPERATIONS_LIMIT_EXCEEDED",
                    "errors": [
                      {
                        "key": "too.many.requests",
                        "message": "The limit of 10 concurrent Smartling file API operations for this project has been exceeded."
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "Error500ResponseDefinition": {
        "description": "Unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error500Response"
            }
          }
        }
      }
    }
  }
}
