Free cookie consent management tool by TermsFeed

Release Details REST API

On This Page

Supported Versions

Below are the versions of the API that support these endpoints.

API Version Is supported?
V1 No
V2 No
V3 Yes

The release details endpoints are available starting in Appian 26.8.

A release is a way to group packages of related functionality so you can deploy them at the same time. These endpoints provide access to release data on the environment including the ability to retrieve all packages associated with a release. Access to data on the releases associated with a package allows you to orchestrate automated deployments based on releases.

There are two release endpoints:

Endpoint HTTP Request Method Description
/releases GET Retrieves data about all releases on the environment.
/releases/<UUID> GET Retrieves all data for packages associated with the specified release UUID.

You can use this data to:

  • Identify the current state of a release—whether it is actively being worked on, what the planned timeline is for the release, or the number of active packages associated with the release.
  • Retrieve the UUIDs of every package associated with a release, across all applications. You can use these UUIDs to create a single deployment for the release using the export.
  • Link releases and their packages to your organization's change management systems.

Because a release can be associated with packages from multiple applications, use these endpoints instead of the application package details endpoint when you need all of the packages associated with a release. The application package details endpoint only returns packages for the specified application.

Note:  The release details endpoints are read-only. You cannot create, update, or delete releases using the deployment REST API. These actions are only possible in the environment-level Packages view.

Endpoints

While these APIs are not strictly deployment APIs, they are most useful when used with the deployment APIs.

  • HTTP Request Method: GET
  • Endpoint: /releases
  • Returns: Release details for all releases on the environment.

  • HTTP Request Method: GET
  • Endpoint: /releases/<UUID>
  • Returns: Package details for all packages on the environment associated with the specified release.

Authentication

All requests are authenticated with an API key or OAuth 2.0 token linked to a service account. This is the same mechanism that Appian uses to secure Web API objects. The service account, as well as the API key or OAuth client configuration, can be created in the Admin Console.

Once configured, there are multiple ways to use the credentials to authenticate your request. For example, you can add it to the HTTP header with the key name appian-api-key:

curl --location --request GET 'https://<domain>/suite/deployment-management/v3/releases' -H 'Appian-API-Key: <API key>'

Releases are managed at the environment level, so the /releases endpoint returns the releases on the environment.

Because the release endpoint is used to enable deployments, the service account used to authenticate must be the one specified as the Authenticate As in the Admin Console.

Retrieve all release details endpoint

Use this endpoint to retrieve details for all releases in the environment.

  • HTTP Request Method: GET
  • Endpoint: /releases

This endpoint returns a maximum of 100 releases. Releases are ordered by their last modified timestamp, with the most recently modified releases listed first. By default, both active and inactive releases are returned. Use the query parameters to page through the results in small batches or to return only active/inactive releases.

Request parameters

All query parameters are optional. Use them together to page through the releases on the environment.

Parameter Value Required
isActive Limits the response to releases in the specified active state. Possible values are: true, false. When omitted, both active and inactive releases are returned. No
startIndex The index of the first release to return. Release indexes start at 1. Defaults to 1. If you specify a value that is past the end of the results, the response returns an empty releases array. No
batchSize The maximum number of releases to return in the response, between 1 and 100. When omitted, all releases are returned, up to the maximum of 100. No

Request example

1
GET /releases

cURL example

If you're calling the API from a command-line interface, you can use cURL to make a request. Below are some example cURL commands:

1
2
3
curl --location --request \
GET 'https://<domain>/suite/deployment-management/v3/releases' \
--header 'Authorization: Bearer <access_token>'

If you have more than 100 releases on your environment, or if you want to batch the response, you can add query parameters to page through the response data:

1
2
3
curl --location --request \
GET 'https://<domain>/suite/deployment-management/v3/releases/?startIndex=101&batchSize=100' \
--header 'Authorization: Bearer <access_token>'

Response

Successful response

Attribute Value
startIndex The index of the first release returned in the response. Matches the startIndex query parameter when one is provided. Otherwise, this value is 1. Use this value with batchSize to determine the startIndex of your next request.
batchSize The number of releases actually returned in the releases array. When fewer releases remain from startIndex than you requested, this value reflects the smaller number returned. If the startIndex you specified is past the end of the results, this value is 0.
totalCount Total number of releases matching the request. Total count is never impacted by the startIndex or batchSize if you provide them. When the isActive query parameter is provided, total count reflects only the releases matching that filter.
releases An array of release metadata. Each object in the array contains the metadata for an individual release. Releases are ordered based on their last modified timestamp.
releases.name Name of the release. Release names are unique across the environment.
releases.description Description of the release.
releases.releaseUuid The universally unique identifier (UUID) for the release. This is the UUID you specify when retrieving the packages for a release. Release UUIDs are stable across environments meaning you can use the same release UUID to orchestrate deployments in higher environments if you allow packages to be generated on deployment.
releases.createdOn Timestamp for when the release was created.
releases.createdBy Username of the user who created the release.
releases.targetReleaseDate The date the release is planned to go into production, as specified in the release properties. Returns null when no target release date is set.
releases.lastModifiedOn Timestamp for when the release was last changed.
releases.lastModifiedBy Username of the user who last changed the release.
releases.numberOfPackages Number of packages associated with the release across all applications on the environment.
releases.isActive Boolean value that indicates whether the release is active. Possible values are: true, false.

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
  "startIndex": 1,
  "batchSize": 2,
  "totalCount": 2,
  "releases": [
    {
      "name": "CRM Release 1.0",
      "description": "Order request updates and vehicle record changes.",
      "releaseUuid": "f9c81c58-9e62-414e-9bd2-dfe3f923f362",
      "createdOn": "2026-08-03T14:22:11.204Z",
      "createdBy": "brigid.kessler",
      "targetReleaseDate": "2026-09-15",
      "lastModifiedOn": "2026-08-11T09:41:52.877Z",
      "lastModifiedBy": "brigid.kessler",
      "numberOfPackages": 3,
      "isActive": true
    },
    {
      "name": "CRM Release 0.9",
      "description": "Initial customer portal rollout.",
      "releaseUuid": "b17d40ea-25c1-4a89-8f0b-1c7a5e6d9042",
      "createdOn": "2026-06-18T11:05:33.612Z",
      "createdBy": "jordan.rivera",
      "targetReleaseDate": "2026-07-20",
      "lastModifiedOn": "2026-07-22T16:13:07.455Z",
      "lastModifiedBy": "jordan.rivera",
      "numberOfPackages": 5,
      "isActive": false
    }
  ]
}

