Skip to content
NebulaCtrldocs
HTTP APIEndpoints

Updates

The installed version, newer releases, and updating the control plane. Each operation lists its method and path, parameters, request body, responses and an example call.

curl -X GET "https://example.com/api/v1/releases"
{  "$schema": "https://example.com/ReleasesFeed.json",  "current": "string",  "releases": [    {      "date": "string",      "sections": [        {          "items": [            {              "scope": "string",              "text": "string"            }          ],          "kind": "added"        }      ],      "security": true,      "url": "string",      "version": "string"    }  ]}
GET/api/v1/updates

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

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/updates"
{  "$schema": "https://example.com/UpdateStatusBody.json",  "checkError": "string",  "checkedAt": "2019-08-24T14:15:22Z",  "checksDisabled": true,  "controlPlaneUpdate": {    "available": true,    "canRequest": true,    "history": [      {        "$schema": "https://example.com/ControlPlaneUpdateBody.json",        "finishedAt": "2019-08-24T14:15:22Z",        "fromVersion": "string",        "id": "string",        "logTail": "string",        "message": "string",        "requestedAt": "2019-08-24T14:15:22Z",        "requestedBy": {          "email": "string",          "name": "string"        },        "startedAt": "2019-08-24T14:15:22Z",        "state": "requested",        "toVersion": "string"      }    ],    "open": {      "$schema": "https://example.com/ControlPlaneUpdateBody.json",      "finishedAt": "2019-08-24T14:15:22Z",      "fromVersion": "string",      "id": "string",      "logTail": "string",      "message": "string",      "requestedAt": "2019-08-24T14:15:22Z",      "requestedBy": {        "email": "string",        "name": "string"      },      "startedAt": "2019-08-24T14:15:22Z",      "state": "requested",      "toVersion": "string"    },    "unavailableReason": "string",    "updater": {      "installedVersion": "string",      "lastSeenAt": "2019-08-24T14:15:22Z",      "version": "string"    },    "whoCanRequest": "Owners of the Default organization"  },  "installed": {    "development": true,    "version": "string"  },  "latest": {    "publishedAt": "2019-08-24T14:15:22Z",    "releaseUrl": "string",    "version": "string"  },  "releases": [    {      "date": "string",      "notesAvailable": true,      "sections": [        {          "items": [            {              "scope": "string",              "text": "string"            }          ],          "kind": "added"        }      ],      "status": "available",      "url": "string",      "version": "string"    }  ],  "updateAvailable": true,  "upgrade": {    "image": "string",    "steps": [      {        "command": "string",        "detail": "string",        "title": "string"      }    ]  }}
POST/api/v1/updates/check

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

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/updates/check"
{  "$schema": "https://example.com/UpdateStatusBody.json",  "checkError": "string",  "checkedAt": "2019-08-24T14:15:22Z",  "checksDisabled": true,  "controlPlaneUpdate": {    "available": true,    "canRequest": true,    "history": [      {        "$schema": "https://example.com/ControlPlaneUpdateBody.json",        "finishedAt": "2019-08-24T14:15:22Z",        "fromVersion": "string",        "id": "string",        "logTail": "string",        "message": "string",        "requestedAt": "2019-08-24T14:15:22Z",        "requestedBy": {          "email": "string",          "name": "string"        },        "startedAt": "2019-08-24T14:15:22Z",        "state": "requested",        "toVersion": "string"      }    ],    "open": {      "$schema": "https://example.com/ControlPlaneUpdateBody.json",      "finishedAt": "2019-08-24T14:15:22Z",      "fromVersion": "string",      "id": "string",      "logTail": "string",      "message": "string",      "requestedAt": "2019-08-24T14:15:22Z",      "requestedBy": {        "email": "string",        "name": "string"      },      "startedAt": "2019-08-24T14:15:22Z",      "state": "requested",      "toVersion": "string"    },    "unavailableReason": "string",    "updater": {      "installedVersion": "string",      "lastSeenAt": "2019-08-24T14:15:22Z",      "version": "string"    },    "whoCanRequest": "Owners of the Default organization"  },  "installed": {    "development": true,    "version": "string"  },  "latest": {    "publishedAt": "2019-08-24T14:15:22Z",    "releaseUrl": "string",    "version": "string"  },  "releases": [    {      "date": "string",      "notesAvailable": true,      "sections": [        {          "items": [            {              "scope": "string",              "text": "string"            }          ],          "kind": "added"        }      ],      "status": "available",      "url": "string",      "version": "string"    }  ],  "updateAvailable": true,  "upgrade": {    "image": "string",    "steps": [      {        "command": "string",        "detail": "string",        "title": "string"      }    ]  }}
POST/api/v1/updates/control-plane

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

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/updates/control-plane" \  -H "Content-Type: application/json" \  -d '{    "version": "0.38.0"  }'
{  "$schema": "https://example.com/ControlPlaneUpdateBody.json",  "finishedAt": "2019-08-24T14:15:22Z",  "fromVersion": "string",  "id": "string",  "logTail": "string",  "message": "string",  "requestedAt": "2019-08-24T14:15:22Z",  "requestedBy": {    "email": "string",    "name": "string"  },  "startedAt": "2019-08-24T14:15:22Z",  "state": "requested",  "toVersion": "string"}
POST/api/v1/updates/control-plane/{id}/cancel

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

Control plane update id.

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/updates/control-plane/string/cancel"
{  "$schema": "https://example.com/ControlPlaneUpdateBody.json",  "finishedAt": "2019-08-24T14:15:22Z",  "fromVersion": "string",  "id": "string",  "logTail": "string",  "message": "string",  "requestedAt": "2019-08-24T14:15:22Z",  "requestedBy": {    "email": "string",    "name": "string"  },  "startedAt": "2019-08-24T14:15:22Z",  "state": "requested",  "toVersion": "string"}
GET/api/v1/version

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/version"
{  "$schema": "https://example.com/VersionOutputBody.json",  "version": "0.17.1"}