Skip to content

Create a new deployment

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

Creates a new deployment channel under the app. Only accounts with the deployments.manage permission (Owner or Admin) can create deployments.

appName
required
string
Media typeapplication/json
object
name
required
string
>= 1 characters <= 255 characters
key

Optional pre-defined deployment key. If omitted, the server generates a secure random key. Pre-defined keys are useful when migrating from CodePush and need to preserve existing client deployments without redeploying app binaries. A key outside the length or character set above is refused with 400, so a migrated key containing other characters has to be rewritten on the client before the deployment is created.

string
>= 10 characters <= 100 characters /^[a-zA-Z0-9_-]+$/
Example
{
"name": "Beta"
}

Deployment created.

Media typeapplication/json
object
deployment
required
object
name
required
string
<= 255 characters
key

Deployment key consumed by the React Native SDK at runtime. Replaced with “(hidden)” for accounts without the deploymentKeys.read capability.

string
package
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
{
"deployment": {
"name": "Production",
"key": "AbCdEf1234567890",
"package": {
"appVersion": "1.0.0",
"label": "v3",
"releaseMethod": "Upload"
}
}
}
Location
string

Validation error.

Media typeapplication/json
One of:
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"
}

Insufficient permissions (deployments.manage required).

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 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"
}

A deployment with that name already exists in this app.

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"
}