Skip to content

Roll back a deployment to a previous release

POST
/v1/apps/{appName}/deployments/{deploymentName}/rollbacks
curl --request POST \
--url https://api.aetherpush.com/v1/apps/example/deployments/example/rollbacks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "targetRelease": "v3" }'

Rolls back the deployment to a previous release. If targetRelease is omitted, rolls back to the immediately previous release. If specified, rolls back to that exact label.

The rollback creates a new release with the contents of the target — it does not delete the current release. The new release always has isDisabled: false and rollout: null (full rollout).

Cannot roll back across appVersion changes.

appName
required
string
deploymentName
required
string
Media typeapplication/json
object
targetRelease

Optional label of the release to roll back to (e.g. v3). If omitted, the deployment is rolled back to the immediately previous release.

string
/^v[1-9][0-9]*$/
Example
{
"targetRelease": "v3"
}

Rollback successful; new release created.

Media typeapplication/json
object
package
required
object
appVersion
string
blobUrl
required

Signed URL to download the package bundle.

string format: uri
description
string
diffPackageMap

Map of source package hash to diff blob info.

object
key
additional properties
object
size
required
integer format: int64
url
required
string format: uri
isDisabled
boolean
isMandatory
boolean
label
string
manifestBlobUrl

Signed URL to the package manifest (file hash map).

string format: uri
originalDeployment

Set when releaseMethod is Promote.

string
originalLabel

Set when releaseMethod is Promote or Rollback.

string
packageHash
string
releasedBy

Account email of the releaser.

string format: email
releaseMethod
string
Allowed values: Upload Promote Rollback
rollout
integer | null
>= 1 <= 100
size
required

Package size in bytes.

integer format: int64
uploadTime

Unix timestamp in milliseconds.

integer format: int64
Example
{
"package": {
"appVersion": "1.0.0",
"label": "v3",
"releaseMethod": "Upload"
}
}
Location
string

Unauthenticated, or not a collaborator.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

App or deployment not found, no releases on the deployment, no prior release to roll back to, or target label not found.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}

Target release is the current release, or target’s appVersion differs from the current release.

Media typeapplication/json
object
error
required

Human-readable error message.

string
requestId

Unique identifier for the request, also exposed as the X-Request-Id response header.

string
Example
{
"error": "The requested resource was not found.",
"requestId": "req_abc123"
}