Releases
Releases and deployments: deploy an image, watch a deployment, cancel it, roll back or promote. Each operation lists its method and path, parameters, request body, responses and an example call.
/api/v1/deployments/per-dayAn 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
Query Parameters
How many trailing UTC calendar days to report, today inclusive.
int641 <= value <= 400371Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/deployments/per-day"{ "$schema": "https://example.com/ListDeploymentsPerDayOutputBody.json", "days": [ { "date": "string", "deployments": 0 } ]}/api/v1/deployments/statsAn 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
Query Parameters
Inclusive lower time bound on when a counted deployment was created. Omit for the last 30 days.
date-timeResponse Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/deployments/stats"{ "$schema": "https://example.com/DeploymentStatsOutputBody.json", "medianSeconds": 0.1, "p95Seconds": 0.1, "sampleSize": 0}/api/v1/deployments/{id}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
Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/deployments/string"{ "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string"}/api/v1/deployments/{id}/cancelAn 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
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/deployments/string/cancel"{ "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string"}/api/v1/deployments/{id}/eventsAn 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
Query Parameters
Opaque cursor from a previous response's nextCursor. Omit for the first page.
How many items to return.
int641 <= value <= 20050Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/deployments/string/events"{ "$schema": "https://example.com/PageDeploymentEventDTO.json", "items": [ { "at": "2019-08-24T14:15:22Z", "blocker": "string", "decidedBy": "string", "decision": "string", "id": "string", "kind": "string", "message": "string", "stage": "string" } ], "nextCursor": "string"}/api/v1/deployments/{id}/streamAn 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
Response Body
text/event-stream
application/problem+json
curl -X GET "https://example.com/api/v1/deployments/string/stream"[ { "data": { "blocker": "string", "message": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "event": "state", "id": 0, "retry": 0 }]/api/v1/releases/{id}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
Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/releases/string"{ "$schema": "https://example.com/GetReleaseOutputBody.json", "deployment": { "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "release": { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] }}/api/v1/releases/{id}/rollbackAn 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
Response Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/releases/string/rollback"{ "$schema": "https://example.com/CreateResultDTO.json", "approval": { "$schema": "https://example.com/ApprovalDTO.json", "changeSetId": "string", "createdAt": "2019-08-24T14:15:22Z", "decidedAt": "2019-08-24T14:15:22Z", "decidedBy": "string", "decision": "string", "diff": null, "environmentId": "string", "expiresAt": "2019-08-24T14:15:22Z", "id": "string", "impact": null, "kind": "deploy", "reason": "string", "requestedBy": "string", "target": null }, "deployment": { "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "release": { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] }, "superseded": [ { "deploymentId": "string", "releaseNumber": 0, "state": "string" } ]}/api/v1/services/{id}/image-configAn 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
Query Parameters
Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/services/string/image-config?environmentId=string"{ "$schema": "https://example.com/ImageConfigBody.json", "cmd": [ "string" ], "entrypoint": [ "string" ], "imageRef": "string", "user": "string", "workingDir": "string"}/api/v1/services/{id}/promoteAn 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
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/services/string/promote" \ -H "Content-Type: application/json" \ -d '{ "releaseId": "string", "toEnvironmentId": "string" }'{ "$schema": "https://example.com/CreateResultDTO.json", "approval": { "$schema": "https://example.com/ApprovalDTO.json", "changeSetId": "string", "createdAt": "2019-08-24T14:15:22Z", "decidedAt": "2019-08-24T14:15:22Z", "decidedBy": "string", "decision": "string", "diff": null, "environmentId": "string", "expiresAt": "2019-08-24T14:15:22Z", "id": "string", "impact": null, "kind": "deploy", "reason": "string", "requestedBy": "string", "target": null }, "deployment": { "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "release": { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] }, "superseded": [ { "deploymentId": "string", "releaseNumber": 0, "state": "string" } ]}/api/v1/services/{id}/redeployAn 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
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/services/string/redeploy" \ -H "Content-Type: application/json" \ -d '{ "environmentId": "string" }'{ "$schema": "https://example.com/CreateResultDTO.json", "approval": { "$schema": "https://example.com/ApprovalDTO.json", "changeSetId": "string", "createdAt": "2019-08-24T14:15:22Z", "decidedAt": "2019-08-24T14:15:22Z", "decidedBy": "string", "decision": "string", "diff": null, "environmentId": "string", "expiresAt": "2019-08-24T14:15:22Z", "id": "string", "impact": null, "kind": "deploy", "reason": "string", "requestedBy": "string", "target": null }, "deployment": { "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "release": { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] }, "superseded": [ { "deploymentId": "string", "releaseNumber": 0, "state": "string" } ]}/api/v1/services/{id}/releasesAn 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
Query Parameters
Opaque cursor from a previous response's nextCursor. Omit for the first page.
How many items to return.
int641 <= value <= 20050Response Body
application/json
application/problem+json
curl -X GET "https://example.com/api/v1/services/string/releases?environmentId=string"{ "$schema": "https://example.com/PageReleaseDTO.json", "items": [ { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] } ], "nextCursor": "string"}/api/v1/services/{id}/releasesAn 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
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/services/string/releases" \ -H "Content-Type: application/json" \ -d '{ "environmentId": "string", "reference": "string" }'{ "$schema": "https://example.com/CreateResultDTO.json", "approval": { "$schema": "https://example.com/ApprovalDTO.json", "changeSetId": "string", "createdAt": "2019-08-24T14:15:22Z", "decidedAt": "2019-08-24T14:15:22Z", "decidedBy": "string", "decision": "string", "diff": null, "environmentId": "string", "expiresAt": "2019-08-24T14:15:22Z", "id": "string", "impact": null, "kind": "deploy", "reason": "string", "requestedBy": "string", "target": null }, "deployment": { "$schema": "https://example.com/DeploymentDTO.json", "approvalId": "string", "blocker": "string", "changeSetId": "string", "changeSetMessage": "string", "createdAt": "2019-08-24T14:15:22Z", "downtimeAccepted": true, "environmentId": "string", "finishedAt": "2019-08-24T14:15:22Z", "id": "string", "kind": "string", "message": "string", "releaseId": "string", "requestedBy": "string", "serviceId": "string", "stages": [ { "detail": "string", "endedAt": "2019-08-24T14:15:22Z", "stage": "string", "startedAt": "2019-08-24T14:15:22Z" } ], "state": "string" }, "release": { "buildId": "string", "configRevision": 0, "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "gitCommitSha": "string", "id": "string", "imageRef": "string", "number": 0, "promotedFromReleaseId": "string", "repositoryConfig": { "commit": "string", "effective": { "buildArgs": { "property1": "string", "property2": "string" }, "builder": "string", "dependsOn": [ "string" ], "dockerfile": "string", "env": { "property1": "string", "property2": "string" }, "hasProcesses": true, "mounts": [ { "destination": "string", "initialSize": 0, "processes": [ "string" ], "source": "string" } ], "processes": [ { "checks": { "liveness": "string", "readiness": "string", "startup": "string" }, "cmd": [ "string" ], "cpu": { "limit": 0, "request": 0 }, "drainSeconds": 0, "entrypoint": [ "string" ], "kind": "string", "memory": { "limit": 0, "request": 0 }, "metrics": { "enabled": true, "path": "string", "port": 0 }, "name": "string", "port": 0, "replicas": 0, "runAsUser": 0, "schedule": "string", "stabilizationSeconds": 0 } ], "releaseCommand": [ "string" ], "releaseCommandTimeoutSeconds": 0, "target": "string" }, "path": "string" }, "retiredAt": "2019-08-24T14:15:22Z", "variableKeys": [ "string" ] }, "superseded": [ { "deploymentId": "string", "releaseNumber": 0, "state": "string" } ]}Variables
Variables at every tier, external resources and the references between them. Each operation lists its method and path, parameters, request body, responses and an example call.
Approvals
Approvals that hold a change to a protected environment until a person decides. Each operation lists its method and path, parameters, request body, responses and an example call.