On this page

Experiment Management API Deployment Endpoints

NameDescription
List deploymentsList deployments that experiments or flags can be assigned to.
Create deploymentCreate a deployment.
Edit deploymentEdit a deployment.

EU data residency

The examples on this page use the default base URL https://experiment.amplitude.com. If your project uses Amplitude's EU data center, use https://experiment.eu.amplitude.com instead. For more information, refer to Regions.

List deployments

bash
GET https://experiment.amplitude.com/api/1/deployments

Fetch a list of deployments that experiments or flags can be assigned to.

Query parameters

NameDescription
limitOptional. Type: number. The max number of deployments to be returned. Capped at 1000.
cursorOptional. Type: number. The offset to start the "page" of results from.

Response

A successful request returns a 200 OK response with a JSON-encoded list of deployments in the response body.

Request

curl
curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/deployments?limit=1000' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

Response

json
    {
        "deployments": [
            {
                "id": <id>,
                "projectId": <projectId>,
                "label": "deployment-1",
                "key": <key>,
                "deleted": true
            },
            {
                "id": <id>,
                "projectId": <projectId>,
                "label": "deployment-2",
                "key": <key>,
                "deleted": false
            }
        ]
    }

Create deployment

bash
POST https://experiment.amplitude.com/api/1/deployments

Create a deployment that experiments or flags can be assigned to.

Query parameters

NameDescription
projectIdRequired. Type: string. The project's ID.
labelRequired. Type: string. Deployment's label. Must contain alphanumeric and/or _, - characters.
typeRequired. Type: string. Deployment's type. Must be either client or server.

Request

json
{
  "projectId": "<projectId>",
  "label": "hello-world",
  "type": "client"
}

Response

A successful request returns a 200 OK response and the deployment's id.

Request

curl
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/deployments' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'
json
    {
        "id": <id>
    }

Edit deployment

bash
PATCH https://experiment.amplitude.com/api/1/deployments/<id>

Edit a deployment that experiments or flags can be assigned to.

Query parameters

NameDescription
labelOptional. Type: string. Deployment's label. Must contain alphanumeric and/or _, - characters.
archiveOptional. Type: boolean. Soft-delete or restore the deployment.

Request

json
{
  "label": "updated-label"
}

Response

A successful request returns a 200 OK response and OK text.

Request

curl
curl --request PATCH \
    --url 'https://experiment.amplitude.com/api/1/deployments/<id>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

Was this helpful?