{
  "service": "lokalise",
  "displayName": "Lokalise",
  "categories": [
    "Productivity",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "LOKALISE_API_TOKEN",
      "description": "Lokalise API token sent in the X-Api-Token header. Create or copy a token from Profile settings > API tokens; Lokalise documents this at https://developers.lokalise.com/reference/api-authentication.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://lokalise.com",
  "actions": [
    {
      "id": "lokalise.create_keys",
      "service": "lokalise",
      "name": "create_keys",
      "description": "Create one or more translation keys in a Lokalise project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key_name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The key identifier."
                },
                "platforms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "android",
                      "ios",
                      "other",
                      "web"
                    ],
                    "description": "A Lokalise platform name."
                  },
                  "description": "Platforms enabled for the key.",
                  "minItems": 1
                },
                "description": {
                  "type": "string",
                  "description": "The key description."
                },
                "filenames": {
                  "type": "object",
                  "properties": {
                    "ios": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The iOS platform filename."
                    },
                    "android": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Android platform filename."
                    },
                    "web": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Web platform filename."
                    },
                    "other": {
                      "type": "string",
                      "minLength": 1,
                      "description": "The Other platform filename."
                    }
                  },
                  "additionalProperties": false,
                  "description": "Filenames for each platform."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Lokalise tag."
                  },
                  "description": "Tags to assign to the key."
                },
                "comments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "comment": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The comment message."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "comment"
                    ],
                    "description": "A comment to create with a key."
                  },
                  "description": "Comments to attach to this key."
                },
                "translations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "language_iso": {
                        "type": "string",
                        "minLength": 1,
                        "description": "The language code of the translation."
                      },
                      "translation": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "Translation text."
                          },
                          {
                            "type": "object",
                            "properties": {},
                            "additionalProperties": true,
                            "description": "Plural-form translation object."
                          }
                        ],
                        "description": "Translation content as text or plural-form object."
                      },
                      "is_reviewed": {
                        "type": "boolean",
                        "description": "Whether the translation should be marked reviewed."
                      },
                      "is_unverified": {
                        "type": "boolean",
                        "description": "Whether the translation should be marked unverified."
                      },
                      "custom_translation_status_ids": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A custom translation status ID."
                        },
                        "description": "Custom translation status IDs to assign."
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "language_iso",
                      "translation"
                    ],
                    "description": "A translation to create with a key."
                  },
                  "description": "Translations to create with this key."
                },
                "is_plural": {
                  "type": "boolean",
                  "description": "Whether this key is plural."
                },
                "plural_name": {
                  "type": "string",
                  "description": "The custom plural name."
                },
                "is_hidden": {
                  "type": "boolean",
                  "description": "Whether this key is hidden from non-admin contributors."
                },
                "is_archived": {
                  "type": "boolean",
                  "description": "Whether this key is archived."
                },
                "context": {
                  "type": "string",
                  "description": "The optional key context."
                },
                "char_limit": {
                  "type": "number",
                  "description": "The maximum allowed number of characters."
                },
                "custom_attributes": {
                  "type": "string",
                  "description": "JSON encoded custom key attributes."
                }
              },
              "additionalProperties": false,
              "required": [
                "key_name",
                "platforms"
              ],
              "description": "One Lokalise key to create."
            },
            "description": "Keys to add to the project.",
            "minItems": 1
          },
          "use_automations": {
            "type": "boolean",
            "description": "Whether to run automations on the new key translations."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "keys"
        ],
        "description": "Input for creating Lokalise keys."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lokalise key."
            },
            "description": "Keys returned by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "keys"
        ],
        "description": "Created Lokalise keys."
      }
    },
    {
      "id": "lokalise.delete_key",
      "service": "lokalise",
      "name": "delete_key",
      "description": "Delete one Lokalise key by key ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "key_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The unique Lokalise key identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "key_id"
        ],
        "description": "Input for deleting one Lokalise key."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "keyRemoved": {
            "type": "boolean",
            "description": "Whether Lokalise removed the key."
          },
          "keysLocked": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of locked keys reported by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "keyRemoved",
          "keysLocked"
        ],
        "description": "The result returned after deleting a Lokalise key."
      }
    },
    {
      "id": "lokalise.get_key",
      "service": "lokalise",
      "name": "get_key",
      "description": "Retrieve one Lokalise key by key ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "key_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The unique Lokalise key identifier."
          },
          "disable_references": {
            "type": "boolean",
            "description": "Whether to disable key references."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "key_id"
        ],
        "description": "Input for retrieving one Lokalise key."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "key": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Lokalise key."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "key"
        ],
        "description": "A Lokalise key response."
      }
    },
    {
      "id": "lokalise.get_project",
      "service": "lokalise",
      "name": "get_project",
      "description": "Retrieve one Lokalise project by project ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id"
        ],
        "description": "Input for retrieving one Lokalise project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Lokalise project."
          }
        },
        "additionalProperties": false,
        "required": [
          "project"
        ],
        "description": "A Lokalise project response."
      }
    },
    {
      "id": "lokalise.get_translation",
      "service": "lokalise",
      "name": "get_translation",
      "description": "Retrieve one Lokalise translation by translation ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "translation_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The unique Lokalise translation identifier."
          },
          "disable_references": {
            "type": "boolean",
            "description": "Whether to disable key references."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "translation_id"
        ],
        "description": "Input for retrieving one Lokalise translation."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "translation": {
            "type": "object",
            "properties": {
              "translation_id": {
                "type": "number",
                "description": "The unique translation identifier."
              },
              "key_id": {
                "type": "number",
                "description": "The key identifier this translation belongs to."
              },
              "language_iso": {
                "type": "string",
                "description": "The language code for this translation."
              },
              "modified_at": {
                "type": "string",
                "description": "When the translation was last modified."
              },
              "modified_at_timestamp": {
                "type": "number",
                "description": "Unix timestamp when the translation was last modified."
              },
              "modified_by": {
                "type": "number",
                "description": "The user identifier that last modified the translation."
              },
              "modified_by_email": {
                "type": "string",
                "description": "The email address of the user that last modified the translation."
              },
              "translation": {
                "description": "The translation content returned by Lokalise."
              },
              "is_unverified": {
                "type": "boolean",
                "description": "Whether the translation is marked unverified."
              },
              "is_reviewed": {
                "type": "boolean",
                "description": "Whether the translation is marked reviewed."
              },
              "reviewed_by": {
                "type": "number",
                "description": "The user identifier that reviewed the translation."
              },
              "words": {
                "type": "number",
                "description": "The number of words in the translation."
              },
              "custom_translation_statuses": {
                "type": "array",
                "items": {
                  "description": "A custom translation status."
                },
                "description": "Custom translation statuses assigned to this translation."
              },
              "task_id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The task identifier when the translation belongs to a task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "segment_number": {
                "type": "number",
                "description": "The segment number when segmentation is used."
              }
            },
            "additionalProperties": true,
            "description": "A Lokalise translation item."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "translation"
        ],
        "description": "A Lokalise translation response."
      }
    },
    {
      "id": "lokalise.list_keys",
      "service": "lokalise",
      "name": "list_keys",
      "description": "List translation keys in a Lokalise project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "disable_references": {
            "type": "boolean",
            "description": "Whether to disable key references."
          },
          "include_comments": {
            "type": "boolean",
            "description": "Whether to include comments."
          },
          "include_screenshots": {
            "type": "boolean",
            "description": "Whether to include screenshot URLs."
          },
          "include_translations": {
            "type": "boolean",
            "description": "Whether to include translations."
          },
          "filter_translation_lang_ids": {
            "type": "string",
            "minLength": 1,
            "description": "One or more language IDs to include translations for, comma-separated."
          },
          "filter_tags": {
            "type": "string",
            "minLength": 1,
            "description": "One or more tags to filter by, comma-separated."
          },
          "filter_filenames": {
            "type": "string",
            "minLength": 1,
            "description": "One or more filenames to filter by, comma-separated."
          },
          "filter_keys": {
            "type": "string",
            "minLength": 1,
            "description": "One or more key names to filter by, comma-separated."
          },
          "filter_key_ids": {
            "type": "string",
            "minLength": 1,
            "description": "One or more key identifiers to filter by, comma-separated."
          },
          "filter_platforms": {
            "type": "string",
            "minLength": 1,
            "description": "One or more platforms to filter by, comma-separated."
          },
          "filter_untranslated": {
            "type": "boolean",
            "description": "Whether to filter untranslated keys."
          },
          "filter_qa_issues": {
            "type": "string",
            "minLength": 1,
            "description": "One or more QA issue codes to filter by, comma-separated."
          },
          "filter_archived": {
            "type": "string",
            "enum": [
              "exclude",
              "include",
              "only"
            ],
            "description": "The archive filter to apply."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The number of keys to include, up to 500."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Return results starting from this page."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id"
        ],
        "description": "Query parameters for listing Lokalise keys."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "keys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lokalise key."
            },
            "description": "Keys returned by Lokalise."
          },
          "totalCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of items reported by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "keys"
        ],
        "description": "A page of Lokalise keys."
      }
    },
    {
      "id": "lokalise.list_project_languages",
      "service": "lokalise",
      "name": "list_project_languages",
      "description": "List languages configured on a Lokalise project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "The number of items to include, up to 5000."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Return results starting from this page."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id"
        ],
        "description": "Query parameters for listing project languages."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "languages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "lang_id": {
                  "type": "number",
                  "description": "The unique language identifier."
                },
                "lang_iso": {
                  "type": "string",
                  "description": "The language or locale code."
                },
                "lang_name": {
                  "type": "string",
                  "description": "The language name."
                },
                "is_rtl": {
                  "type": "boolean",
                  "description": "Whether the language is right-to-left."
                },
                "plural_forms": {
                  "type": "array",
                  "items": {
                    "description": "A plural form value."
                  },
                  "description": "The supported plural forms."
                },
                "cc_iso": {
                  "type": "string",
                  "description": "The associated country code."
                }
              },
              "additionalProperties": true,
              "description": "A Lokalise language assigned to a project."
            },
            "description": "Project languages returned by Lokalise."
          },
          "totalCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of items reported by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "languages"
        ],
        "description": "A page of Lokalise project languages."
      }
    },
    {
      "id": "lokalise.list_projects",
      "service": "lokalise",
      "name": "list_projects",
      "description": "List Lokalise projects visible to the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "filter_team_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Limit results to this Lokalise team ID."
          },
          "filter_names": {
            "type": "string",
            "minLength": 1,
            "description": "One or more project names to filter by, comma-separated."
          },
          "include_statistics": {
            "type": "boolean",
            "description": "Whether to include project statistics."
          },
          "include_settings": {
            "type": "boolean",
            "description": "Whether to include project settings."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "The number of items to include, up to 5000."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Return results starting from this page."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Lokalise projects."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Lokalise project."
            },
            "description": "Projects returned by Lokalise."
          },
          "totalCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of items reported by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projects"
        ],
        "description": "A page of Lokalise projects."
      }
    },
    {
      "id": "lokalise.list_translations",
      "service": "lokalise",
      "name": "list_translations",
      "description": "List translation items in a Lokalise project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "disable_references": {
            "type": "boolean",
            "description": "Whether to disable key references."
          },
          "filter_lang_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Return translations only for this language ID."
          },
          "filter_is_reviewed": {
            "type": "boolean",
            "description": "Whether to filter reviewed translations."
          },
          "filter_unverified": {
            "type": "boolean",
            "description": "Whether to filter unverified translations."
          },
          "filter_untranslated": {
            "type": "boolean",
            "description": "Whether to filter untranslated translations."
          },
          "filter_qa_issues": {
            "type": "string",
            "minLength": 1,
            "description": "One or more QA issue codes to filter by, comma-separated."
          },
          "filter_active_task_id": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter translations by this active task ID."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5000,
            "description": "The number of items to include, up to 5000."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Return results starting from this page."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id"
        ],
        "description": "Query parameters for listing Lokalise translations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "translations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "translation_id": {
                  "type": "number",
                  "description": "The unique translation identifier."
                },
                "key_id": {
                  "type": "number",
                  "description": "The key identifier this translation belongs to."
                },
                "language_iso": {
                  "type": "string",
                  "description": "The language code for this translation."
                },
                "modified_at": {
                  "type": "string",
                  "description": "When the translation was last modified."
                },
                "modified_at_timestamp": {
                  "type": "number",
                  "description": "Unix timestamp when the translation was last modified."
                },
                "modified_by": {
                  "type": "number",
                  "description": "The user identifier that last modified the translation."
                },
                "modified_by_email": {
                  "type": "string",
                  "description": "The email address of the user that last modified the translation."
                },
                "translation": {
                  "description": "The translation content returned by Lokalise."
                },
                "is_unverified": {
                  "type": "boolean",
                  "description": "Whether the translation is marked unverified."
                },
                "is_reviewed": {
                  "type": "boolean",
                  "description": "Whether the translation is marked reviewed."
                },
                "reviewed_by": {
                  "type": "number",
                  "description": "The user identifier that reviewed the translation."
                },
                "words": {
                  "type": "number",
                  "description": "The number of words in the translation."
                },
                "custom_translation_statuses": {
                  "type": "array",
                  "items": {
                    "description": "A custom translation status."
                  },
                  "description": "Custom translation statuses assigned to this translation."
                },
                "task_id": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The task identifier when the translation belongs to a task."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "segment_number": {
                  "type": "number",
                  "description": "The segment number when segmentation is used."
                }
              },
              "additionalProperties": true,
              "description": "A Lokalise translation item."
            },
            "description": "Translations returned by Lokalise."
          },
          "totalCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The total number of items reported by Lokalise."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "translations"
        ],
        "description": "A page of Lokalise translations."
      }
    },
    {
      "id": "lokalise.update_key",
      "service": "lokalise",
      "name": "update_key",
      "description": "Update one Lokalise key by key ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "key_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The unique Lokalise key identifier."
          },
          "key_name": {
            "type": "string",
            "minLength": 1,
            "description": "The key identifier."
          },
          "description": {
            "type": "string",
            "description": "The key description."
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "android",
                "ios",
                "other",
                "web"
              ],
              "description": "A Lokalise platform name."
            },
            "description": "Platforms enabled for the key.",
            "minItems": 1
          },
          "filenames": {
            "type": "object",
            "properties": {
              "ios": {
                "type": "string",
                "minLength": 1,
                "description": "The iOS platform filename."
              },
              "android": {
                "type": "string",
                "minLength": 1,
                "description": "The Android platform filename."
              },
              "web": {
                "type": "string",
                "minLength": 1,
                "description": "The Web platform filename."
              },
              "other": {
                "type": "string",
                "minLength": 1,
                "description": "The Other platform filename."
              }
            },
            "additionalProperties": false,
            "description": "Filenames for each platform."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Lokalise tag."
            },
            "description": "Tags to assign to the key."
          },
          "merge_tags": {
            "type": "boolean",
            "description": "Whether to merge supplied tags with existing tags."
          },
          "is_plural": {
            "type": "boolean",
            "description": "Whether this key is plural."
          },
          "plural_name": {
            "type": "string",
            "description": "The custom plural name."
          },
          "is_hidden": {
            "type": "boolean",
            "description": "Whether this key is hidden from non-admin contributors."
          },
          "is_archived": {
            "type": "boolean",
            "description": "Whether this key is archived."
          },
          "context": {
            "type": "string",
            "description": "The optional key context."
          },
          "char_limit": {
            "type": "number",
            "description": "The maximum allowed number of characters."
          },
          "custom_attributes": {
            "type": "string",
            "description": "JSON encoded custom key attributes."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "key_id"
        ],
        "description": "Input for updating one Lokalise key."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "key": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Lokalise key."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "key"
        ],
        "description": "A Lokalise key response."
      }
    },
    {
      "id": "lokalise.update_translation",
      "service": "lokalise",
      "name": "update_translation",
      "description": "Update one Lokalise translation by translation ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "project_id": {
            "type": "string",
            "minLength": 1,
            "description": "The unique Lokalise project identifier."
          },
          "translation_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The unique Lokalise translation identifier."
          },
          "translation": {
            "anyOf": [
              {
                "type": "string",
                "description": "Translation text."
              },
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Plural-form translation object."
              }
            ],
            "description": "Translation content as text or plural-form object."
          },
          "is_unverified": {
            "type": "boolean",
            "description": "Whether the translation should be marked unverified."
          },
          "is_reviewed": {
            "type": "boolean",
            "description": "Whether the translation should be marked reviewed."
          },
          "custom_translation_status_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A custom translation status ID."
            },
            "description": "Custom translation status IDs to assign, replacing existing statuses."
          }
        },
        "additionalProperties": false,
        "required": [
          "project_id",
          "translation_id",
          "translation"
        ],
        "description": "Input for updating one Lokalise translation."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "The Lokalise project identifier."
          },
          "translation": {
            "type": "object",
            "properties": {
              "translation_id": {
                "type": "number",
                "description": "The unique translation identifier."
              },
              "key_id": {
                "type": "number",
                "description": "The key identifier this translation belongs to."
              },
              "language_iso": {
                "type": "string",
                "description": "The language code for this translation."
              },
              "modified_at": {
                "type": "string",
                "description": "When the translation was last modified."
              },
              "modified_at_timestamp": {
                "type": "number",
                "description": "Unix timestamp when the translation was last modified."
              },
              "modified_by": {
                "type": "number",
                "description": "The user identifier that last modified the translation."
              },
              "modified_by_email": {
                "type": "string",
                "description": "The email address of the user that last modified the translation."
              },
              "translation": {
                "description": "The translation content returned by Lokalise."
              },
              "is_unverified": {
                "type": "boolean",
                "description": "Whether the translation is marked unverified."
              },
              "is_reviewed": {
                "type": "boolean",
                "description": "Whether the translation is marked reviewed."
              },
              "reviewed_by": {
                "type": "number",
                "description": "The user identifier that reviewed the translation."
              },
              "words": {
                "type": "number",
                "description": "The number of words in the translation."
              },
              "custom_translation_statuses": {
                "type": "array",
                "items": {
                  "description": "A custom translation status."
                },
                "description": "Custom translation statuses assigned to this translation."
              },
              "task_id": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The task identifier when the translation belongs to a task."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "segment_number": {
                "type": "number",
                "description": "The segment number when segmentation is used."
              }
            },
            "additionalProperties": true,
            "description": "A Lokalise translation item."
          }
        },
        "additionalProperties": false,
        "required": [
          "projectId",
          "translation"
        ],
        "description": "A Lokalise translation response."
      }
    }
  ]
}
