# Lokalise Developer Hub Documentation
## Guides
- [Node, React, and Next.js](https://developers.lokalise.com/docs/lokalise-api-hello-world-app-with-node.md): This tutorial will show you how to use the Lokalise Node SDK to upload/download translation files to/from your Lokalise project and set up an OAuth 2 flow.
- [PHP and Symfony](https://developers.lokalise.com/docs/lokalise-api-hello-world-app-with-php.md): This tutorial will show you how to manage translation files with the Lokalise API and how to implement an OAuth 2 flow.
- [Python and Flask](https://developers.lokalise.com/docs/lokalise-api-hello-world-app-with-python.md): This tutorial will show you how to use the Lokalise Python SDK to manage translation files and how to implement an OAuth 2 flow.
- [Ruby on Rails](https://developers.lokalise.com/docs/lokalise-api-hello-world-app-with-rails.md): This tutorial will show you how to use the Lokalise Ruby SDK to manage translation files and how to implement an OAuth 2 flow.
- [Node](https://developers.lokalise.com/docs/webhooks-node.md): This tutorial will show you how to use the Lokalise Node SDK to create webhooks, listen to webhook events in third-party apps, and handle the incoming notifications.
- [PHP and Symfony](https://developers.lokalise.com/docs/webhooks-php-and-symfony.md): This tutorial will show you how to use the Lokalise PHP SDK to create webhooks, listen to webhook events in third-party apps, and handle incoming notifications.
- [Python and Flask](https://developers.lokalise.com/docs/webhooks-python-and-flask.md): This tutorial will show you how to use the Lokalise Python SDK to create webhooks, listen to webhook events in third-party apps, and handle incoming notifications.
- [Ruby on Rails](https://developers.lokalise.com/docs/webhooks-ruby-on-rails.md): This tutorial will show you how to use the Lokalise Ruby SDK to create webhooks, listen to webhook events in third-party apps, and handle incoming notifications.
- [Frontend I18n](https://developers.lokalise.com/docs/frontend-i18n.md)
- [Android SDK v2 Changelog](https://developers.lokalise.com/docs/android-sdk-v2-changelog.md)
- [Android SDK v2](https://developers.lokalise.com/docs/android-sdk-v2.md): Over-the-air localization SDK for Android devices. No more unnecessary app updates.
- [Flutter SDK: Limitations and workarounds](https://developers.lokalise.com/docs/flutter-sdk-limitations-and-workarounds.md)
- [API changelog](https://developers.lokalise.com/docs/api-changelog.md)
- [Changelog](https://developers.lokalise.com/docs/changelog.md)
- [SDK changelog](https://developers.lokalise.com/docs/sdk-changelog.md)
- [Webhooks changelog](https://developers.lokalise.com/docs/webhooks-changelog.md)
- [GitHub Actions for content exchange](https://developers.lokalise.com/docs/github-actions.md)
- [Webhook events](https://developers.lokalise.com/docs/webhook-events.md)
## API Reference
- [Create comments](https://developers.lokalise.com/reference/create-comments.md): Adds a set of comments to the key. Requires write_comments OAuth access scope.
- [Delete a comment](https://developers.lokalise.com/reference/delete-a-comment.md): Deletes a comment from the project. Authenticated user can only delete own comments. Requires write_comments OAuth access scope.
- [List key comments](https://developers.lokalise.com/reference/list-key-comments.md): Retrieves a list of all comments for a key. Requires read_comments OAuth access scope.
- [List project comments](https://developers.lokalise.com/reference/list-project-comments.md): Retrieves a list of all comments in the project. Requires read_comments OAuth access scope.
- [Retrieve a comment](https://developers.lokalise.com/reference/retrieve-a-comment.md): Retrieves a [Comment](#object-comments) object. Requires read_comments OAuth access scope.
- [Create contributors](https://developers.lokalise.com/reference/create-contributors.md): Creates one or more contributors in the project. Requires *Manage contributors* admin right. If `is_admin` flag is set to `true`, the user would automatically get access to all project languages, overriding supplied `languages` object. Attribute `fullname` will be ignored, if the user has already been registered in Lokalise. Requires write_contributors OAuth access scope.
- [Delete a contributor](https://developers.lokalise.com/reference/delete-a-contributor.md): Deletes a user from the project. Requires *Manage contributors* admin right. Requires delete_contributors OAuth access scope.
- [Delete all contributors](https://developers.lokalise.com/reference/delete-all-contributors.md): Initiates asynchronous deletion of all contributors from the project. Returns a job ID that can be used to track the deletion progress. Requires *Manage contributors* admin right. Requires delete_contributors OAuth access scope. Note: This endpoint returns HTTP 202 (Accepted) upon successful job creation. Use the returned job ID with the job status endpoint to track progress.
- [Get bulk deletion job status](https://developers.lokalise.com/reference/get-bulk-deletion-job-status.md): Retrieves the status of a bulk contributors deletion job. Use the job ID returned from the bulk delete endpoint. Requires read_contributors OAuth access scope.
- [Import contributors](https://developers.lokalise.com/reference/import-contributors.md): Imports contributors from one project to another, copying their roles, permissions, and language assignments. If `contributor_ids` is omitted or empty, all contributors from the source project will be imported. If specified, only the listed contributors will be imported. Requires *Manage contributors* admin right on target project and read access to source project. Requires write_contributors OAuth access scope.
- [List all contributors](https://developers.lokalise.com/reference/list-all-contributors.md): Lists contributors of the project, including access levels to the project languages. Admins always have read/write access to all languages. Requires read_contributors OAuth access scope.
- [Retrieve a contributor](https://developers.lokalise.com/reference/retrieve-a-contributor.md): Retrieves a [Contributor](#object-contributors) object. Requires read_contributors OAuth access scope.
- [Retrieve a contributor representing user sending a query](https://developers.lokalise.com/reference/retrieve-me-as-a-contributor.md): Retrieves a [Contributor](#object-contributors) object. Gets combined permissions from contributor and a group. Requires read_contributors OAuth access scope.
- [Update a contributor](https://developers.lokalise.com/reference/update-a-contributor.md): Updates the properties of a contributor. Requires *Manage contributors* admin right. If you want to give an existing contributor access to a new language, you must specify full `languages` array, including the previously added languages as well. You can pass role_id and permissions will be updated from permission template accordingly, in this case admin_rights param will be ignored Requires write_contributors OAuth access scope.
- [Create a status](https://developers.lokalise.com/reference/create-a-status.md): Creates a custom translation status in the project. Requires write_custom_translation_statuses OAuth access scope.
- [Delete a status](https://developers.lokalise.com/reference/delete-a-status.md): Deletes aa custom translation status. Requires write_custom_translation_statuses OAuth access scope.
- [List all statuses](https://developers.lokalise.com/reference/list-all-statuses.md): Lists all custom translation statuses in the project. Requires read_custom_translation_statuses OAuth access scope.
- [Retrieve a status](https://developers.lokalise.com/reference/retrieve-a-status.md): Retrieves a [Custom Translation Status](#object-translation-statuses) object. Requires read_custom_translation_statuses OAuth access scope.
- [Retrieve available colors](https://developers.lokalise.com/reference/retrieve-available-colors.md): Retrieves an array of available colors that can be assigned to custom translation statuses. Requires read_custom_translation_statuses OAuth access scope.
- [Update a status](https://developers.lokalise.com/reference/update-a-status.md): Updates the custom translation status. Requires write_custom_translation_statuses OAuth access scope.
- [Delete a file](https://developers.lokalise.com/reference/delete-a-file.md): Deletes a file and its associated keys from the project. **Project Type Compatibility:** - ✅ **Documents projects** (paged_documents) - ✅ **Marketing projects** (content_integration, marketing, marketing_integrations) - ❌ **Software projects** (localization_files) - *Not supported* Requires write_files OAuth access scope.
- [Download files (Async)](https://developers.lokalise.com/reference/download-files-async.md): Starts a project export process. The progress of the process can be tracked using the list all processes API endpoint. Once complete, the download URL can be accessed using the Retrieve process API endpoint. For general details about the Download endpoint, please refer to the Download files API endpoint.
- [Download files](https://developers.lokalise.com/reference/download-files.md): Exports project files as a .zip bundle. Generated bundle will be uploaded to an Amazon S3 bucket, which will be stored there for 1 month available to download. As the bundle is generated and uploaded you would get a response with the URL to the file. Requires *Download files* admin right. There are two ways to group keys by filenames when you are exporting - either all keys to a single file per language or use the previously assigned filenames. Learn more. Requires read_files OAuth access scope. *Please note: Starting June 1st, 2025, this endpoint will be limited to projects with under 10,000 key-language pairs, for more details See our API limits page*
- [List all files](https://developers.lokalise.com/reference/list-all-files.md): Lists project files and associated key count. If there are some keys in the project that do not have a file association, they will be returned with filename `__unassigned__`. Requires read_files OAuth access scope.
- [Upload a file](https://developers.lokalise.com/reference/upload-a-file.md): Queues a localization file for import and returns a 202 or 302 response along with a Queued process object. Learn more. Requires *Upload files* admin right. Supported file types. Please note that the 302 response code is not currently used, but in the future it will be returned if the same file is already in the upload queue. Requires write_files OAuth access scope.
- [Create glossary terms](https://developers.lokalise.com/reference/create-glossary-terms.md): Creates one or more glossary terms in the project. Requires *Manage glossary* admin right. Requires write_glossary OAuth access scope.
- [Delete glossary terms](https://developers.lokalise.com/reference/delete-glossary-terms.md): Deletes all glossary terms from the project. Requires *Manage glossary* admin right. Requires write_glossary OAuth access scope.
- [List glossary terms](https://developers.lokalise.com/reference/list-glossary-terms.md): Retrieves a list of glossary terms. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a nextCursor value in the metadata when more data is available. Continue making requests with the nextCursor value until no nextCursor is returned, indicating all data has been retrieved. Requires read_glossary OAuth access scope.
- [Retrieve a glossary term](https://developers.lokalise.com/reference/retrieve-a-glossary-term.md): Retrieves a [Glossary Term](#object-glossary-terms) object. Requires read_glossary OAuth access scope.
- [Update glossary terms](https://developers.lokalise.com/reference/update-glossary-terms.md): Updates one or more glossary terms in the project. Requires *Manage glossary* admin right. Requires write_glossary OAuth access scope.
- [Create a service JWT token](https://developers.lokalise.com/reference/create-service-jwt.md): Create a JWT token for working with other services (primarily OTA/mobile SDKs). **Project Type Compatibility:** - ✅ **Software projects** (localization_files) - *Used with mobile SDKs and OTA updates* - ❌ **Documents projects** (paged_documents) - *Not supported* - ❌ **Marketing projects** (content_integration, marketing, marketing_integrations) - *Not supported*
- [Multi-update](https://developers.lokalise.com/reference/bulk-update.md): Updates one or more keys in the project. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [Create keys](https://developers.lokalise.com/reference/create-keys.md): Creates one or more keys in the project. Requires *Manage keys* admin right. We recommend sending payload in chunks of up to 500 keys per request. Requires write_keys OAuth access scope.
- [Delete a key](https://developers.lokalise.com/reference/delete-a-key.md): Deletes a key from the project. Requires *Manage keys* admin right. **Project Type Compatibility:** - ✅ **Software projects** (localization_files) - ✅ **Marketing projects** (content_integration, marketing, marketing_integrations) - ❌ **Documents projects** (paged_documents) - *Individual key deletion not supported. Keys are managed through file operations.* Requires delete_keys OAuth access scope.
- [Delete multiple keys](https://developers.lokalise.com/reference/delete-multiple-keys.md): Deletes multiple keys from the project. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [List all keys](https://developers.lokalise.com/reference/list-all-keys.md): Lists all keys in the project. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a nextCursor value in the response headers when more data is available. Continue making requests with the nextCursor value until no nextCursor is returned, indicating all data has been retrieved. IMPORTANT: We do not provide a content delivery network for your language files. Do not make a request to this endpoint every time a user visits your website/app. Instead, fetch the results from this endpoint from time to time, store them locally, and serve your visitors with static files/your database content. Alternatively, you may use our File Download endpoint with an Amazon S3/Google CouldStorage integration to automatically upload your language files to a bucket of your choice. Requires read_keys OAuth access scope.
- [Retrieve a key](https://developers.lokalise.com/reference/retrieve-a-key.md): Retrieves a [Key](#object-keys) object. Requires read_keys OAuth access scope.
- [Update a key](https://developers.lokalise.com/reference/update-a-key.md): Updates the properties of a key and it's associated objects. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [Create languages](https://developers.lokalise.com/reference/create-languages.md): Creates one or more languages in the project. Requires *Manage languages* admin right. The `language_iso` is the identifer of one of the system languages. You are only required to include the `language_iso` attribute, however you may override the default language code, language name and plural forms as well. Requires write_languages OAuth access scope.
- [Delete a language](https://developers.lokalise.com/reference/delete-a-language.md): Deletes a language from the project. Requires *Manage languages* admin right. Requires write_languages OAuth access scope.
- [List project languages](https://developers.lokalise.com/reference/list-project-languages.md): Retrieves a list of project languages. Requires read_languages OAuth access scope.
- [List system languages](https://developers.lokalise.com/reference/list-system-languages.md): Retrieves a list of system languages. Requires read_languages OAuth access scope.
- [Retrieve a language](https://developers.lokalise.com/reference/retrieve-a-language.md): Retrieves a [Language](#object-languages) object. Requires read_languages OAuth access scope.
- [Update a language](https://developers.lokalise.com/reference/update-a-language.md): Updates the properties of a language. Requires *Manage languages* admin right. Requires write_languages OAuth access scope.
- [Create an order](https://developers.lokalise.com/reference/create-an-order.md): Creates a translation order. You must have admin privileges in the project you are placing an order in. Requires write_team_orders OAuth access scope.
- [List all orders](https://developers.lokalise.com/reference/list-all-orders.md): Lists all translation orders in the team. Requires read_team_orders OAuth access scope.
- [Retrieve an order](https://developers.lokalise.com/reference/retrieve-an-order.md): Retrieves an [Order](#object-orders) object. Requires read_team_orders OAuth access scope.
- [Create a card](https://developers.lokalise.com/reference/create-a-card.md): Adds new payment card to user cards. Requires write_payment_cards OAuth access scope.
- [Delete a card](https://developers.lokalise.com/reference/delete-a-card.md): Deletes a payment card from user cards. Requires write_payment_cards OAuth access scope.
- [List all cards](https://developers.lokalise.com/reference/list-all-cards.md): Lists all user payment cards. Requires read_payment_cards OAuth access scope.
- [Retrieve a card](https://developers.lokalise.com/reference/retrieve-a-card.md): Retrieves a [Payment card](#object-cards) object. Requires read_payment_cards OAuth access scope.
- [List all permission templates for particular team](https://developers.lokalise.com/reference/list-all-permission-templates.md): List all permission templates for particular team to assign to contributor/group
- [Create a project](https://developers.lokalise.com/reference/create-a-project.md): Creates a new project in the specified team. Requires *Admin* role in the team. Requires write_projects OAuth access scope.
- [Delete a project](https://developers.lokalise.com/reference/delete-a-project.md): Deletes a project. Requires write_projects OAuth access scope.
- [Empty a project](https://developers.lokalise.com/reference/empty-a-project.md): Deletes all keys and translations from the project. Requires *Manage settings* admin right. Requires write_projects OAuth access scope.
- [List all projects](https://developers.lokalise.com/reference/list-all-projects.md): Retrieves a list of projects available to the user, authorized with a token. Requires read_projects OAuth access scope.
- [Retrieve a project](https://developers.lokalise.com/reference/retrieve-a-project.md): Retrieves a [Project](#object-projects) object. Requires read_projects OAuth access scope.
- [Update a project](https://developers.lokalise.com/reference/update-a-project.md): Updates the details of a project. Requires *Manage settings* admin right. Requires write_projects OAuth access scope.
- [List all processes](https://developers.lokalise.com/reference/list-all-processes.md): Retrieves a list of [Queued process](#object-queued-processes) objects. Requires read_background_processes OAuth access scope.
- [Retrieve a process](https://developers.lokalise.com/reference/retrieve-a-process.md): Retrieves a [Queued process](#object-queued-processes) object with an additional details field containing information for a specific process type. Requires read_background_processes OAuth access scope.
- [Create screenshots](https://developers.lokalise.com/reference/create-screenshots.md): Creates one or more screenshots in the project. Requires *Manage screenshots* admin right. Requires write_screenshots OAuth access scope.
- [Delete a screenshot](https://developers.lokalise.com/reference/delete-a-screenshot.md): Deletes a screenshot from the project. Requires *Manage screenshots* admin right. Requires write_screenshots OAuth access scope.
- [List all screenshots](https://developers.lokalise.com/reference/list-all-screenshots.md): Retrieves a list of screenshots from the project. Requires read_screenshots OAuth access scope.
- [Retrieve a screenshot](https://developers.lokalise.com/reference/retrieve-a-screenshot.md): Retrieves a [Screenshot](#object-screenshots) object. Requires read_screenshots OAuth access scope.
- [Update a screenshot](https://developers.lokalise.com/reference/update-a-screenshot.md): Updates the properties of a screenshot. Requires *Manage screenshots* admin right. Requires write_screenshots OAuth access scope.
- [List all segments for key language](https://developers.lokalise.com/reference/list-all-segments-for-key-language.md): Retrieves a list of key segment items.
- [Retrieve a segment for key language](https://developers.lokalise.com/reference/retrieve-a-segment-for-key-language.md): Retrieves a [Segment](#object-segments) object.
- [Update a segment](https://developers.lokalise.com/reference/update-a-segment.md): Updates a segment.
- [Create a snapshot](https://developers.lokalise.com/reference/create-a-snapshot.md): Creates snapshot of the project. Requires *Manage settings* admin right. Requires write_snapshots OAuth access scope.
- [Delete a snapshot](https://developers.lokalise.com/reference/delete-a-snapshot.md): Deletes project snapshot. Requires *Manage settings* admin right. Requires write_snapshots OAuth access scope.
- [List all snapshots](https://developers.lokalise.com/reference/list-all-snapshots.md): Retrieves a list of project snapshots. Requires *Manage settings* admin right. Requires read_snapshots OAuth access scope.
- [Restore a snapshot](https://developers.lokalise.com/reference/restore-a-snapshot.md): Restores project snapshot to a project copy. Requires *Manage settings* admin right and *Admin* role in the team. Requires write_snapshots OAuth access scope.
- [Create a task](https://developers.lokalise.com/reference/create-a-task.md): Creates a task in the project. Requires *Manage tasks* admin right. Keep in mind, that initial_tm_leverage attribute will be empty in server response. It's being calculated after the task is created and this process may take some time. Requires write_tasks OAuth access scope.
- [Delete a task](https://developers.lokalise.com/reference/delete-a-task.md): Deletes a task from the project. Requires *Manage tasks* admin right. Requires write_tasks OAuth access scope.
- [List all tasks](https://developers.lokalise.com/reference/list-all-tasks.md): Lists all tasks in the project. Requires read_tasks OAuth access scope.
- [Retrieve a task](https://developers.lokalise.com/reference/retrieve-a-task.md): Retrieves a [Task](#object-tasks) object. Requires read_tasks OAuth access scope.
- [Retrieve task usage metrics](https://developers.lokalise.com/reference/retrieve-task-usage-metrics.md): Retrieves usage metrics for a specific task. Data is available from November 3rd 2025 onwards. Requires read_tasks OAuth access scope.
- [Update a task](https://developers.lokalise.com/reference/update-a-task.md): Updates the properties of a task. Requires *Manage tasks* admin right. Requires write_tasks OAuth access scope.
- [Add members to group](https://developers.lokalise.com/reference/add-members-to-group.md): Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [Add projects to group](https://developers.lokalise.com/reference/add-projects-to-group.md): Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [Create a group](https://developers.lokalise.com/reference/create-a-group.md): Creates a group in the team. Requires *Admin* right in the team. If `is_admin` flag is set to `true`, the group would automatically get access to all project languages, overriding supplied `languages` object. Requires write_team_groups OAuth access scope.
- [Delete a group](https://developers.lokalise.com/reference/delete-a-group.md): Deletes a group from the team. Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [List all groups](https://developers.lokalise.com/reference/list-all-groups.md): Lists all user groups in the team. Requires read_team_groups OAuth access scope.
- [Remove members from group](https://developers.lokalise.com/reference/remove-members-from-group.md): Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [Remove projects from group](https://developers.lokalise.com/reference/remove-projects-from-group.md): Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [Retrieve a group](https://developers.lokalise.com/reference/retrieve-a-group.md): Retrieves a [User group](#object-user-groups) object. Requires read_team_groups OAuth access scope.
- [Update a group](https://developers.lokalise.com/reference/update-a-group.md): Updates the properties of a group. Requires *Admin* right in the team. Requires write_team_groups OAuth access scope.
- [Create team user billing details](https://developers.lokalise.com/reference/create-team-user-billing-details.md): Creates a [Team user billing details](#object-team-user-billing-details) object. Requires write_team_user_billing_details OAuth access scope.
- [Retrieve team user billing details](https://developers.lokalise.com/reference/retrieve-team-user-billing-details.md): Retrieve a [Team user billing details](#object-team-user-billing-details) object. Requires read_team_user_billing_details OAuth access scope.
- [Update team user billing details](https://developers.lokalise.com/reference/update-team-user-billing-details.md): Updates a [Team user billing details](#object-team-user-billing-details) object. Requires write_team_user_billing_details OAuth access scope.
- [Delete a team user](https://developers.lokalise.com/reference/delete-a-team-user.md): Deletes a user from the team. Requires *Admin* role in the team. Requires write_team_users OAuth access scope.
- [List all team users](https://developers.lokalise.com/reference/list-all-team-users.md): Lists all team users. Requires *Admin* role in the team. Requires read_team_users OAuth access scope.
- [Retrieve a team user](https://developers.lokalise.com/reference/retrieve-a-team-user.md): Retrieves a [Team user](#object-team-users) object. Requires *Admin* role in the team. Requires read_team_users OAuth access scope.
- [Update a team user](https://developers.lokalise.com/reference/update-a-team-user.md): Updates the role of a team user. Requires *Admin* role in the team. Requires write_team_users OAuth access scope.
- [Get team details](https://developers.lokalise.com/reference/get-team-details.md): Get details of a specific team. Requires read_team_users OAuth access scope.
- [List all teams](https://developers.lokalise.com/reference/list-all-teams.md): Lists all teams available to the user. Requires read_team_users OAuth access scope.
- [List project translation memories](https://developers.lokalise.com/reference/list-project-translation-memories.md): Retrieves a list of translation memories enabled for the project. Requires read_projects OAuth access scope.
- [List all providers](https://developers.lokalise.com/reference/list-all-providers.md): Lists all translation providers. Requires read_team_orders OAuth access scope.
- [Retrieve a provider](https://developers.lokalise.com/reference/retrieve-a-provider.md): Retrieves a [Translation provider](#object-providers) object with tiers and available language pairs. Requires read_team_orders OAuth access scope.
- [List all translations](https://developers.lokalise.com/reference/list-all-translations.md): Retrieves a list of project translation items, ungrouped. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a nextCursor value in the response headers when more data is available. Continue making requests with the nextCursor value until no nextCursor is returned, indicating all data has been retrieved. You may want to request [Keys](#resource-keys) resource in order to get the structured key/translation pairs for all languages. Requires read_translations OAuth access scope.
- [Retrieve a translation](https://developers.lokalise.com/reference/retrieve-a-translation.md): Retrieves a [Translation](#object-translations) object. Requires read_translations OAuth access scope.
- [Update a translation](https://developers.lokalise.com/reference/update-a-translation.md): Updates a translation. Alternatively, use the Multi-key update endpoint to update translations. Requires write_translations OAuth access scope.
- [Retrieve a basic user data](https://developers.lokalise.com/reference/retrieve-a-basic-user-data-for-logged-in-user.md): Retrieves a [User](#object-users) object. Not available via OAuth token. Available via S2S.
- [Create a webhook](https://developers.lokalise.com/reference/create-a-webhook.md): Creates a webhook in the project. Requires *Manage settings* admin right. See our documentation for available events and payload examples. Requires write_webhooks OAuth access scope.
- [Delete a webhook](https://developers.lokalise.com/reference/delete-a-webhook.md): Deletes a configured webhook in the project. Requires *Manage settings* admin right. Requires write_webhooks OAuth access scope.
- [List all webhooks](https://developers.lokalise.com/reference/list-all-webhooks.md): Retrieves a list of configured webhooks. Requires *Manage settings* admin right. Requires read_webhooks OAuth access scope.
- [Regenerate a webhook secret](https://developers.lokalise.com/reference/regenerate-a-webhook-secret.md): Regenerate a webhook secret. Requires *Manage settings* admin right. Requires write_webhooks OAuth access scope.
- [Retrieve a webhook](https://developers.lokalise.com/reference/retrieve-a-webhook.md): Retrieves a [Webhook](#object-webhooks) object. Requires *Manage settings* admin right. Requires read_webhooks OAuth access scope.
- [Update a webhook](https://developers.lokalise.com/reference/update-a-webhook.md): Updates a configured webhook in the project. Requires *Manage settings* admin right. Requires write_webhooks OAuth access scope.
- [Pagination](https://developers.lokalise.com/reference/api-pagination.md)
- [Plurals and placeholders](https://developers.lokalise.com/reference/api-plurals-and-placeholders.md)
- [File Download limitations](https://developers.lokalise.com/reference/file-download-limitations.md)
- [Lokalise REST API - Localization & translation management API](https://developers.lokalise.com/reference/lokalise-rest-api.md)
- [Create a branch](https://developers.lokalise.com/reference/create-a-branch.md): Creates a branch in the project. Before using this endpoint, please enable Branching in your project by following [this guide](https://docs.lokalise.com/en/articles/3391861-project-branching). Requires admin right. **Project Type Compatibility:** - ✅ **Software projects** (localization_files) - *Only project type that supports branching* - ❌ **Documents projects** (paged_documents) - *Branching not supported* - ❌ **Marketing projects** (content_integration, marketing, marketing_integrations) - *Branching not supported* Requires write_projects OAuth access scope.
- [Delete a branch](https://developers.lokalise.com/reference/delete-a-branch.md): Deletes a configured branch in the project. Requires admin right. Requires write_projects OAuth access scope.
- [List all branches](https://developers.lokalise.com/reference/list-all-branches.md): Retrieves a list of branches. **Project Type Compatibility:** - ✅ **Software projects** (localization_files) - *Only project type that supports branching* - ❌ **Documents projects** (paged_documents) - *Branching not supported* - ❌ **Marketing projects** (content_integration, marketing, marketing_integrations) - *Branching not supported* Requires read_projects OAuth access scope.
- [Merge a branch](https://developers.lokalise.com/reference/merge-a-branch.md): Merges a branch in the project. Requires admin right. Requires write_projects OAuth access scope.
- [Retrieve a branch](https://developers.lokalise.com/reference/retrieve-a-branch.md): Retrieves a [Branch](#object-branches) object. Requires read_projects OAuth access scope.
- [Update a branch](https://developers.lokalise.com/reference/update-a-branch.md): Updates a branch in the project. Requires admin right. Requires write_projects OAuth access scope.
- [Create comments](https://developers.lokalise.com/reference/create-comments-1.md): Adds a set of comments to the key. Requires write_comments OAuth access scope.
- [Delete a comment](https://developers.lokalise.com/reference/delete-a-comment-1.md): Deletes a comment from the project. Authenticated user can only delete own comments. Requires write_comments OAuth access scope.
- [List key comments](https://developers.lokalise.com/reference/list-key-comments-1.md): Retrieves a list of all comments for a key. Requires read_comments OAuth access scope.
- [List project comments](https://developers.lokalise.com/reference/list-project-comments-1.md): Retrieves a list of all comments in the project. Requires read_comments OAuth access scope.
- [Retrieve a comment](https://developers.lokalise.com/reference/retrieve-a-comment-1.md): Retrieves a [Comment](#object-comments) object. Requires read_comments OAuth access scope.
- [Delete a file](https://developers.lokalise.com/reference/delete-a-file-1.md): Deletes a file and its associated keys from the project. **Project Type Compatibility:** - ❌ **Software projects** (localization_files) - *File deletion not supported for Software projects* - ❌ **Documents projects** (paged_documents) - *Branching not supported for Documents projects* - ❌ **Marketing projects** (content_integration, marketing, marketing_integrations) - *Branching not supported for Marketing projects* **Note:** This endpoint requires branching support, which is only available for Software projects. However, Software projects do not support file deletion. This creates a logical conflict - this endpoint may not be practically usable. Requires write_files OAuth access scope.
- [Download files](https://developers.lokalise.com/reference/download-files-1.md): Exports project files as a .zip bundle. Generated bundle will be uploaded to an Amazon S3 bucket, which will be stored there for 1 month available to download. As the bundle is generated and uploaded you would get a response with the URL to the file. Requires *Download files* admin right. There are two ways to group keys by filenames when you are exporting - either all keys to a single file per language or use the previously assigned filenames. Learn more. Requires read_files OAuth access scope. *Please note: Starting June 1st, 2025, this endpoint will be limited to projects with under 10,000 key-language pairs, for more details See our API limits page*
- [Download files (Async)](https://developers.lokalise.com/reference/download-files-async-1.md): Starts a project export process. The progress of the process can be tracked using the list all processes API endpoint. Once complete, the download URL can be accessed using the Retrieve process API endpoint. For general details about the Download endpoint, please refer to the Download files API endpoint.
- [List all files](https://developers.lokalise.com/reference/list-all-files-1.md): Lists project files and associated key count. If there are some keys in the project that do not have a file association, they will be returned with filename `__unassigned__`. Requires read_files OAuth access scope.
- [Upload a file](https://developers.lokalise.com/reference/upload-a-file-1.md): Queues a localization file for import and returns a 202 or 302 response along with a Queued process object. Learn more. Requires *Upload files* admin right. Supported file types. Please note that the 302 response code is not currently used, but in the future it will be returned if the same file is already in the upload queue. Requires write_files OAuth access scope.
- [Multi-update](https://developers.lokalise.com/reference/bulk-update-1.md): Updates one or more keys in the project. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [Create keys](https://developers.lokalise.com/reference/create-keys-1.md): Creates one or more keys in the project. Requires *Manage keys* admin right. We recommend sending payload in chunks of up to 500 keys per request. Requires write_keys OAuth access scope.
- [Delete a key](https://developers.lokalise.com/reference/delete-a-key-1.md): Deletes a key from the project. Requires *Manage keys* admin right. **Project Type Compatibility:** - ✅ **Software projects** (localization_files) - *Only project type that supports branching and individual key operations* - ❌ **Documents projects** (paged_documents) - *Branching not supported* - ❌ **Marketing projects** (content_integration, marketing, marketing_integrations) - *Branching not supported* Requires delete_keys OAuth access scope.
- [Delete multiple keys](https://developers.lokalise.com/reference/delete-multiple-keys-1.md): Deletes multiple keys from the project. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [List all keys](https://developers.lokalise.com/reference/list-all-keys-1.md): Lists all keys in the project. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a nextCursor value in the response headers when more data is available. Continue making requests with the nextCursor value until no nextCursor is returned, indicating all data has been retrieved. IMPORTANT: We do not provide a content delivery network for your language files. Do not make a request to this endpoint every time a user visits your website/app. Instead, fetch the results from this endpoint from time to time, store them locally, and serve your visitors with static files/your database content. Alternatively, you may use our File Download endpoint with an Amazon S3/Google CouldStorage integration to automatically upload your language files to a bucket of your choice. Requires read_keys OAuth access scope.
- [Retrieve a key](https://developers.lokalise.com/reference/retrieve-a-key-1.md): Retrieves a [Key](#object-keys) object. Requires read_keys OAuth access scope.
- [Update a key](https://developers.lokalise.com/reference/update-a-key-1.md): Updates the properties of a key and it's associated objects. Requires *Manage keys* admin right. Requires write_keys OAuth access scope.
- [Create languages](https://developers.lokalise.com/reference/create-languages-1.md): Creates one or more languages in the project. Requires *Manage languages* admin right. The `language_iso` is the identifer of one of the system languages. You are only required to include the `language_iso` attribute, however you may override the default language code, language name and plural forms as well. Requires write_languages OAuth access scope.
- [Delete a language](https://developers.lokalise.com/reference/delete-a-language-1.md): Deletes a language from the project. Requires *Manage languages* admin right. Requires write_languages OAuth access scope.
- [List project languages](https://developers.lokalise.com/reference/list-project-languages-1.md): Retrieves a list of project languages. Requires read_languages OAuth access scope.
- [Retrieve a language](https://developers.lokalise.com/reference/retrieve-a-language-1.md): Retrieves a [Language](#object-languages) object. Requires read_languages OAuth access scope.
- [Update a language](https://developers.lokalise.com/reference/update-a-language-1.md): Updates the properties of a language. Requires *Manage languages* admin right. Requires write_languages OAuth access scope.
- [Create a project](https://developers.lokalise.com/reference/create-a-project-1.md): Creates a new project in the specified team. Requires *Admin* role in the team. Requires write_projects OAuth access scope.
- [Delete a project](https://developers.lokalise.com/reference/delete-a-project-1.md): Deletes a project. Requires write_projects OAuth access scope.
- [Empty a project](https://developers.lokalise.com/reference/empty-a-project-1.md): Deletes all keys and translations from the project. Requires *Manage settings* admin right. Requires write_projects OAuth access scope.
- [List all projects](https://developers.lokalise.com/reference/list-all-projects-1.md): Retrieves a list of projects available to the user, authorized with a token. Requires read_projects OAuth access scope.
- [Retrieve a project](https://developers.lokalise.com/reference/retrieve-a-project-1.md): Retrieves a [Project](#object-projects) object. Requires read_projects OAuth access scope.
- [Update a project](https://developers.lokalise.com/reference/update-a-project-1.md): Updates the details of a project. Requires *Manage settings* admin right. Requires write_projects OAuth access scope.
- [List all processes](https://developers.lokalise.com/reference/list-all-processes-1.md): Retrieves a list of [Queued process](#object-queued-processes) objects. Requires read_background_processes OAuth access scope.
- [Retrieve a process](https://developers.lokalise.com/reference/retrieve-a-process-1.md): Retrieves a [Queued process](#object-queued-processes) object with an additional details field containing information for a specific process type. Requires read_background_processes OAuth access scope.
- [Update a screenshot](https://developers.lokalise.com/reference/update-a-screenshot-1.md): Updates the properties of a screenshot. Requires *Manage screenshots* admin right. Requires write_screenshots OAuth access scope.
- [Create a task](https://developers.lokalise.com/reference/create-a-task-1.md): Creates a task in the project. Requires *Manage tasks* admin right. Keep in mind, that initial_tm_leverage attribute will be empty in server response. It's being calculated after the task is created and this process may take some time. Requires write_tasks OAuth access scope.
- [Delete a task](https://developers.lokalise.com/reference/delete-a-task-1.md): Deletes a task from the project. Requires *Manage tasks* admin right. Requires write_tasks OAuth access scope.
- [List all tasks](https://developers.lokalise.com/reference/list-all-tasks-1.md): Lists all tasks in the project. Requires read_tasks OAuth access scope.
- [Retrieve a task](https://developers.lokalise.com/reference/retrieve-a-task-1.md): Retrieves a [Task](#object-tasks) object. Requires read_tasks OAuth access scope.
- [Retrieve task usage metrics](https://developers.lokalise.com/reference/retrieve-task-usage-metrics-1.md): Retrieves usage metrics for a specific task. Data is available from November 3rd 2025 onwards. Requires read_tasks OAuth access scope.
- [Update a task](https://developers.lokalise.com/reference/update-a-task-1.md): Updates the properties of a task. Requires *Manage tasks* admin right. Requires write_tasks OAuth access scope.
- [List all translations](https://developers.lokalise.com/reference/list-all-translations-1.md): Retrieves a list of project translation items, ungrouped. This endpoint supports cursor pagination for better performance with large datasets. When using cursor pagination, the response will include a nextCursor value in the response headers when more data is available. Continue making requests with the nextCursor value until no nextCursor is returned, indicating all data has been retrieved. You may want to request [Keys](#resource-keys) resource in order to get the structured key/translation pairs for all languages. Requires read_translations OAuth access scope.
- [Retrieve a translation](https://developers.lokalise.com/reference/retrieve-a-translation-1.md): Retrieves a [Translation](#object-translations) object. Requires read_translations OAuth access scope.
- [Update a translation](https://developers.lokalise.com/reference/update-a-translation-1.md): Updates a translation. Alternatively, use the Multi-key update endpoint to update translations. Requires write_translations OAuth access scope.
## Pages
- [Over The Air Translations](https://developers.lokalise.com/over-the-air-translations.md)