Zum Inhalt springen

Swagger json

Diese Seite ist noch nicht in deiner Sprache verfügbar. Englische Seite aufrufen

This json file provides a documentation of all available endpoints of our MOSS (Managed Operations on STACKIT Servers) API and requests including examples. Use the Swagger Editor to read the file.

{
"openapi": "3.0.0",
"info": {
"description": "API endpoints for Managed servers on STACKIT.\n\n# Authentication\n\n<!-- ReDoc-Inject: <security-definitions> -->",
"version": "1.0",
"title": "STACKIT Managed Operating System Service API",
"termsOfService": "https://stackit.de/en/imprint",
"contact": {
"email": "support@stackit.de"
}
},
"servers": [
{
"url": "https://stackit-service-mos.apps.01.cf.eu01.stackit.cloud/v1",
"description": "Production endpoint"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/service-instances/{instanceId}/updates": {
"post": {
"summary": "trigger update job",
"tags": ["Updates"],
"operationId": "dashboard.createUpdate",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["maintenanceWindow", "backupBeforeUpdate"],
"properties": {
"maintenanceWindow": {
"type": "integer",
"example": 3
},
"backupBeforeUpdate": {
"type": "boolean",
"example": true
},
"backupProperties": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backups/post/requestBody/content/application~1json/schema"
}
}
}
}
}
},
"responses": {
"202": {
"description": "Request is accepted, but processing may take some time.",
"content": {
"application/json": {
"schema": {
"title": "updateJobCreated",
"type": "object",
"required": ["id", "startDate", "status"],
"properties": {
"id": {
"type": "integer",
"example": 58725
},
"startDate": {
"type": "string",
"example": "2020-07-22T15:12:36.951"
},
"status": {
"type": "string",
"enum": [
"new",
"pending",
"waiting",
"running",
"successful",
"failed",
"error",
"canceled"
],
"example": "pending"
}
}
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server not found"
}
}
},
"get": {
"summary": "get list of update jobs",
"tags": ["Updates"],
"operationId": "dashboard.getUpdates",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "list with update jobs",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1updates~1%7BupdateId%7D/get/responses/200/content/application~1json/schema"
}
}
}
}
}
}
},
"404": {
"description": "Server not found"
}
}
}
},
"/service-instances/{instanceId}/updates/{updateId}": {
"get": {
"summary": "get single update job details",
"tags": ["Updates"],
"operationId": "dashboard.getUpdate",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "updateId",
"in": "path",
"description": "update id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "single update job results",
"content": {
"application/json": {
"schema": {
"title": "updateJob",
"type": "object",
"required": ["id", "startDate", "status"],
"properties": {
"id": {
"type": "integer",
"example": 58725
},
"startDate": {
"type": "string",
"example": "2020-07-22T15:12:36.951"
},
"endDate": {
"type": "string",
"example": "2020-07-22T15:20:00.254"
},
"status": {
"type": "string",
"enum": [
"new",
"pending",
"waiting",
"running",
"successful",
"failed",
"error",
"canceled"
],
"example": "successful"
},
"installedUpdates": {
"type": "integer",
"example": 1
},
"failedUpdates": {
"type": "integer",
"example": 0
},
"serverBackupJobId": {
"type": "string",
"example": "d4431ddb-3010-4d44-8f68-36c34c38da4a"
}
}
}
}
}
},
"404": {
"description": "Server | Update job not found"
}
}
}
},
"/service-instances/{instanceId}/update-schedules": {
"post": {
"summary": "create update schedule",
"tags": ["Update Schedules"],
"operationId": "dashboard.createUpdateSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"rrule",
"enabled",
"backupBeforeUpdate",
"maintenanceWindow"
],
"properties": {
"name": {
"type": "string",
"example": "Monthly Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T134000 RRULE:FREQ=MONTHLY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupBeforeUpdate": {
"type": "boolean",
"example": true
},
"maintenanceWindow": {
"type": "integer",
"example": 2
}
}
}
}
}
},
"responses": {
"201": {
"description": "Schedule created",
"content": {
"application/json": {
"schema": {
"title": "updateSchedule",
"type": "object",
"required": [
"id",
"name",
"rrule",
"enabled",
"backupBeforeUpdate",
"maintenanceWindow"
],
"properties": {
"id": {
"type": "integer",
"example": 52345
},
"name": {
"type": "string",
"example": "Monthly Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T134000 RRULE:FREQ=MONTHLY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupBeforeUpdate": {
"type": "boolean",
"example": true
},
"maintenanceWindow": {
"type": "integer",
"example": 2
}
}
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server not found"
}
}
},
"get": {
"summary": "get list of update schedules",
"tags": ["Update Schedules"],
"operationId": "dashboard.get_update_schedules",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "schedule list response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1update-schedules/post/responses/201/content/application~1json/schema"
}
}
}
}
}
}
},
"404": {
"description": "Server not found"
}
}
}
},
"/service-instances/{instanceId}/update-schedules/{updateScheduleId}": {
"get": {
"summary": "get single update schedule details",
"tags": ["Update Schedules"],
"operationId": "dashboard.get_update_schedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "updateScheduleId",
"in": "path",
"description": "update schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "update schedule response",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1update-schedules/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Server | update schedule not found"
}
}
},
"put": {
"summary": "update update schedule",
"tags": ["Update Schedules"],
"operationId": "dashboard.updateUpdateSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "updateScheduleId",
"in": "path",
"description": "update schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"rrule",
"enabled",
"backupBeforeUpdate",
"maintenanceWindow"
],
"properties": {
"name": {
"type": "string",
"example": "Monthly Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T134000 RRULE:FREQ=MONTHLY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupBeforeUpdate": {
"type": "boolean",
"example": true
},
"maintenanceWindow": {
"type": "integer",
"example": 2
}
}
}
}
}
},
"responses": {
"200": {
"description": "updated update schedule",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1update-schedules/post/responses/201/content/application~1json/schema"
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server | update schedule not found"
}
}
},
"delete": {
"summary": "delete update schedule",
"tags": ["Update Schedules"],
"operationId": "dashboard.deleteUpdateSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "updateScheduleId",
"in": "path",
"description": "update schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "update schedule successfully deleted"
},
"404": {
"description": "Server | update schedule not found"
}
}
}
},
"/service-instances/{instanceId}/backups": {
"post": {
"summary": "create backup",
"tags": ["Backups"],
"operationId": "dashboard.backup",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "backupProperties",
"type": "object",
"required": ["name", "retentionPeriod"],
"properties": {
"name": {
"type": "string"
},
"retentionPeriod": {
"type": "integer"
},
"volumeIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"example": {
"name": "Daily Backup",
"retentionPeriod": 3,
"volumeIds": [
"58335311-6acf-46c5-8652-cb96cd63181e",
"38345f49-047b-437d-83a1-458f04fa3182"
]
}
}
}
}
},
"responses": {
"202": {
"description": "Request is accepted, but processing may take some time.",
"content": {
"application/json": {
"schema": {
"title": "backupJob",
"type": "object",
"required": ["id"],
"properties": {
"id": {
"type": "string",
"example": "001c372f-5c15-418d-b2fb-b1f93ea2ffc8"
}
}
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server not found"
}
}
},
"get": {
"summary": "get list of backups",
"tags": ["Backups"],
"operationId": "dashboard.backups",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "backup list response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backups~1%7BbackupId%7D/get/responses/200/content/application~1json/schema"
}
}
}
}
}
}
},
"404": {
"description": "Server not found"
}
}
}
},
"/service-instances/{instanceId}/backups/{backupId}": {
"get": {
"summary": "get backup",
"tags": ["Backups"],
"operationId": "dashboard.getbackup",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupId",
"in": "path",
"description": "id of the backup",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "backup response",
"content": {
"application/json": {
"schema": {
"title": "backup",
"type": "object",
"required": ["id", "name", "createdAt", "expireAt", "status"],
"properties": {
"id": {
"type": "string",
"example": "001c372f-5c15-418d-b2fb-b1f93ea2ffc8"
},
"name": {
"type": "string",
"example": "Daily Backup"
},
"createdAt": {
"type": "string",
"example": "2020-09-10T10:15:00.891409"
},
"expireAt": {
"type": "string",
"example": "2020-09-13T10:15:00.891409"
},
"size": {
"type": "integer",
"example": 55
},
"status": {
"type": "string",
"enum": [
"creating",
"available",
"deleting",
"error",
"restoring",
"error_deleting",
"backing up",
"inconsistent"
],
"example": "available"
},
"volumeBackups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"volumeId": {
"type": "string"
},
"size": {
"type": "integer"
},
"status": {
"type": "string",
"enum": [
"creating",
"available",
"deleting",
"error",
"restoring",
"error_deleting"
]
}
},
"example": {
"id": "f305beab-cedb-4958-ae4b-aa7434aa2103",
"volumeId": "58335311-6acf-46c5-8652-cb96cd63181e",
"size": 40,
"status": "available"
}
}
}
}
}
}
}
},
"404": {
"description": "Server | backup job not found"
}
}
},
"delete": {
"summary": "delete server backup",
"tags": ["Backups"],
"operationId": "dashboard.deleteBackup",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupId",
"in": "path",
"description": "id of the backup",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Success"
},
"404": {
"description": "Server | backup job not found"
}
}
}
},
"/service-instances/{instanceId}/backups/{backupId}/volume-backups/{volumeBackupId}": {
"delete": {
"summary": "delete volume backup",
"tags": ["Backups"],
"operationId": "dashboard.deleteVolumeBackup",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupId",
"in": "path",
"description": "id of the backup",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "volumeBackupId",
"in": "path",
"description": "id of the volume backup",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Success"
},
"404": {
"description": "Server | volume backup not found"
}
}
}
},
"/service-instances/{instanceId}/backups/{backupId}/restore": {
"post": {
"summary": "trigger restore of the requested backup",
"tags": ["Backups"],
"operationId": "dashboard.restore",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupId",
"in": "path",
"description": "backup id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["startServerAfterRestore"],
"properties": {
"startServerAfterRestore": {
"type": "boolean",
"example": true
},
"volumeIds": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"58335311-6acf-46c5-8652-cb96cd63181e",
"38345f49-047b-437d-83a1-458f04fa3182"
]
}
}
}
}
}
},
"responses": {
"202": {
"description": "Request is accepted, but processing may take some time."
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server | backup not found"
}
}
}
},
"/service-instances/{instanceId}/backup-schedules": {
"post": {
"summary": "create backup schedule",
"tags": ["Backup Schedules"],
"operationId": "dashboard.createBackupSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["name", "rrule", "enabled"],
"properties": {
"name": {
"type": "string",
"example": "Daily Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupProperties": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backups/post/requestBody/content/application~1json/schema"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Schedule created",
"content": {
"application/json": {
"schema": {
"title": "backupSchedule",
"type": "object",
"required": ["id", "name", "rrule", "enabled"],
"properties": {
"id": {
"type": "integer",
"example": 1480
},
"name": {
"type": "string",
"example": "Daily Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupProperties": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backups/post/requestBody/content/application~1json/schema"
}
}
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server not found"
}
}
},
"get": {
"summary": "get list of backup schedules",
"tags": ["Backup Schedules"],
"operationId": "dashboard.get_backup_schedules",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "schedule list response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backup-schedules/post/responses/201/content/application~1json/schema"
}
}
}
}
}
}
},
"404": {
"description": "Server not found"
}
}
}
},
"/service-instances/{instanceId}/backup-schedules/{backupScheduleId}": {
"get": {
"summary": "get single backup schedule details",
"tags": ["Backup Schedules"],
"operationId": "dashboard.get_backup_schedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupScheduleId",
"in": "path",
"description": "backup schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "backup schedule response",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backup-schedules/post/responses/201/content/application~1json/schema"
}
}
}
},
"404": {
"description": "Server | backup schedule not found"
}
}
},
"put": {
"summary": "update backup schedule",
"tags": ["Backup Schedules"],
"operationId": "dashboard.updateBackupeSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupScheduleId",
"in": "path",
"description": "backup schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["name", "rrule", "enabled"],
"properties": {
"name": {
"type": "string",
"example": "Daily Schedule"
},
"rrule": {
"type": "string",
"example": "DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1"
},
"enabled": {
"type": "boolean",
"example": true
},
"backupProperties": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backups/post/requestBody/content/application~1json/schema"
}
}
}
}
}
},
"responses": {
"200": {
"description": "updated backup schedule",
"content": {
"application/json": {
"schema": {
"$ref": "#/paths/~1service-instances~1%7BinstanceId%7D~1backup-schedules/post/responses/201/content/application~1json/schema"
}
}
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Server | schedule not found"
}
}
},
"delete": {
"summary": "delete backup schedule",
"tags": ["Backup Schedules"],
"operationId": "dashboard.deleteBackupSchedule",
"parameters": [
{
"name": "instanceId",
"in": "path",
"description": "openstack server id",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "backupScheduleId",
"in": "path",
"description": "backup schedule id",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "backup schedule successfully deleted"
},
"404": {
"description": "Server | schedule not found"
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
},
"schemas": {}
}
}