# Release Management API

Bitrise offers a REST API for Release Management. The base URL for the API is .

The API is available in two versions:

- v1: https://api.bitrise.io/release-management/v1. This is deprecated.
- v2: The current version. It has domain-specific sub APIs, with the URLs described here: [Sub APIs](/release-management/release-management-api#sub-apis).

The API offers the same features that are available on the GUI. You can:

- Connect apps.
- Configure presets.
- Manage releases in all stages, including the release candidate stage and the approval stage.
- Distribute your apps.

## Sub APIs

The v2 API is organized into four sub APIs, each with its own base URL:

| Sub-API | Description | Base URL |
| --- | --- | --- |
| Apps | Covers connected apps, installable artifacts, presets, public assets, outgoing webhooks, and Apple App Store draft versions. | `https://api.bitrise.io/release-management/v2/apps/v1` |
| Build Distributions | Covers tester groups, testers, and build distributions. | `https://api.bitrise.io/release-management/v2/build-distributions/v1` |
| Store Releases | Covers app versions, approvals, beta distribution, and store releases for both the App Store and Google Play. | `https://api.bitrise.io/release-management/v2/store-releases/v1` |
| Code Push | Covers deployments and updates. | `https://api.bitrise.io/release-management/v2/code-push/v1` |

## Migration from v1 to v2

The main structural differences between v1 and v2:

- App identification: In v1, the app ID was a path parameter (for example, `/apps/{app_id}/installable-artifacts`). In v2, `app_id` is passed as a query parameter to the relevant sub-API.
- Tester groups and build distributions: Moved from the Apps sub-API to the dedicated Build Distributions sub-API.
- Code Push packages renamed: The `packages` resource in v1 Code Push is called `updates` in v2.
- Store releases: Apple App Store and Google Play store release management is now under the Store Releases sub-API.

Each deprecated v1 endpoint's description specifies the equivalent v2 endpoint to use. Refer to [the API docs](https://api.bitrise.io/release-management/api-docs/index.html) for the full list.

## Authentication

Authentication works the same way [as the Bitrise API](/bitrise-ci/api/authenticating-with-the-bitrise-api): you need [a Personal Access Token](/bitrise-platform/accounts/personal-access-tokens) or [a Workspace token](/bitrise-platform/workspaces/workspace-api-token) to authenticate your API calls.

Certain endpoints are only available to users with the **Release manager** role and some endpoints are only available on the Standard plan. Typically, these endpoints are used to access end-user-facing functions, such as submitting the app for App Store review and releasing the app to the App Store or Google Play.

Trying to access the endpoints tied to these roles will return a `403 Permission denied` response.

## Documentation

You can find detailed documentation of the API endpoints: [API docs](https://api.bitrise.io/release-management/api-docs/index.html). You can test all endpoints on the site.

In addition to the technical details, you can also check whether an endpoint is available on a given Bitrise payment plan.

## Localization codes for the App Store API

For certain calls to the App Store API, you might need localization codes: for example, when creating a **What to test** description for an iOS release, you might need that description in several different languages. You can find the supported localization codes [in Apple's documentation](https://developer.apple.com/documentation/appstoreconnectapi/app_store/app_metadata/app_info_localizations/managing_metadata_in_your_app_by_using_locale_shortcodes).
