Skip to content
NebulaCtrldocs
HTTP APIEndpoints

Change Sets

The staged changes of an environment: stage, review, apply or discard. Each operation lists its method and path, parameters, request body, responses and an example call.

DELETE/api/v1/change-set-items/{id}

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/problem+json

curl -X DELETE "https://example.com/api/v1/change-set-items/string"
Empty
DELETE/api/v1/change-sets/{id}

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/problem+json

curl -X DELETE "https://example.com/api/v1/change-sets/string"
Empty
POST/api/v1/change-sets/{id}/apply

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/change-sets/string/apply" \  -H "Content-Type: application/json" \  -d '{}'
{  "$schema": "https://example.com/ApplyBody.json",  "approval": {    "decidedAt": "2019-08-24T14:15:22Z",    "decision": "string",    "expiresAt": "2019-08-24T14:15:22Z",    "id": "string",    "kind": "string"  },  "changeSet": {    "appliedAt": "2019-08-24T14:15:22Z",    "approvalId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "downtimeAccepted": true,    "environmentId": "string",    "id": "string",    "message": "string",    "reason": "string",    "source": "console",    "sourceCommit": "string",    "state": "draft"  },  "deployments": [    {      "approvalId": "string",      "id": "string",      "releaseId": "string",      "serviceId": "string",      "state": "string"    }  ],  "firstDeploys": [    {      "buildId": "string",      "deploymentId": "string",      "serviceId": "string"    }  ],  "unreleasedServiceIds": [    "string"  ]}
GET/api/v1/environments/{id}/change-set

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/environments/string/change-set"
{  "$schema": "https://example.com/ViewBody.json",  "changeSet": {    "appliedAt": "2019-08-24T14:15:22Z",    "approvalId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "downtimeAccepted": true,    "environmentId": "string",    "id": "string",    "message": "string",    "reason": "string",    "source": "console",    "sourceCommit": "string",    "state": "draft"  },  "environmentId": "string",  "items": [    {      "createdAt": "2019-08-24T14:15:22Z",      "from": "string",      "id": "string",      "key": "string",      "kind": "string",      "label": "string",      "managed": true,      "processId": "string",      "secret": true,      "serviceId": "string",      "serviceSlug": "string",      "to": "string",      "toEmpty": true,      "volumeId": "string"    }  ],  "projectConfig": {    "changeSet": {      "appliedAt": "2019-08-24T14:15:22Z",      "approvalId": "string",      "createdAt": "2019-08-24T14:15:22Z",      "downtimeAccepted": true,      "environmentId": "string",      "id": "string",      "message": "string",      "reason": "string",      "source": "console",      "sourceCommit": "string",      "state": "draft"    },    "items": [      {        "createdAt": "2019-08-24T14:15:22Z",        "from": "string",        "id": "string",        "key": "string",        "kind": "string",        "label": "string",        "managed": true,        "processId": "string",        "secret": true,        "serviceId": "string",        "serviceSlug": "string",        "to": "string",        "toEmpty": true,        "volumeId": "string"      }    ],    "summary": {      "affectedServiceIds": [        "string"      ],      "needsApproval": true,      "requiresDowntime": true    }  },  "summary": {    "affectedServiceIds": [      "string"    ],    "needsApproval": true,    "requiresDowntime": true  }}
PUT/api/v1/environments/{id}/change-set/items

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Environment id.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X PUT "https://example.com/api/v1/environments/string/change-set/items" \  -H "Content-Type: application/json" \  -d '{    "kind": "variable.set"  }'
{  "$schema": "https://example.com/ViewBody.json",  "changeSet": {    "appliedAt": "2019-08-24T14:15:22Z",    "approvalId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "downtimeAccepted": true,    "environmentId": "string",    "id": "string",    "message": "string",    "reason": "string",    "source": "console",    "sourceCommit": "string",    "state": "draft"  },  "environmentId": "string",  "items": [    {      "createdAt": "2019-08-24T14:15:22Z",      "from": "string",      "id": "string",      "key": "string",      "kind": "string",      "label": "string",      "managed": true,      "processId": "string",      "secret": true,      "serviceId": "string",      "serviceSlug": "string",      "to": "string",      "toEmpty": true,      "volumeId": "string"    }  ],  "projectConfig": {    "changeSet": {      "appliedAt": "2019-08-24T14:15:22Z",      "approvalId": "string",      "createdAt": "2019-08-24T14:15:22Z",      "downtimeAccepted": true,      "environmentId": "string",      "id": "string",      "message": "string",      "reason": "string",      "source": "console",      "sourceCommit": "string",      "state": "draft"    },    "items": [      {        "createdAt": "2019-08-24T14:15:22Z",        "from": "string",        "id": "string",        "key": "string",        "kind": "string",        "label": "string",        "managed": true,        "processId": "string",        "secret": true,        "serviceId": "string",        "serviceSlug": "string",        "to": "string",        "toEmpty": true,        "volumeId": "string"      }    ],    "summary": {      "affectedServiceIds": [        "string"      ],      "needsApproval": true,      "requiresDowntime": true    }  },  "summary": {    "affectedServiceIds": [      "string"    ],    "needsApproval": true,    "requiresDowntime": true  }}
PUT/api/v1/environments/{id}/change-set/items:batch

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Environment id.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X PUT "https://example.com/api/v1/environments/string/change-set/items:batch" \  -H "Content-Type: application/json" \  -d '{    "items": [      {        "kind": "variable.set"      }    ]  }'
{  "$schema": "https://example.com/ViewBody.json",  "changeSet": {    "appliedAt": "2019-08-24T14:15:22Z",    "approvalId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "downtimeAccepted": true,    "environmentId": "string",    "id": "string",    "message": "string",    "reason": "string",    "source": "console",    "sourceCommit": "string",    "state": "draft"  },  "environmentId": "string",  "items": [    {      "createdAt": "2019-08-24T14:15:22Z",      "from": "string",      "id": "string",      "key": "string",      "kind": "string",      "label": "string",      "managed": true,      "processId": "string",      "secret": true,      "serviceId": "string",      "serviceSlug": "string",      "to": "string",      "toEmpty": true,      "volumeId": "string"    }  ],  "projectConfig": {    "changeSet": {      "appliedAt": "2019-08-24T14:15:22Z",      "approvalId": "string",      "createdAt": "2019-08-24T14:15:22Z",      "downtimeAccepted": true,      "environmentId": "string",      "id": "string",      "message": "string",      "reason": "string",      "source": "console",      "sourceCommit": "string",      "state": "draft"    },    "items": [      {        "createdAt": "2019-08-24T14:15:22Z",        "from": "string",        "id": "string",        "key": "string",        "kind": "string",        "label": "string",        "managed": true,        "processId": "string",        "secret": true,        "serviceId": "string",        "serviceSlug": "string",        "to": "string",        "toEmpty": true,        "volumeId": "string"      }    ],    "summary": {      "affectedServiceIds": [        "string"      ],      "needsApproval": true,      "requiresDowntime": true    }  },  "summary": {    "affectedServiceIds": [      "string"    ],    "needsApproval": true,    "requiresDowntime": true  }}