Retrieve all packages for a release

Use this endpoint to retrieve details for all the packages associated with a specific release. Because releases are managed at the environment level, this endpoint returns the packages associated with the release across all applications.

  • HTTP Request Method: GET
  • Endpoint: /releases/<UUID>

Unlike the release details endpoint, this endpoint is not paged. It returns every package associated with the release in a single response, and does not accept the startIndex or batchSize query parameters.

If the release UUID you specify does not exist, the response returns an empty packages array with a totalPackages of 0. Verify the UUID with the release details endpoint if you receive an empty response.

Request example

1
GET /releases/b17d40ea-25c1-4a89-8f0b-1c7a5e6d9042

cURL example

If you're calling the API from a command-line interface, you can use cURL to make a request. Below is an example cURL command:

1
2
3
curl --location --request \
GET 'https://<domain>/suite/deployment-management/v3/releases/f9c81c58-9e62-414e-9bd2-dfe3f923f362' \
--header 'Authorization: Bearer <access_token>'

Response

Successful response

Attribute Value
totalPackages Total number of packages returned in the response.
packages An array of package metadata. Each object in the array contains the metadata for an individual package associated with the release.
packages.packageName Name of the package.
packages.packageDescription Description of the package.
packages.packageUuid The universally unique identifier (UUID) for the package. This is the UUID you will specify when triggering an external export of a package.
packages.createdOn Timestamp for when the package was created.
packages.createdBy Display name of the user who created the package.
packages.lastModifiedOn Timestamp for when the package was last changed.
packages.lastModifiedBy Display name of the user who last changed the package.
packages.objectCount Number of design objects in the package.
packages.datasourceUuid Name or UUID of the data source. If the data source is connected through the Admin Console, the system returns the value in the Name field. If the data source is connected through a data source connected system, the system returns the UUID of the connected system.
packages.databaseScriptCount Number of database scripts in the package.
packages.pluginCount Number of plug-ins in the package.
packages.hasCustomizationFile Boolean value that indicates whether an import customization file is specified in the package. Possible values are: true, false.
packages.sourceApplicationName Name of the application the package belongs to.
packages.sourceApplicationUuid The UUID of the application the package belongs to.

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  "totalPackages": 2,
  "packages": [
    {
      "packageName": "[VM-18533] Allows Users to Request Multiple Orders",
      "packageDescription": "- Update Order Record, - Update related action for Request to accept multiple requests even if one already exists for the record.",
      "packageUuid": "f9c81c58-9e62-414e-9bd2-ceb2e812e251",
      "createdOn": "2026-08-03T16:54:39.051Z",
      "createdBy": "jordan.rivera",
      "lastModifiedOn": "2026-08-10T13:07:22.136Z",
      "lastModifiedBy": "jordan.rivera",
      "objectCount": 8,
      "datasourceUuid": "",
      "databaseScriptCount": 0,
      "pluginCount": 0,
      "hasCustomizationFile": false,
      "sourceApplicationName": "Vehicle Management",
      "sourceApplicationUuid": "d243b14c-3ba5-41c3-9f51-76da51beb8f5"
    },
    {
      "packageName": "[CN-18601] Adds Order Confirmation Email",
      "packageDescription": "New notification process model and updated constants.",
      "packageUuid": "c4e0a9b7-6f13-4d52-93aa-7b2e5c81d0f4",
      "createdOn": "2026-08-05T10:12:04.882Z",
      "createdBy": "jerry.smith",
      "lastModifiedOn": "2026-08-11T09:41:52.310Z",
      "lastModifiedBy": "jordan.rivera",
      "objectCount": 4,
      "datasourceUuid": "jdbc/AppianAnywhere",
      "databaseScriptCount": 2,
      "pluginCount": 0,
      "hasCustomizationFile": true,
      "sourceApplicationName": "Customer Notifications",
      "sourceApplicationUuid": "8a1f6d92-3c47-42be-b5d1-0e93f7a26cb8"
    }
  ]
}

Tip:  You cannot mix application and package UUIDs in a single deployment. When you deploy the contents of a release, pass the packageUuid values from this response to the export endpoint as an array of package UUIDs.

Feedback