Free cookie consent management tool by TermsFeed

Application Package Details REST API

On This Page

Supported Versions

Below are the versions of the API that support this endpoint.

API Version Is supported?
V1 No
V2 Yes
V3 Yes

Overview

This endpoint uses the UUID of an application to retrieve data about any in-flight packages for the application.

  • HTTP Request Method: GET
  • Endpoint: /applications/<UUID>/packages

You can use this data to:

  • Link packages to change management systems.
  • Get identifiers for packages to use for a deployment.
  • Identify which release a package is associated with.

This endpoint only returns the packages for the single application you specify. Because a release can contain packages from multiple applications, use the release details endpoint when you need all of the packages associated with a release.

Endpoint

While this API is not strictly a deployment API, it is most useful when used with the deployment APIs.

https://<domain>/suite/deployment-management/<v#>/applications/<UUID>/packages

Replace <domain> with your Appian site domain, <v#> with the version of the API compatible with your environment, and replace <UUID> with the UUID of the application.

You can find the application UUID in the application properties.

To use this endpoint to retrieve information from Appian, use a GET request.

Note:  Even though the package details endpoint uses the /deployment-management endpoint, access to the application package endpoint is not configurable using the infrastructure toggles in the Admin Console. This means that, as long as the service account has access to the application, the package data will be accessible at all times.

Authentication

All requests are authenticated with an API key, which is linked to a service account. This is the same mechanism that Appian uses to secure Web API objects. The service account and API key can be created in the Admin Console.

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

curl https://<domain>/suite/deployment-management/v3/applications/<UUID>/packages -H "appian-api-key: <API key>"

When the application package endpoint is used to perform an external deployment, any API keys for the Authenticate As service account will automatically grant access to package details for any application on the environment without the service account being added to the rolemap.

If you are not using the Authenticate As service account, the service account specified must have access to the application on the application's rolemap in order to return the package information.

Tip:  To ensure the response for these requests only have relevant data, be sure to clean up packages promptly when they are no longer in use.

Request parameters

By default, this endpoint returns all of the in-progress packages in the application. You can limit the response to the packages associated with a single release by adding the releaseUuid query parameter to the request URL.

Parameter Value Required
releaseUuid The UUID of the release to limit the response by. This parameter limits the response to only include the packages in the application that are associated with the specified release. When the releaseUuid parameter is being used, the value of the totalPackageCount parameter reflects the filtered number of the packages returned, rather than the total number of packages in the application. When not using the releaseUuid parameter, the response includes all packages in the application.

Only one release UUID is accepted. You cannot limit the response by multiple releases, or by release name. If the release UUID does not exist or does not match any of the packages in the application, the response returns an empty packages array.
No

https://<domain>/suite/deployment-management/v3/applications/<UUID>/packages?releaseUuid=<releaseUUID>

You can retrieve release UUIDs using the release details endpoint, or from the releaseUuid attribute of an unfiltered response.

Note:  The releaseUuid query parameter is only supported by V3 of this endpoint and is available starting in Appian 26.8. V2 of the endpoint does not support limiting the response by release.

Because this endpoint is specific to a single application, you can only return the packages in that application that are associated with the specific release. To retrieve every package associated with a release across all applications, use the release details endpoint.

Request example

1
GET /applications/d243b14c-3ba5-41c3-9f51-76da51beb8f5/packages

To limit the response to the packages associated with a single release:

1
GET /applications/d243b14c-3ba5-41c3-9f51-76da51beb8f5/packages?releaseUuid=f9c81c58-9e62-414e-9bd2-dfe3f923f362

cURL example

If you’re calling the API from a command line interface, you can use cURL to make a request. For package exports, the cURL command with the above JSON object and its corresponding files looks like:

1
2
3
curl --location --request \
GET https://mysite.appiancloud.com/suite/deployment-management/v3/applications/d243b14c-3ba5-41c3-9f51-76da51beb8f5/packages \
--header 'Authorization: Bearer <access_token>'

To limit the response to the packages associated with a single release, append the releaseUuid query parameter:

1
2
3
curl --location --request \
GET 'https://mysite.appiancloud.com/suite/deployment-management/v3/applications/d243b14c-3ba5-41c3-9f51-76da51beb8f5/packages?releaseUuid=f9c81c58-9e62-414e-9bd2-dfe3f923f362' \
--header 'Authorization: Bearer <access_token>'

Response

Successful response

Attribute Value
totalPackageCount Total number of packages in the application. Maximum limit of 500 returned since there can only be 500 packages per an application.
packages An array of package metadata. Each object in the array contains the metadata for an individual package in the application. Packages are ordered based on their last modified timestamp, with the most recently modified at the top of the array.
packages.datasourceUuid Name or UUID of the data source. If the data source is connected through the Admin Console, use the value in the Name field. If the data source is connected through a data source connected system, use the UUID of the connected system.
packages.objectCount Number of design objects in the package.
packages.databaseScriptCount Number of database scripts in the package.
packages.createdTimestamp Timestamp for when the package was created.
packages.name Name of the package.
packages.description Description of 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.uuid The unique universal identifier (UUID) for the package. This is the UUID you will specify when triggering an external export of a package.
packages.ticketLink The URL for the ticket specified in the package UI.
packages.lastModifiedTimestamp Timestamp when the package was last changed.
packages.releaseName V3 only. Name of the release associated with the package. Returns null when the package is not associated with a release.
packages.releaseUuid V3 only. The universal unique identifier (UUID) of the release associated with the package. Use this UUID with the release details endpoint to retrieve every package associated with the release. Returns null when the package is not associated with a release.

Note:  The releaseName and releaseUuid attributes are only returned by V3 of this endpoint. V2 of the endpoint does not return release data.

When a package has no release associated with it, releaseName and releaseUuid are returned as null.

Example response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "totalPackageCount": 1,
  "packages": [
  {
    "datasourceUuid": "",
    "objectCount": 8,
    "databaseScriptCount": 0,
    "createdTimestamp": "2023-03-13T16: 54: 39.051Z",
    "name": "[VM-18533] Allows Users to Request Multiple Orders",
    "description": "- Update Order Record, - Update related action for Request to accept multiple requests even if one already exists for the record.",
    "pluginCount": 0,
    "hasCustomizationFile": false,
    "uuid": "f9c81c58-9e62-414e-9bd2-ceb2e812e251",
    "ticketLink": "https://issues.acmevehicles.com/browser/VM-18533",
    "lastModifiedTimestamp": "2023-03-13T16: 54: 39.136Z",
    "releaseName": "CRM Release 1.0",
    "releaseUuid": "f9c81c58-9e62-414e-9bd2-dfe3f923f362"
    }
  ]
}

Feedback