{"openapi":"3.1.0","info":{"title":"SimpleLocalize API","description":"Swagger documentation for SimpleLocalize API","contact":{"name":"API Support","email":"contact@simplelocalize.io"},"version":"16bb237_2026-08-20_15-06-18"},"externalDocs":{"description":"REST API Documentation","url":"https://simplelocalize.io/docs/api/get-started/"},"servers":[{"url":"https://api.simplelocalize.io","description":"Base URL"}],"tags":[{"name":"Translation keys","description":"Project translation key management endpoints"},{"name":"Comments & Suggestions ","description":"Comments and suggestions (beta)"},{"name":"Hosting","description":"Translation Hosting management endpoints","externalDocs":{"description":"Endpoint Docs","url":"https://simplelocalize.io/docs/api/publish-translations/"}},{"name":"Activity","description":"Project activity"},{"name":"Tags","description":"Tags management"},{"name":"Customers","description":"Customer endpoints for alternative translations","externalDocs":{"description":"Endpoint Docs","url":"https://simplelocalize.io/docs/api/customer-specific-api/"}},{"name":"Translations","description":"Project translation management endpoints"},{"name":"Auto-translation","description":"Auto-translation endpoints","externalDocs":{"description":"Endpoint Docs","url":"https://simplelocalize.io/docs/api/auto-translate/"}},{"name":"Languages","description":"Project language management endpoints","externalDocs":{"description":"Endpoint Docs","url":"https://simplelocalize.io/docs/api/language-api/"}},{"name":"Projects","description":"Project management","externalDocs":{"description":"Endpoint Docs","url":"https://simplelocalize.io/docs/api/translation-project-management/"}},{"name":"File import & export","description":"Endpoints for importing and exporting files"}],"paths":{"/api/v2/projects":{"get":{"tags":["Projects"],"summary":"List projects","description":"List all projects. Requires Personal Token and returns only projects for the authenticated user.\n","operationId":"getProjectsV2","parameters":[{"name":"Authorization","in":"header","description":"Personal Token","required":true,"schema":{"type":"string"}},{"name":"sort","in":"query","description":"Select sorting method, default is alphabetical, case insensitive","required":false,"schema":{"type":"string","default":"alphabetical","description":"Select sorting method, default is alphabetical, case insensitive","enum":["alphabetical","translation_progress","number_of_keys","number_of_languages","number_of_members","last_edited","last_activity","created"],"example":"alphabetical"},"example":"alphabetical"}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiProjectDetailsItemV2"}}}}}}}},"security":[{"Personal Access Token":[]}]},"post":{"tags":["Projects"],"summary":"Create project","description":"Create a new project","operationId":"createProjectV2","parameters":[{"name":"Authorization","in":"header","description":"Personal Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/ProjectReadDetails"}}}}}}},"security":[{"Personal Access Token":[]}]}},"/api/v2/jobs/auto-translate":{"post":{"tags":["Auto-translation"],"summary":"Create auto-translation jobs","description":"Create auto-translation jobs for a project and one or more languages\n","operationId":"autoTranslate","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAutoTranslateRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobItem"}}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/import":{"post":{"tags":["File import & export"],"summary":"Import translations from file","description":"Import translations to file","externalDocs":{"description":"Learn more","url":"https://simplelocalize.io/docs/api/import-translations/"},"operationId":"importTranslations","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"uploadFormat","in":"query","required":true,"schema":{"type":"string","enum":["android","android-strings","android-xml","csv-translations","tsv","excel","java-properties","localizable-xcstrings","localizable-strings","localizable-strings-dict","po-pot","php-array","string-resources","simplelocalize-json","single-language-json","multi-language-json","javascript","module-exports","yaml","qt-linguist","resx"]}},{"name":"importOptions","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["PUBLISH_AFTER_IMPORT","REPLACE_TRANSLATION_IF_FOUND","TRIM_LEADING_TRAILING_SPACES","UNESCAPE_NEW_LINES","UNESCAPE_SINGLE_QUOTES","SHEETS_AS_NAMESPACES","MULTI_LANGUAGE","LANGUAGES_NESTED"]}}},{"name":"languageKey","in":"query","required":false,"schema":{"type":"string"}},{"name":"customerId","in":"query","required":false,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"file","format":"binary"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/ImportFileResponseV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/environments":{"get":{"tags":["Hosting"],"summary":"Get all environments","description":"The endpoint is used for getting all environments in the project.\nIt returns a list of environments with their details, including the latest and production environments.\n","operationId":"getEnvironments","responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/CdnEnvironmentApiDetails"}}}}}}}},"security":[{"Project API Key":[]}]},"post":{"tags":["Hosting"],"summary":"Create a new environment","description":"The endpoint is used for creating a new environment in the project.\n- You can create a custom environment with a unique key, name, and color.\n- The created environment can be used for publishing translations.\n- The environment key must be unique within the project and cannot be one of the reserved keys: `_latest`, `_production`.\n","operationId":"createEnvironment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdnEnvironmentCreateApiRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v2/environments/{environmentKey}/publish":{"post":{"tags":["Hosting"],"summary":"Publish translations to given environment","description":"The endpoint is used for publishing translations for given environment.\n- By default, every project has two Translation Hosting environments (`_latest` and `_production`) and Translation Editor environment.\n- Publication always (if not specified differently in the project settings) happens from the Translation Editor environment to the `_latest` environment, and then to the `_production` environment.\n- There is no way to change this flow other than creating a custom environment in the project settings.\n- In order to publish translations to the Production environment, you need use `_production` as 'environmentKey' parameter.\n- In order to publish translations to the Latest environment, you need use `_latest` as `environmentKey` parameter.\n- In order to publish translations to the custom environment, you need use your custom environment key as `environmentKey` parameter.\n- Labels can be specified only for the Latest environment.\n","operationId":"publishTranslations","parameters":[{"name":"environmentKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdnEnvironmentApiRequestPublication"}}}},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys":{"get":{"tags":["Translation keys"],"summary":"Get translation keys with metadata","description":"Get translation keys for a project.\n\nAll parameters are optional.\n\nParameters are used for filtering translations by given values, and they are case sensitive and exact match.\n\nDefault page size is 100 and maximum page size is 2500. Page size can be changed by `size` parameter.\n\nDefault page is 0. Page can be changed by `page` parameter.\n","operationId":"getTranslationKeys","parameters":[{"name":"key","in":"query","required":false,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["last_seen_at","modified_at","created_at","deprecated_at"]}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100,"maximum":2500,"minimum":0}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedTranslationKeysV2RestResponse"}}}}},"security":[{"Project API Key":[]}]},"post":{"tags":["Translation keys"],"summary":"Create translation key","description":"Creates translation key for a project. It throws an error if translation key already exists.\n\n`key` is a required field, and it cannot be null or empty. The endpoint throws an error if `key` is null or empty.\n\n`namespace`, `description` and `codeDescription` are optional fields, and they can be null or empty. Null and empty values are ignored.\n\nMax size of `description` and `codeDescription` is 500 characters, otherwise, the endpoint throws an error.\n\nIf `namespace` is not provided, the default namespace is used.\n\nIf `description` is not provided, the empty string is used. Description is used for translation key comments that are visible in the editor, and they be edited in the editor.\n\nIf `codeDescription` is not provided, the empty string is used. Code description is used for code comments that are visible in the editor, but they cannot be edited in the editor.\n\nIf `charactersLimit` is not provided (or -1), then no limit is set.\n\nSet `lock: true` to prevent the translation key from being modified.\n\nSet `deprecated: true` to mark the translation key as deprecated in the Web UI.\n","operationId":"createTranslationKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTranslationKeyRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"delete":{"tags":["Translation keys"],"summary":"Delete translation key","description":"Deletes translation key for a project","operationId":"deleteTranslationKey","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string","maxLength":500,"minLength":0}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":"","maxLength":128,"minLength":0}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Translation keys"],"summary":"Update translation key","description":"Updates key, namespace, and/or it's metadata. It throws an error if translation key does not exist or if the new key/namespace combination already exists.\n\nUse query `key` and `namespace` parameters to identify the translation key, and update it with the provided values in the request body.\n\nThe last seen date is updated automatically even if there is no changes.\n\nMax size of description and code description is 500 characters, otherwise, the endpoint throws an error.\n\nSet `lock: true` to prevent the translation key from being modified.\n\nTo clear the characters limit, set it to -1.\n","operationId":"updateTranslationKey","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTranslationKeyRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/screenshots":{"post":{"tags":["Translation keys"],"summary":"Upload translation key screenshot","description":"Uploads translation key screenshot from image encoded in base64. It throws an error if translation key does not exist.\n\nThe uploaded screenshot replaces the existing screenshot if it exists.\n\n`key` is a required field, and it cannot be null or empty. The endpoint throws an error if `key` is null or empty.\n\n`namespace` is an optional field, and it can be null or empty. Null and empty values are ignored.\n\nIf `namespace` is not provided, then an empty namespace is used.\n\nMax size of screenshot is 2MB for base64, otherwise, the endpoint throws an error.\n\nOnly PNG, JPG and JPEG formats are supported, otherwise, the endpoint may throw an error.\n","operationId":"uploadTranslationKeyScreenshot","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadTranslationKeyScreenshotRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/screenshots/file-upload":{"post":{"tags":["Translation keys"],"summary":"Upload translation key screenshot from file","description":"Uploads translation key screenshot from a file. It throws an error if translation key does not exist.\n\nThe uploaded screenshot replaces the existing screenshot if it exists.\n\n`key` is a required field, and it cannot be null or empty. The endpoint throws an error if `key` is null or empty.\n\n`namespace` is an optional field, and it can be null or empty. Null and empty values are ignored.\n\nIf `namespace` is not provided, then an empty namespace is used.\n\nMax size of screenshot is 4MB for file upload, otherwise, the endpoint throws an error.\n\nOnly PNG, JPG and JPEG formats are supported, otherwise, the endpoint may throw an error.\n","operationId":"uploadTranslationKeyScreenshotFileUpload","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/screenshots/bulk":{"post":{"tags":["Translation keys"],"summary":"Upload translation key screenshot from file","operationId":"uploadTranslationKeyScreenshotFileUploadBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadMultipleScreenshot"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/bulk":{"post":{"tags":["Translation keys"],"summary":"Create translation keys in bulk","description":"Creates translation keys for a project. In the same manner as the single key creation endpoint.\n\nIt doesn't throw an error if translation key already exists, but it returns a list of failures.\n\nYou can create up to 100 translation keys at once.\n","operationId":"createTranslationKeyBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTranslationKeyBulkRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/CreateTranslationKeyBulkResponseV2"}}}}}}},"security":[{"Project API Key":[]}]},"delete":{"tags":["Translation keys"],"summary":"Delete translation keys in bulk","description":"Deletes translation keys for a project. In the same manner as the single key delete endpoint.\n\nIt doesn't throw an error if translation key doesn't exist, but it returns a list of failures.\n\nYou can delete up to 100 translation keys at once.\n","operationId":"deleteTranslationKeyBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTranslationKeyBulkRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/DeleteTranslationKeyBulkResponseV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/tags":{"get":{"tags":["Tags"],"summary":"Get project tags","description":"Returns a list of tags for a project.\n","operationId":"getTags","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/ListTagResponseV1"}}}}}}}},"security":[{"Project API Key":[]}]},"post":{"tags":["Tags"],"summary":"Create tag","description":"Creates a tag for a project. It throws an error if the tag already exists.\n- `color` must be a valid HEX color code (e.g. FF5733) without the leading `#`\n- `name` must be between 2 and 16 characters and can contain only letters, numbers, spaces, underscores, dashes and dots.\n","operationId":"createTag","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/suggestions":{"get":{"tags":["Comments & Suggestions "],"summary":"Get suggestions","description":"Gets translation suggestions for a given key and language.\n\nThe `Authorization` header with a Personal Access Token is optional here.\n","operationId":"getSuggestions","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","description":"Project API Key","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Personal Access Token. Optional.","required":false,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"language","in":"query","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/PagedModelCommentResponse"}}}}}}},"security":[{"Project API Key":[]},{"Personal Access Token":[]}]},"post":{"tags":["Comments & Suggestions "],"summary":"Create suggestion","description":"Creates a new translation suggestion for a given key and language.\n\nThe `Authorization` header with a Personal Access Token is optional here — if the project\nhas anonymous suggestions enabled for the given language, the suggestion is created without\nattributing it to any user.\n","operationId":"createSuggestion","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","description":"Project API Key","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Personal Access Token. Optional - omit to submit an anonymous suggestion (works only if anonymous suggestions are enabled for the project)","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSuggestionCreateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]},{"Personal Access Token":[]}]}},"/api/v1/projects/{projectToken}/contributors":{"get":{"tags":["Projects"],"summary":"Get project contributors","description":"Get all contributors of the project.\n- Requires Personal Token for authentication and the project must be on Business plan to manage contributors.\n- Every contributor has a name, email, status and role.\n- Translators can have assigned languages, tags, and customers with access levels.\n- Status can be either `ACCEPTED` or `INVITED`.\n- Role can be either `TRANSLATOR`, `ADMIN` or `OWNER`.\n\n### Permissions\n\nAvailable permissions for `TRANSLATOR` role:\n- `VIEW_ACTIVITY`\n- `IMPORT_FILES`\n- `EXPORT_FILES`\n- `MANAGE_TRANSLATION_KEYS`\n- `ADD_LANGUAGES`\n- `UPDATE_LANGUAGES`\n- `DELETE_LANGUAGES`\n- `AUTO_TRANSLATE`\n- `CHANGE_TRANSLATIONS`\n- `REVIEW_TRANSLATIONS`\n- `CHANGE_CUSTOMER_TRANSLATIONS`\n- `REVIEW_CUSTOMER_TRANSLATIONS`\n- `CHANGE_DESCRIPTION`\n- `PUBLISH_TRANSLATIONS`\n- `ACCESS_COMMENTS`\n\nAccess levels: `ALLOW` and `DENY`.\n\n\n### Language access levels:\n- `WRITE_READ` means the contributor can perform the action.\n- `READ` means the contributor can read the translations, but cannot write them.\n- `HIDDEN` means the contributor cannot perform the action.\n\n\n### Tag and Customer access levels:\n- `WRITE_READ` means the contributor can perform the action.\n- `HIDDEN` means the contributor cannot perform the action.\n","operationId":"getProjectContributors","parameters":[{"name":"projectToken","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiProjectContributor"}}}}}}}},"security":[{"Personal Access Token":[]}]},"post":{"tags":["Projects"],"summary":"Invite project contributor","description":"Invite a new contributor to the project. The contributor will receive an email with an invitation link same as in the web app.\n- The contributor will be able to accept the invitation and join the project.\n- The endpoint requires Personal Token for authentication and the project must be on Business plan to manage contributors.\n- The endpoint is rate-limited to 1 request per second.\n- The request body must contain the contributor's email, role, and optional assigned languages, tags, and customers.\n- The role can be either `TRANSLATOR` or `ADMIN`. Only `TRANSLATOR` role allows to define assigned languages, tags, and customers.\n- The assigned languages, tags, and customers must be defined in the request body.\n- The default access level for languages, tags, and customers can be defined in the request body.\n\n### Translator role permissions\n\n- `VIEW_ACTIVITY`\n- `IMPORT_FILES`\n- `EXPORT_FILES`\n- `MANAGE_TRANSLATION_KEYS`\n- `ADD_LANGUAGES`\n- `UPDATE_LANGUAGES`\n- `DELETE_LANGUAGES`\n- `AUTO_TRANSLATE`\n- `CHANGE_TRANSLATIONS`\n- `REVIEW_TRANSLATIONS`\n- `CHANGE_CUSTOMER_TRANSLATIONS`\n- `REVIEW_CUSTOMER_TRANSLATIONS`\n- `CHANGE_DESCRIPTION`\n- `PUBLISH_TRANSLATIONS`\n- `ACCESS_COMMENTS`\n\nAccess levels: `ALLOW` and `DENY`.\n\n### Language access levels:\n- `WRITE_READ` means the contributor can perform the action.\n- `READ` means the contributor can read the translations, but cannot write them.\n- `HIDDEN` means the contributor cannot perform the action.\n\n\n### Tag and Customer access levels:\n- `WRITE_READ` means the contributor can perform the action.\n- `HIDDEN` means the contributor cannot perform the action.\n\n","operationId":"inviteProjectContributor","parameters":[{"name":"projectToken","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectContributorInviteRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Personal Access Token":[]}]},"delete":{"tags":["Projects"],"summary":"Remove contributor from project","description":"Remove a contributor from the project","operationId":"removeProjectContributor","parameters":[{"name":"projectToken","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiProjectContributorRemoveRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Personal Access Token":[]}]}},"/api/v1/languages":{"get":{"tags":["Languages"],"summary":"Get languages","description":"Returns all languages for the project. The response contains a list of language objects with their keys and names.","operationId":"getLanguages","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/LanguageDetailsResponseV1"}}}}}}}},"security":[{"Project API Key":[]}]},"post":{"tags":["Languages"],"operationId":"createLanguage","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageCreateRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/LanguageDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/customers":{"get":{"tags":["Customers"],"operationId":"getAllCustomers","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/CustomerDetailsResponseV1"}}}}}}}},"security":[{"Project API Key":[]}]},"post":{"tags":["Customers"],"operationId":"createCustomer","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCreateRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/CustomerDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/comments":{"get":{"tags":["Comments & Suggestions "],"summary":"Get comments","description":"Gets comments for a given key and language.\n\nThe `Authorization` header with a Personal Access Token is required.\n","operationId":"getComments","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","description":"Project API Key","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Personal Access Token","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"language","in":"query","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/PagedModelCommentResponse"}}}}}}},"security":[{"Project API Key":[]},{"Personal Access Token":[]}]},"post":{"tags":["Comments & Suggestions "],"summary":"Create comment","description":"Creates a new comment for a given key and language.\n\nThe `Authorization` header with a Personal Access Token is required — comments are always\nattributed to the authenticated user and require write access to the target language.\n","operationId":"createComment","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","description":"Project API Key","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","description":"Personal Access Token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCommentCreateRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]},{"Personal Access Token":[]}]}},"/api/v1/auto-translate":{"post":{"tags":["Auto-translation"],"summary":"Auto-translate single text","description":"Auto-translate single text for a project","operationId":"autoTranslateText","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTranslateSingleTextRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/ApiSingleTranslateResponse"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/translations":{"get":{"tags":["Translations"],"summary":"Get translations","description":"Get translations for a project","operationId":"getTranslations","parameters":[{"name":"key","in":"query","description":"Filter by translation key","required":false,"schema":{"type":"string","description":"Filter by translation key"}},{"name":"namespace","in":"query","description":"Filter by namespace","required":false,"schema":{"type":"string","description":"Filter by namespace"}},{"name":"language","in":"query","description":"Filter by language key","required":false,"schema":{"type":"string","description":"Filter by language key"}},{"name":"text","in":"query","description":"Search by translation text (case-insensitive, uses 'contains'). Minimum length: 3 characters. Limits results to 10.","required":false,"schema":{"type":"string","description":"Search by translation text (case-insensitive, uses 'contains'). Minimum length: 3 characters. Limits results to 10.","maxLength":2147483647,"minLength":3}},{"name":"query","in":"query","description":"Search by translation text or translation key (case-insensitive, uses 'contains'). Minimum length: 3 characters. Limits results to 10.","required":false,"schema":{"type":"string","description":"Search by translation text or translation key (case-insensitive, uses 'contains'). Minimum length: 3 characters. Limits results to 10.","maxLength":2147483647,"minLength":3}},{"name":"textStatus","in":"query","description":"Filter by translation text status","required":false,"schema":{"type":"string","default":"","description":"Filter by translation text status","enum":["EMPTY","NOT_EMPTY",""]}},{"name":"customerId","in":"query","description":"Filter by customer id (Business plan only)","required":false,"schema":{"type":"string","description":"Filter by customer id (Business plan only)"}},{"name":"baseOnly","in":"query","description":"Use `true` to get translations without customer translations, default value is `false` (Business plan only)","required":false,"schema":{"type":"boolean","default":false,"description":"Use `true` to get translations without customer translations, default value is `false` (Business plan only)"}},{"name":"reviewStatus","in":"query","description":"Filter by review status","required":false,"schema":{"type":"string","default":"","description":"Filter by review status","enum":["REVIEWED","NOT_REVIEWED",""]}},{"name":"page","in":"query","description":"Page number","required":false,"schema":{"type":"integer","format":"int32","default":0,"description":"Page number","minimum":0}},{"name":"size","in":"query","description":"Page size","required":false,"schema":{"type":"integer","format":"int32","default":100,"description":"Page size","maximum":2500,"minimum":1}},{"name":"sortBy","in":"query","description":"Sort by field","required":false,"schema":{"type":"string","default":"","description":"Sort by field","enum":["","lastModifiedAt"]}},{"name":"sortOrder","in":"query","description":"Sort order","required":false,"schema":{"type":"string","default":"desc","description":"Sort order","enum":["asc","desc"]}},{"name":"version","in":"query","description":"Use `REVIEWED` to get last reviewed version of translations if exists, otherwise it returns empty text","required":false,"schema":{"type":"string","description":"Use `REVIEWED` to get last reviewed version of translations if exists, otherwise it returns empty text","enum":["REVIEWED"]}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"oneOf":[{"$ref":"#/components/schemas/PagedModelApiTranslationResponseV2"},{"$ref":"#/components/schemas/PagedTranslationsV2RestResponse"}]}}}}}}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Translations"],"summary":"Update single translation","description":"Updates a single translation.\n\nIt throws an error if the translation key (with optional namespace), language key or customerId does not exist.\n\n`key` and `language` are required fields.\n\n`text` and `reviewStatus` are the fields that can be updated.\n\nIf `text` is not provided, then the translation is not updated.\n\nIf `reviewStatus` is not provided, then the translation is marked as `NOT_REVIEWED`. Allowed values are `REVIEWED` and `NOT_REVIEWED`.\n","operationId":"updateTranslations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTranslationRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v2/translations/bulk":{"patch":{"tags":["Translations"],"summary":"Update translations in bulk","description":"Updates translations in bulk with a single request.\n\nIt returns a list of failed translation updates with error messages.\n\nYou can update up to 100 translations at once.\n\n","operationId":"updateTranslationsBulk","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTranslationBulkRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/UpdateTranslationBulkResponseV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/{id}":{"delete":{"tags":["Translation keys"],"summary":"Delete translation key by ID","description":"Deletes translation key by ID. It throws an error if translation key does not exist.\n","operationId":"deleteTranslationKeyById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Translation keys"],"summary":"Update translation key by ID","description":"Updates key, namespace, description and/or code description for a project by Translation Key ID. It throws an error if translation key does not exist or if the new key/namespace combination already exists.\n\nKey, namespace, description and code description are optional fields, and they can be null or empty. Null and empty values are ignored, and they are not updated.\n\nThe last seen date is updated automatically even if there is no changes.\n\nMax size of description and code description is 500 characters, otherwise, the endpoint throws an error.\n\nTo clear the characters limit, set it to -1.\n","operationId":"updateTranslationKeyById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTranslationKeyRequestV2"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/tags/{tagName}":{"delete":{"tags":["Tags"],"summary":"Delete tag","description":"Deletes a tag for a project.","operationId":"deleteTag","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","required":true,"schema":{"type":"string","maxLength":16,"minLength":2,"pattern":"[A-Za-z0-9\\s\\_\\-\\.]+"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Tags"],"summary":"Update tag","description":"Updates a tag for a project. It throws an error if the tag does not exist.\n","operationId":"updateTag","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","required":true,"schema":{"type":"string","maxLength":16,"minLength":2,"pattern":"[A-Za-z0-9\\s\\_\\-\\.]+"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTagRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/languages/{languageKey}":{"get":{"tags":["Languages"],"operationId":"getLanguage","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"languageKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/LanguageDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]},"delete":{"tags":["Languages"],"operationId":"deleteLanguage","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"languageKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Languages"],"operationId":"updateLanguage","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"languageKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageUpdateRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/LanguageDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/hosting/custom-hosting":{"patch":{"tags":["Hosting"],"summary":"Update custom translation hosting settings","description":"The endpoint is used for updating custom translation hosting provider credentials (e.g. AWS S3, Azure Blob Storage, Google Cloud Storage).\nThe connection is verified before the settings are saved - if verification fails, the settings are not updated and the endpoint returns an error.\n","operationId":"updateCustomHostingSettings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CdnCustomHostingUpdateApiRequest"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]}},"/api/v1/customers/{customerKey}":{"get":{"tags":["Customers"],"operationId":"getCustomer","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"customerKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/CustomerDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]},"delete":{"tags":["Customers"],"operationId":"deleteCustomer","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"customerKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK"}},"security":[{"Project API Key":[]}]},"patch":{"tags":["Customers"],"operationId":"updateCustomer","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"customerKey","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerUpdateRequestV1"}}},"required":true},"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/CustomerDetailsResponseV1"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v4/export":{"get":{"tags":["File import & export"],"summary":"Export translations to file(s)","description":"Export translations to file(s)","externalDocs":{"description":"Learn more","url":"https://simplelocalize.io/docs/api/export-translations/"},"operationId":"exportTranslations","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"downloadFormat","in":"query","required":false,"schema":{"type":"string","enum":["android","android-strings","android-xml","csv-translations","tsv","excel","java-properties","localizable-xcstrings","localizable-strings","localizable-strings-dict","po-pot","php-array","string-resources","simplelocalize-json","single-language-json","multi-language-json","javascript","module-exports","yaml","qt-linguist","resx"]}},{"name":"downloadOptions","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["SPLIT_BY_LANGUAGES","SPLIT_BY_NAMESPACES","INCLUDE_DESCRIPTIONS","ONLY_NOT_TRANSLATED","ONLY_TRANSLATED","WRITE_NESTED","ESCAPE_NEW_LINES","ESCAPE_SINGLE_QUOTES","ZIP_FILES","SHEETS_AS_NAMESPACES","MULTI_LANGUAGE","LANGUAGES_NESTED"]}}},{"name":"languageKeys","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"languageOrder","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"customerId","in":"query","required":false,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["DEFAULT","NEWEST_KEYS_FIRST","NEWEST_KEYS_LAST","NAMESPACES","IMPORT_ORDER"]}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/GetExportTranslationsV4"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/translation-keys/list":{"get":{"tags":["Translation keys"],"summary":"Get all translation keys","description":"Get all translation keys for a project without metadata, only id, key and namespace. No pagination required.\n","operationId":"getAllTranslationKeysV2","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/TranslationKeyAllResponseV2"}}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/project":{"get":{"tags":["Projects"],"summary":"Get project details","description":"Get all project details","operationId":"getProjectDetailsV2","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","description":"Project API Key","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/ApiProjectDetailsV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/jobs":{"get":{"tags":["Auto-translation"],"summary":"Get jobs","description":"Get jobs for a project.\n","operationId":"getJobs","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/JobItemV2"}}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/jobs/{jobId}":{"get":{"tags":["Auto-translation"],"summary":"Get job","description":"Get job for a project by jobId.\n","operationId":"getJob","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/JobItemV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v2/environments/{environmentKey}":{"get":{"tags":["Hosting"],"summary":"Get hosting status for given environment","description":"The endpoint is used for getting hosting status for given environment.\n","operationId":"getEnvironmentStatus","parameters":[{"name":"environmentKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/ApiEnvironmentStatusResponse"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/list":{"get":{"tags":["Translation keys"],"summary":"Get all translation keys","description":"Get all translation keys for a project without metadata, only key and namespace. No pagination required.\n","operationId":"getAllTranslationKeys","responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/TranslationKeyAllResponseV1"}}}}}}}},"deprecated":true,"security":[{"Project API Key":[]}]}},"/api/v1/translation-keys/details":{"get":{"tags":["Translation keys"],"summary":"Get translation key details","description":"Get translation key details for a project\n\n`key` is a required field, and it cannot be null or empty. The endpoint throws an error if `key` is null or empty.\n\n`namespace` is an optional field, and it can be null or empty. Null and empty values are ignored.\n\nIf `namespace` is not provided, then an empty namespace is used.\n\n\n\nPlease not that we may return additional fields in the future.\n","operationId":"getTranslationKeyDetails","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/TranslationKeyDetailsResponseV2"}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/file-formats":{"get":{"tags":["File import & export"],"operationId":"getFileFormats","responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"$ref":"#/components/schemas/FileFormatsResponse"}}}}}}}}},"/api/v1/activity":{"get":{"tags":["Activity"],"summary":"Get project activity","description":"Get project activity. Maximum page size is 50, default page size is 10. You can fetch up to 500 latest entries for the project.\n","operationId":"getActivity","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0,"minimum":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10,"maximum":50,"minimum":1}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/ActivityItemResponseV1"}}}}}}}},"security":[{"Project API Key":[]}]}},"/api/v1/activity/{activityId}/changes":{"get":{"tags":["Activity"],"summary":"Get project activity changes","description":"List of all changes for the given activity id\n","operationId":"getActivityChanges","parameters":[{"name":"X-SimpleLocalize-Token","in":"header","required":true,"schema":{"type":"string"}},{"name":"activityId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"msg":{"type":"string","default":"OK"},"status":{"type":"integer","format":"int32","default":200},"data":{"type":"array","items":{"$ref":"#/components/schemas/ContentChangeRequest"}}}}}}}},"security":[{"Project API Key":[]}]}}},"components":{"schemas":{"ApiError":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"title":{"type":"string"},"msg":{"type":"string"},"code":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"traceId":{"type":"string"}}},"ProjectCreateRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":100,"minLength":1}},"required":["name"]},"CustomerOverride":{"type":"object","properties":{"key":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"}}},"Language":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"isDefault":{"type":"boolean"},"order":{"type":"integer","format":"int32"},"flag":{"type":"string"},"access":{"type":"string","enum":["WRITE_READ","READ","HIDDEN"]},"translationProvider":{"type":"string","enum":["GOOGLE_TRANSLATE","DEEPL","OPEN_AI","OPEN_ROUTER","CUSTOM_AI","EXTERNAL_API","SYSTRAN","PSEUDO_TRANSLATE","TRANSLATION_MEMORY","DISABLED"]},"providerLanguage":{"type":"string"},"sourceLanguage":{"type":"string"},"deeplFormality":{"type":"string"},"isLocked":{"type":"boolean"},"attributes":{"type":"object","additionalProperties":{}},"context":{"type":"string"},"fallbackLanguage":{"type":"string"}}},"ProjectReadDetails":{"type":"object","properties":{"name":{"type":"string"},"languages":{"type":"array","items":{"$ref":"#/components/schemas/Language"}},"customers":{"type":"array","items":{"$ref":"#/components/schemas/CustomerOverride"}},"projectToken":{"type":"string"},"apiKey":{"type":"string"},"keys":{"type":"integer","format":"int32"},"unpublishedChanges":{"type":"integer","format":"int32"},"translatedPercentage":{"type":"number","format":"double"},"translatedKeysByLanguage":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}},"ApiAutoTranslateRequestV2":{"type":"object","properties":{"languageKeys":{"type":"array","description":"Project source language keys, if not provided then all languages will be translated. Auto-translation configuration will be used from the last auto-translation job.","example":"[en_US]","items":{"type":"string"}},"options":{"type":"array","description":"Options for auto-translation","enum":["FORCE_REPLACE","USE_TRANSLATION_KEYS"],"example":[],"items":{"type":"string","enum":["FORCE_REPLACE","AUTO_PUBLISH","EXCLUDE_VARIABLES","USE_TRANSLATION_KEYS"]}}}},"JobItem":{"type":"object","properties":{"jobId":{"type":"string"},"progress":{"type":"number","format":"float"},"state":{"type":"string"},"type":{"type":"string"},"message":{"type":"string"},"started":{"type":"string","format":"date-time"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"ImportFileResponseV2":{"type":"object","properties":{"numberOfKeysFound":{"type":"integer","format":"int64"},"numberOfUniqueKeysFound":{"type":"integer","format":"int64"},"foundLanguages":{"type":"array","items":{"$ref":"#/components/schemas/Language"}}}},"CdnEnvironmentCreateApiRequest":{"type":"object","properties":{"key":{"type":"string","description":"Unique key for the environment. Must be lowercase, contain only letters, numbers, and dashes.","example":"staging","maxLength":32,"minLength":3,"pattern":"[a-z0-9\\-]+"},"name":{"type":"string","description":"Name of the environment. Can contain letters, numbers, spaces, underscores, and dashes.","example":"Staging Environment","maxLength":32,"minLength":3,"pattern":"[A-Za-z0-9\\s\\_\\-]+"},"color":{"type":"string","description":"Color of the environment in hex format for Web UI. Must be 6 characters long and valid hex color.","example":"ff5733","maxLength":6,"minLength":6,"pattern":"^[0-9a-fA-F]+$"}},"required":["color","key","name"]},"CdnEnvironmentApiRequestPublication":{"type":"object","properties":{"labels":{"type":"array","items":{"type":"string","maxLength":50,"minLength":0},"maxItems":10,"minItems":0}}},"CreateTranslationKeyRequestV2":{"type":"object","properties":{"key":{"type":"string","maxLength":500,"minLength":0},"namespace":{"type":"string","maxLength":128,"minLength":0},"description":{"type":"string","maxLength":500,"minLength":0},"codeDescription":{"type":"string","maxLength":500,"minLength":0},"charactersLimit":{"type":"integer","format":"int32"},"lock":{"type":"boolean"},"deprecated":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"},"maxItems":5,"minItems":0},"attributes":{"type":"object","additionalProperties":{}}},"required":["key"]},"UploadTranslationKeyScreenshotRequestV2":{"type":"object","properties":{"base64":{"type":"string","example":"/9j/4AAQSkZJRgABAgAAZABkAAD/...","minLength":1}},"required":["base64"]},"UploadMultipleScreenshot":{"type":"object","properties":{"base64":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"ocr":{"type":"array","items":{"type":"string"}},"translationKeys":{"type":"array","items":{"$ref":"#/components/schemas/UploadScreenshotKeyNamespace"},"maxItems":1000,"minItems":1}},"required":["base64","name"]},"UploadScreenshotKeyNamespace":{"type":"object","properties":{"key":{"type":"string","maxLength":500,"minLength":0},"namespace":{"type":"string","maxLength":128,"minLength":0}},"required":["key"]},"CreateTranslationKeyBulkRequestV2":{"type":"object","properties":{"translationKeys":{"type":"array","items":{"$ref":"#/components/schemas/CreateTranslationKeyRequestV2"},"maxItems":100,"minItems":0}}},"CreateTranslationKeyBulkResponseV2":{"type":"object","properties":{"failures":{"type":"array","items":{"$ref":"#/components/schemas/Failure"}}}},"Failure":{"type":"object","properties":{"entry":{"$ref":"#/components/schemas/UpdateTranslationRequestV2"},"message":{"type":"string"}}},"CreateTagRequestV1":{"type":"object","properties":{"name":{"type":"string","description":"Tag name","example":"my-feature"},"color":{"type":"string","description":"Tag color","example":"6e56ce"}}},"ApiSuggestionCreateRequest":{"type":"object","properties":{"namespace":{"type":"string","description":"Namespace of the translation key","example":"common"},"key":{"type":"string","description":"Translation key","example":"welcome-message","minLength":1},"language":{"type":"string","description":"Language key the suggestion is for","example":"en","minLength":1},"suggestedTranslation":{"type":"string","description":"Suggested translation text","example":"Welcome!","minLength":1},"content":{"type":"string","description":"Comment explaining the suggestion","example":"This sounds more natural.","maxLength":2000,"minLength":0}},"required":["content","key","language","suggestedTranslation"]},"ApiProjectContributorInviteRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email of the contributor. Must be a valid email address.","example":"john@exmaple.com","minLength":1},"role":{"type":"string","description":"Role of the contributor. Only 'TRANSLATOR' role allows to define assigned languages, tags, and customers.","enum":["TRANSLATOR","ADMIN"],"example":"TRANSLATOR"},"assignedLanguages":{"type":"array","description":"Assigned languages with access levels. Only applicable if role is 'TRANSLATOR'.","items":{"$ref":"#/components/schemas/AssignedLanguage"}},"defaultLanguageAccess":{"type":"string","description":"Default access level for languages. Only applicable if role is 'TRANSLATOR'.","enum":["ALLOW","DENY"],"example":"ALLOW"},"assignedTags":{"type":"array","description":"Assigned tags with access levels. Only applicable if role is 'TRANSLATOR'.","items":{"$ref":"#/components/schemas/AssignedTag"}},"defaultTagAccess":{"type":"string","description":"Default access level for tags. Only applicable if role is 'TRANSLATOR'.","enum":["ALLOW","DENY"],"example":"ALLOW"},"assignedCustomers":{"type":"array","description":"Assigned customers with access levels. Only applicable if role is 'TRANSLATOR'.","items":{"$ref":"#/components/schemas/AssignedCustomer"}},"defaultCustomerAccess":{"type":"string","description":"Default access level for customers. Only applicable if role is 'TRANSLATOR'.","enum":["ALLOW","DENY"],"example":"ALLOW"},"permissions":{"type":"array","description":"List of permissions for the contributor. If not provided, default permissions will be assigned based on the role.","example":[{"key":"AUTO_TRANSLATE","access":"ALLOW"}],"items":{"$ref":"#/components/schemas/Permission"}}},"required":["email","role"]},"AssignedCustomer":{"type":"object","properties":{"key":{"type":"string","description":"Customer key","example":"customer123"},"access":{"type":"string","description":"Access level for the customer","enum":["ALLOW","DENY"],"example":"ALLOW"}},"required":["access","key"]},"AssignedLanguage":{"type":"object","properties":{"key":{"type":"string","description":"Language key, e.g. 'en', 'fr', 'de'","example":"en"},"access":{"type":"string","description":"Access level for the language","enum":["ALLOW","DENY"],"example":"ALLOW"}},"required":["access","key"]},"AssignedTag":{"type":"object","properties":{"name":{"type":"string","description":"Tag name","example":"marketing"},"access":{"type":"string","description":"Access level for the tag","enum":["ALLOW","DENY"],"example":"ALLOW"}},"required":["access","name"]},"Permission":{"type":"object","properties":{"key":{"type":"string","description":"Permission key, e.g. 'AUTO_TRANSLATE'","enum":["AUTO_TRANSLATE, CHANGE_TRANSLATIONS, REVIEW_TRANSLATIONS, PUBLISH_TRANSLATIONS, MANAGE_TRANSLATION_KEYS, ADD_LANGUAGES, UPDATE_LANGUAGES, DELETE_LANGUAGES, IMPORT_FILES, EXPORT_FILES, VIEW_ACTIVITY, ACCESS_COMMENTS, CHANGE_CUSTOMER_TRANSLATIONS, REVIEW_CUSTOMER_TRANSLATIONS, CHANGE_DESCRIPTION"],"example":"AUTO_TRANSLATE"},"access":{"type":"string","description":"Access level for the permission","enum":["ALLOW","DENY"],"example":"ALLOW"}},"required":["access","key"]},"LanguageCreateRequestV1":{"type":"object","properties":{"key":{"type":"string","maxLength":20,"minLength":1},"name":{"type":"string","maxLength":200,"minLength":0}},"required":["key"]},"LanguageDetailsResponseV1":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"}}},"CustomerCreateRequestV1":{"type":"object","properties":{"key":{"type":"string","maxLength":40,"minLength":0},"displayName":{"type":"string","maxLength":32,"minLength":0},"description":{"type":"string","maxLength":255,"minLength":0}},"required":["key"]},"CustomerDetailsResponseV1":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"}}},"ApiCommentCreateRequest":{"type":"object","properties":{"namespace":{"type":"string","description":"Namespace of the translation key","example":"common"},"key":{"type":"string","description":"Translation key","example":"welcome-message","minLength":1},"language":{"type":"string","description":"Language key the comment is for","example":"en","minLength":1},"content":{"type":"string","description":"Comment content","example":"Can we double check this translation?","maxLength":2000,"minLength":0}},"required":["content","key","language"]},"AutoTranslateSingleTextRequest":{"type":"object","properties":{"targetLanguage":{"type":"string","description":"Provider target language key","example":"en_US","minLength":1},"targetProjectLanguage":{"type":"string","description":"Project target language key (optional). It's required to load additional information about the target language (e.g. DeepL glossary).","example":"pl_PL"},"deeplFormality":{"type":"string","description":"DeepL formality","enum":["default, more, less"],"example":"default"},"description":{"type":"string","description":"Description that will be used as a context for translation. It's useful for better translation quality.","example":"This is a button label in Sign Up form."},"translationProvider":{"type":"string","description":"Provider for auto-translation","enum":["GOOGLE_TRANSLATE","DEEPL","OPEN_AI"],"example":"GOOGLE_TRANSLATE"},"sourceText":{"type":"string","description":"Source text to translate","example":"Hello world!","minLength":1},"sourceProjectLanguage":{"type":"string","description":"Project source language key (optional). It's required to load additional information about the source language (e.g. DeepL glossary).","example":"pl_PL"},"sourceLanguage":{"type":"string","description":"Provider source language key (optional). If not provided, the source language will be detected automatically.","example":"PL"}},"required":["sourceText","targetLanguage","translationProvider"]},"ApiSingleTranslateResponse":{"type":"object","properties":{"translatedText":{"type":"string"}}},"UpdateTranslationRequestV2":{"type":"object","properties":{"key":{"type":"string","minLength":1},"language":{"type":"string","minLength":1},"text":{"type":"string","maxLength":21400,"minLength":0},"customerId":{"type":"string"},"namespace":{"type":"string"},"reviewStatus":{"type":"string","enum":["REVIEWED","NOT_REVIEWED",""],"oneOf":[{"type":"string"}]}},"required":["key","language","text"]},"UpdateTranslationBulkRequestV2":{"type":"object","properties":{"translations":{"type":"array","items":{"$ref":"#/components/schemas/UpdateTranslationRequestV2"},"maxItems":100,"minItems":0}}},"UpdateTranslationBulkResponseV2":{"type":"object","properties":{"failures":{"type":"array","items":{"$ref":"#/components/schemas/Failure"}}}},"UpdateTranslationKeyRequestV2":{"type":"object","properties":{"key":{"type":"string"},"namespace":{"type":"string"},"description":{"type":"string","maxLength":500,"minLength":0},"codeDescription":{"type":"string","maxLength":500,"minLength":0},"charactersLimit":{"type":"integer","format":"int32"},"deprecated":{"type":"boolean"},"lock":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"},"maxItems":5,"minItems":0},"attributes":{"type":"object","additionalProperties":{}}}},"UpdateTagRequestV1":{"type":"object","properties":{"name":{"type":"string","description":"Tag name","example":"my-feature"},"color":{"type":"string","description":"Tag color","example":"6e56ce"}}},"LanguageUpdateRequestV1":{"type":"object","properties":{"key":{"type":"string","maxLength":20,"minLength":0},"name":{"type":"string","maxLength":200,"minLength":0}}},"CdnCustomHostingUpdateApiRequest":{"type":"object","properties":{"provider":{"type":"string","description":"Custom translation hosting provider. Use 'NONE' to disable custom hosting.","enum":["NONE","AMAZON_S3","AZURE_BLOB_STORAGE","GOOGLE_CLOUD_STORAGE"],"example":"AMAZON_S3"},"accessKey":{"type":"string","description":"AWS S3 access key"},"secretKey":{"type":"string","description":"AWS S3 secret key"},"region":{"type":"string","description":"AWS S3 region"},"bucket":{"type":"string","description":"AWS S3 bucket name"},"accountName":{"type":"string","description":"Azure Storage account name"},"accountKey":{"type":"string","description":"Azure Storage account key"},"containerName":{"type":"string","description":"Azure Blob Storage container name"},"credentialsJson":{"type":"string","description":"Google Cloud Storage credentials JSON"}},"required":["provider"]},"CustomerUpdateRequestV1":{"type":"object","properties":{"key":{"type":"string","maxLength":40,"minLength":0},"displayName":{"type":"string","maxLength":32,"minLength":0},"description":{"type":"string","maxLength":255,"minLength":0}}},"DownloadableFile":{"type":"object","properties":{"url":{"type":"string"},"namespace":{"type":"string"},"language":{"type":"string"}}},"GetExportTranslationsV4":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/DownloadableFile"}}}},"ApiTranslationResponseV2":{"type":"object","properties":{"key":{"type":"string","description":"Translation key","example":"hello_world"},"namespace":{"type":"string","description":"Namespace","example":"common"},"language":{"type":"string","description":"Language key","example":"en_EN"},"customerId":{"type":"string","description":"Customer ID (Business Plan only)","example":"acme"},"text":{"type":"string","description":"Translation text","example":"Hello world"},"reviewStatus":{"type":"string","description":"Status of the translation review","enum":["NOT_REVIEWED","REVIEWED"],"example":"NOT_REVIEWED"},"review":{"$ref":"#/components/schemas/ReviewDetails"},"lastModifiedAt":{"type":"string","description":"When translation was last modified","example":"2021-01-01T00:00:00.000Z"}}},"PageDetails":{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"currentPage":{"type":"integer","format":"int32"},"hasNext":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"}}},"PagedTranslationsV2RestResponse":{"type":"object","properties":{"msg":{"type":"string","description":"Message","example":"OK"},"status":{"type":"integer","format":"int32","description":"Status code","example":200},"data":{"type":"array","description":"Response data","items":{"$ref":"#/components/schemas/ApiTranslationResponseV2"}},"pageDetails":{"$ref":"#/components/schemas/PageDetails","description":"Page details"}}},"ReviewDetails":{"type":"object","properties":{"by":{"type":"string","description":"Email of the user who set reviewStatus to REVIEWED","example":"reviewer@example.com"},"at":{"type":"string","description":"When reviewStatus was set to REVIEWED","example":"2021-01-01T00:00:00.000Z"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelApiTranslationResponseV2":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ApiTranslationResponseV2"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"TranslationKeyAllResponseV2":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"namespace":{"type":"string"}}},"ApiCustomerDetailsV2":{"type":"object","properties":{"key":{"type":"string"}}},"ApiLanguageDetailsV2":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"isDefault":{"type":"boolean"},"translationProvider":{"type":"string","enum":["GOOGLE_TRANSLATE","DEEPL","OPEN_AI","OPEN_ROUTER","CUSTOM_AI","EXTERNAL_API","SYSTRAN","PSEUDO_TRANSLATE","TRANSLATION_MEMORY","DISABLED"]},"providerLanguage":{"type":"string"}}},"ApiNamespaceDetailsV2":{"type":"object","properties":{"name":{"type":"string"}}},"ApiProjectDetailsItemV2":{"type":"object","properties":{"name":{"type":"string"},"projectToken":{"type":"string"},"apiKey":{"type":"string"},"languages":{"type":"array","items":{"$ref":"#/components/schemas/ApiLanguageDetailsV2"}},"customers":{"type":"array","items":{"$ref":"#/components/schemas/ApiCustomerDetailsV2"}},"namespaces":{"type":"array","items":{"$ref":"#/components/schemas/ApiNamespaceDetailsV2"}},"keys":{"type":"integer","format":"int32"},"unpublishedChanges":{"type":"integer","format":"int32"},"translatedPercentage":{"type":"number","format":"double"},"lastActivityAt":{"type":"string"},"lastEditedAt":{"type":"string"},"createdAt":{"type":"string"},"translatedKeysByLanguage":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}},"features":{"type":"array","items":{"type":"string"}}}},"ApiEnvironmentDetailsV2":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"color":{"type":"string"}}},"ApiHostingResourceV2":{"type":"object","properties":{"path":{"type":"string"},"namespace":{"type":"string"},"language":{"type":"string"},"customerId":{"type":"string"},"key":{"type":"string"}}},"ApiProjectDetailsV2":{"type":"object","properties":{"name":{"type":"string"},"projectToken":{"type":"string"},"languages":{"type":"array","items":{"$ref":"#/components/schemas/ApiLanguageDetailsV2"}},"customers":{"type":"array","items":{"$ref":"#/components/schemas/ApiCustomerDetailsV2"}},"namespaces":{"type":"array","items":{"$ref":"#/components/schemas/ApiNamespaceDetailsV2"}},"environments":{"type":"array","items":{"$ref":"#/components/schemas/ApiEnvironmentDetailsV2"}},"keys":{"type":"integer","format":"int32"},"unpublishedChanges":{"type":"integer","format":"int32"},"translatedPercentage":{"type":"number","format":"double"},"lastActivityAt":{"type":"string"},"lastEditedAt":{"type":"string"},"createdAt":{"type":"string"},"translatedKeysByLanguage":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}},"hostingResources":{"type":"array","items":{"$ref":"#/components/schemas/ApiHostingResourceV2"}}}},"JobItemV2":{"type":"object","properties":{"jobId":{"type":"string"},"progress":{"type":"number","format":"float"},"status":{"type":"string"},"type":{"type":"string"},"message":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"CdnEnvironmentApiDetails":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"color":{"type":"string"},"type":{"type":"string","enum":["DEFAULT","CUSTOM"]}}},"ApiEnvironmentStatusResource":{"type":"object","properties":{"link":{"type":"string","example":"{{projectToken}}/{{environment}}/_index"},"customer":{"type":"string","example":"acme"},"language":{"type":"string","example":"en"},"namespace":{"type":"string","example":"common"},"size":{"type":"integer","format":"int32","example":89571}}},"ApiEnvironmentStatusResponse":{"type":"object","properties":{"numberOfKeys":{"type":"integer","format":"int32","example":2137},"numberOfLanguages":{"type":"integer","format":"int32","example":5},"numberOfNonEmptyTranslations":{"type":"integer","format":"int32","example":642},"createdAt":{"type":"string","format":"date-time","example":"2021-01-01T00:00:00.000Z"},"labels":{"type":"array","example":["mobile","v1.0"],"items":{"type":"string"}},"resources":{"type":"array","items":{"$ref":"#/components/schemas/ApiEnvironmentStatusResource"}}}},"PagedTranslationKeysV2RestResponse":{"type":"object","properties":{"msg":{"type":"string","description":"Message","example":"OK"},"status":{"type":"integer","format":"int32","description":"Status code","example":200},"data":{"type":"array","description":"Response data","items":{"$ref":"#/components/schemas/TranslationKeyResponseV2"}},"pageDetails":{"$ref":"#/components/schemas/PageDetails","description":"Page details"}}},"TranslationKeyResponseV2":{"type":"object","properties":{"key":{"type":"string"},"namespace":{"type":"string"},"description":{"type":"string"},"codeDescription":{"type":"string"},"createdAt":{"type":"string"},"createdSource":{"type":"string"},"lastSeenAt":{"type":"string"},"lastSeenSource":{"type":"string"},"charactersLimit":{"type":"integer","format":"int32"},"deprecated":{"type":"boolean"},"attributes":{"type":"object","additionalProperties":{}}}},"TranslationKeyAllResponseV1":{"type":"object","properties":{"key":{"type":"string"},"namespace":{"type":"string"}}},"Tag":{"type":"object","properties":{"name":{"type":"string"},"color":{"type":"string"}}},"TranslationKeyDetailsResponseV2":{"type":"object","properties":{"key":{"type":"string"},"namespace":{"type":"string"},"description":{"type":"string"},"codeDescription":{"type":"string"},"createdAt":{"type":"string"},"createdSource":{"type":"string"},"lastSeenAt":{"type":"string"},"lastSeenSource":{"type":"string"},"charactersLimit":{"type":"integer","format":"int32"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"deprecated":{"type":"boolean"},"attributes":{"type":"object","additionalProperties":{}}}},"ListTagResponseV1":{"type":"object","properties":{"name":{"type":"string"},"color":{"type":"string"},"usageCount":{"type":"integer","format":"int32"}}},"CommentAuthor":{"type":"object","properties":{"name":{"type":"string"},"role":{"type":"string"},"profileImageUrl":{"type":"string"},"isAnonymous":{"type":"boolean"}}},"CommentResponse":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"votes":{"type":"integer","format":"int32"},"userVote":{"type":"integer","format":"int32"},"suggestedTranslation":{"type":"string"},"suggestedTranslationApprovedAt":{"type":"string","format":"date-time"},"author":{"$ref":"#/components/schemas/CommentAuthor"},"createdAt":{"type":"string","format":"date-time"},"deletedAt":{"type":"string","format":"date-time"},"canDelete":{"type":"boolean"},"canModify":{"type":"boolean"},"canIgnore":{"type":"boolean"},"modifiedAt":{"type":"string","format":"date-time"},"ignoredAt":{"type":"string","format":"date-time"},"link":{"type":"string"},"namespace":{"type":"string"},"translationKey":{"type":"string"},"languageKey":{"type":"string"}}},"PagedModelCommentResponse":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/CommentResponse"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"ApiProjectContributor":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"status":{"type":"string","enum":["INVITED","ACCEPTED"]},"role":{"type":"string","enum":["OWNER","ADMIN","TRANSLATOR"]},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}},"assignedLanguages":{"type":"array","items":{"$ref":"#/components/schemas/AssignedLanguage"}},"defaultLanguageAccess":{"type":"string","enum":["WRITE_READ","READ","HIDDEN"]},"assignedTags":{"type":"array","items":{"$ref":"#/components/schemas/AssignedTag"}},"defaultTagAccess":{"type":"string","enum":["WRITE_READ","HIDDEN"]},"assignedCustomers":{"type":"array","items":{"$ref":"#/components/schemas/AssignedCustomer"}},"defaultCustomerAccess":{"type":"string","enum":["WRITE_READ","HIDDEN"]}}},"FileFormatItem":{"type":"object","properties":{"value":{"type":"string"},"multiLanguageSupport":{"type":"boolean"},"deprecated":{"type":"boolean"},"beta":{"type":"boolean"}}},"FileFormatsResponse":{"type":"object","properties":{"fileFormats":{"type":"array","items":{"$ref":"#/components/schemas/FileFormatItem"}}}},"ActivityEnvironmentDetails":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"color":{"type":"string"}}},"ActivityItemResponseV1":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["IMPORT","REVERT","EXPORT","CHANGE","PUBLICATION","ENVIRONMENT_PUBLICATION","AUTO_TRANSLATION_SUCCESS","AUTO_TRANSLATION_FAILED","TEST","SNAPSHOT_CREATE","SNAPSHOT_RESTORE","PROJECT_PURGE","BACKUP_CREATE","BACKUP_RESTORE","SUGGESTION_CREATE","COMMENT_CREATE"]},"source":{"type":"string","enum":["WEB_EDITOR","FILE_IMPORT","CLI","API","WEB","AUTOMATION","AI","FIGMA","INTELLIJ","VSCODE","GITHUB","SHOPIFY","WEBFLOW"]},"user":{"type":"string"},"numberOfKeys":{"type":"integer","format":"int32"},"numberOfLanguages":{"type":"integer","format":"int32"},"numberOfChanges":{"type":"integer","format":"int32"},"running":{"type":"boolean"},"environment":{"$ref":"#/components/schemas/ActivityEnvironmentDetails"},"createdAt":{"type":"string","format":"date-time"}}},"ContentChangeRequest":{"type":"object","properties":{"action":{"type":"string","enum":["CREATE_KEY","DELETE_KEY","CHANGE_KEY","CHANGE_TRANSLATION","CHANGE_REVIEW_STATUS","CREATE_LANGUAGE","CHANGE_LANGUAGE","DELETE_LANGUAGE","CREATE_CUSTOMER","CHANGE_CUSTOMER","DELETE_CUSTOMER"]},"key":{"type":"string"},"namespace":{"type":"string"},"oldNamespace":{"type":"string"},"oldKey":{"type":"string"},"newNamespace":{"type":"string"},"newKey":{"type":"string"},"word":{"type":"string"},"oldWord":{"type":"string"},"language":{"type":"string"},"overrideKey":{"type":"string"},"reviewStatus":{"type":"string","enum":["NOT_REVIEWED","REVIEWED","REVIEWED","NOT_REVIEWED",""]},"deprecatedAt":{"type":"string","format":"date-time"},"occurred":{"type":"string","format":"date-time"},"autoTranslatedBy":{"type":"string"}}},"DeleteTranslationKeyBulkRequestV2":{"type":"object","properties":{"translationKeys":{"type":"array","items":{"$ref":"#/components/schemas/DeleteTranslationKeyRequestV2"},"maxItems":100,"minItems":0}}},"DeleteTranslationKeyRequestV2":{"type":"object","properties":{"key":{"type":"string","maxLength":500,"minLength":0},"namespace":{"type":"string","maxLength":128,"minLength":0}},"required":["key"]},"DeleteTranslationKeyBulkResponseV2":{"type":"object","properties":{"failures":{"type":"array","items":{"$ref":"#/components/schemas/Failure"}}}},"ApiProjectContributorRemoveRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","minLength":1}},"required":["email"]}},"securitySchemes":{"Personal Access Token":{"type":"apiKey","description":"Personal Access Token","name":"Authorization","in":"header"},"Project API Key":{"type":"apiKey","description":"Project API Key","name":"X-SimpleLocalize-Token","in":"header"}}}}