Clever-Cloud API icon

Clever-Cloud API

Public API for managing Clever-Cloud data and products

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://api.clever-cloud.com/v2"
    }
  ],
  "info": {
    "contact": {
      "x-twitter": "clever_cloud"
    },
    "description": "Public API for managing Clever-Cloud data and products",
    "title": "Clever-Cloud API",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_clever_cloud_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://www.clever-cloud.com/doc/api/swagger.json",
        "version": "3.0"
      }
    ],
    "x-providerName": "clever-cloud.com"
  },
  "paths": {
    "//openapi": {
      "get": {
        "responses": {
          "200": {
            "description": "The swagger documenting this API in yaml format."
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "//openapi.{type}": {
      "parameters": [
        {
          "in": "path",
          "name": "type",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/application/{appId}/environment": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/authorize": {
      "post": {
        "description": "Handled by our API.",
        "operationId": "postAuthorize",
        "responses": {
          "200": {
            "description": "authorize"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/events/event-socket": {
      "get": {
        "description": "Retrieve events as they come through a websocket connection. To have authorization, you have to send a `{ \"message_type\": \"oauth\", \"authorization\": \"oauth authorization string\" }` message",
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "events"
        ]
      }
    },
    "/github": {
      "get": {
        "operationId": "getGithub",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction_Id"
                }
              }
            },
            "description": "startGithub"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/applications": {
      "get": {
        "operationId": "getGithubApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getGithubApplications"
          }
        },
        "tags": [
          "all",
          "applications",
          "github"
        ]
      }
    },
    "/github/callback": {
      "get": {
        "operationId": "getGithubCallback",
        "parameters": [
          {
            "in": "query",
            "name": "code",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "state",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "error",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "error_description",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "error_uri",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Cookie",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "githubCallback"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/emails": {
      "get": {
        "operationId": "getGithubEmails",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getGithubEmails"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/keys": {
      "get": {
        "operationId": "getGithubKeys",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Key"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getGithubKeys"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/link": {
      "delete": {
        "operationId": "deleteGithubLink",
        "responses": {
          "200": {
            "description": "unlinkGithub"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      },
      "get": {
        "operationId": "getGithubLink",
        "parameters": [
          {
            "description": "From GET /github",
            "in": "query",
            "name": "transactionId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "redirectUrl",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "linkGithub"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/login": {
      "get": {
        "operationId": "getGithubLogin",
        "parameters": [
          {
            "in": "query",
            "name": "redirectUrl",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "fromAuthorize",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "githubLogin"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/redeploy": {
      "post": {
        "operationId": "postGithubRedeploy",
        "parameters": [
          {
            "in": "header",
            "name": "User-Agent",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Github-Event",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Hub-Signature",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "redeployApp"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/signup": {
      "get": {
        "operationId": "getGithubSignup",
        "parameters": [
          {
            "in": "query",
            "name": "redirectUrl",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "fromAuthorize",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "githubSignup"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      },
      "post": {
        "operationId": "postGithubSignup",
        "parameters": [
          {
            "in": "query",
            "name": "transactionId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "otherId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "otherEmail",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "password",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "autoLink",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "terms",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "finsihGithubSignup"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/github/username": {
      "get": {
        "operationId": "getGithubUsername",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "getGithubUsername"
          }
        },
        "tags": [
          "all",
          "github"
        ]
      }
    },
    "/logs-socket/{appId}": {
      "get": {
        "description": "WebSocket to get logs for :appID. Optional queryString arg bind_to_es=true to bind WS on log storage and not real time AMQP broker",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/logs/drains": {
      "get": {
        "description": "Fetch all the logs drains (ccadmin dedicated route)",
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/drains/{drainId}": {
      "put": {
        "description": "Fetch all the logs drains (ccadmin dedicated route)",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "drainId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/logs-chunked/{appId}": {
      "get": {
        "description": "Retrieve logs as they come through a chunked, never-ending response",
        "parameters": [
          {
            "description": "Application Id",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Tell the user-agent to download the body as a file",
            "in": "query",
            "name": "download",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/logs-socket/{appId}": {
      "get": {
        "description": "Retrieve logs as they come through a websocket connection. To have authorization, you have to send a `{ \"message_type\": \"oauth\", \"authorization\": \"oauth authorization string\" }` message",
        "parameters": [
          {
            "description": "Application Id",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only fetch logs newer than this (ISO-8601 formatted) date",
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "A pattern to filter with",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only fetch logs emitted by this deployment",
            "in": "query",
            "name": "deployment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/{appId}": {
      "get": {
        "description": "Fetch the logs for a given application",
        "parameters": [
          {
            "description": "Application Id",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Number of lines to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "Logs order",
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            }
          },
          {
            "description": "Lowest bound for logs date, ISO 8601",
            "in": "query",
            "name": "after",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Highest bounds for logs date, ISO 8601",
            "in": "query",
            "name": "before",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "A pattern to filter with",
            "in": "query",
            "name": "filter",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only fetch logs emitted by this deployment",
            "in": "query",
            "name": "deployment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/{appId}/drains": {
      "get": {
        "description": "Fetch the logs drains for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      },
      "post": {
        "description": "Add a log drain for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/{appId}/drains/:idOrUrl": {
      "delete": {
        "description": "Delete the logs drain by id or url for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      },
      "get": {
        "description": "Fetch the logs drain by id or url for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/logs/{appId}/sse": {
      "get": {
        "description": "Retrieve logs as they come through a sse connection. To have authorization, you have to add `authorization=oAuthAuthorizationString` as query param.",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/newsfeeds/blog": {
      "get": {
        "operationId": "getNewsfeedsBlog",
        "responses": {
          "200": {
            "description": "getBlogFeed"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/newsfeeds/engineering": {
      "get": {
        "operationId": "getNewsfeedEngineering",
        "responses": {
          "200": {
            "description": "getEngineeringFeed"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/notifications/emailhooks/{ownerId}": {
      "get": {
        "description": "list created e-mail hooks",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      },
      "post": {
        "description": "create a hook for e-mail notifications",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/notifications/emailhooks/{ownerId}/:id": {
      "delete": {
        "description": "delete an e-mail hook",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      },
      "put": {
        "description": "edit an e-mail hook",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/notifications/info/events": {
      "get": {
        "description": "list available events",
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "events"
        ]
      }
    },
    "/notifications/info/webhookformats": {
      "get": {
        "description": "list available webhook formats",
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/notifications/webhooks/{ownerId}": {
      "get": {
        "description": "list created hooks",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      },
      "post": {
        "description": "create a hook for notifications",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/notifications/webhooks/{ownerId}/:id": {
      "delete": {
        "description": "delete a hook",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      },
      "put": {
        "description": "edit a hook",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/oauth/access_token": {
      "post": {
        "operationId": "postOauthAccessToken",
        "parameters": [
          {
            "in": "query",
            "name": "oauth_consumer_key",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature_method",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_timestamp",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_nonce",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_version",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_verifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token_secret",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback_confirmed",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "postAccessTokenRequest"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/oauth/access_token_query": {
      "post": {
        "parameters": [
          {
            "in": "query",
            "name": "oauth_consumer_key",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature_method",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_timestamp",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_nonce",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_version",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_verifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token_secret",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback_confirmed",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/oauth/authorize": {
      "get": {
        "operationId": "getOauthAuthorize",
        "parameters": [
          {
            "in": "query",
            "name": "oauth_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Cookie",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "authorizeForm"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      },
      "post": {
        "operationId": "postOauthAuthorize",
        "parameters": [
          {
            "in": "query",
            "name": "almighty",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_organisations",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_organisations",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_organisations_services",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_organisations_applications",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_organisations_members",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_organisations_bills",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_organisations_credit_count",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_organisations_consumption_statistics",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_personal_information",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_personal_information",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_ssh_keys",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_services",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "manage_applications",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_bills",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_credit_count",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "access_consumption_statistics",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Cookie",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "authorizeToken"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/oauth/request_token": {
      "post": {
        "operationId": "postOauthRequestToken",
        "parameters": [
          {
            "in": "query",
            "name": "oauth_consumer_key",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature_method",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_timestamp",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_nonce",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_version",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_verifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token_secret",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback_confirmed",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "postReqTokenRequest"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/oauth/request_token_query": {
      "post": {
        "parameters": [
          {
            "in": "query",
            "name": "oauth_consumer_key",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature_method",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_signature",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_timestamp",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_nonce",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_version",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_verifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_token_secret",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "oauth_callback_confirmed",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/oauth/rights": {
      "get": {
        "operationId": "getOauthRights",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rights"
                }
              }
            },
            "description": "getAvailableRights"
          }
        },
        "tags": [
          "all",
          "oauth"
        ]
      }
    },
    "/openapi.{type}": {
      "get": {
        "description": "Get the swagger for this API as {type}. Type can be either \"yml\" or \"json\".",
        "responses": {
          "200": {
            "description": "This API swagger documentation in {type} format."
          }
        },
        "summary": "Get the swagger for this API as {type}",
        "tags": [
          "all"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "type",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations": {
      "get": {
        "operationId": "getOrganisations",
        "parameters": [
          {
            "in": "query",
            "name": "user",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Organisation"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getUserOrganisations"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "post": {
        "operationId": "postOrganisations",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeOrganisation"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Organisation"
                }
              }
            },
            "description": "createOrganisation"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}": {
      "delete": {
        "operationId": "deleteOrganisationsId",
        "responses": {
          "200": {
            "description": "deleteOrganisation"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organisation"
                }
              }
            },
            "description": "getOrganisation"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeOrganisation"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Organisation"
                }
              }
            },
            "description": "editOrganisation"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders": {
      "get": {
        "operationId": "getOrganisationsIdAddonproviders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Provider"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Get all informations about all providers."
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdAddonproviders",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddonProvider"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "createProvider"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}": {
      "delete": {
        "description": "Remove a given add-on provider. providerId must be owned by organisation {id}.",
        "responses": {
          "204": {
            "description": "If the deletion was successful."
          },
          "403": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": "{\"type\":\"error\",\"id\":6200,\"message\":\"You do not belong to this organisation so you cannot access it\"}"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "description": "If user has no access to organisation {id} or provider or if there still are add-ons of this provider."
          },
          "404": {
            "description": "If no such organisation/provider exists."
          }
        },
        "summary": "Remove an add-on provider",
        "tags": [
          "all",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdAddonprovidersProviderId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "Get all informations about given provider."
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdAddonprovidersProviderId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddonProvider"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "updateProviderInfos"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}/features": {
      "get": {
        "operationId": "getOrganisationsIdAddonprovidersProviderIdFeatures",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Feature"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getProviderFeatures"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdAddonprovidersProviderIdFeatures",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WannabeFeature"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                }
              }
            },
            "description": "addProviderFeature"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}/features/{featureId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdAddonprovidersProviderIdFeaturesFeatureId",
        "responses": {
          "200": {
            "description": "deleteProviderFeature"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "featureId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addonproviders/{providerId}/plans": {
      "get": {
        "operationId": "getOrganisationsIdAddonprovidersProviderIdPlans",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Plan"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getProviderPlans"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdAddonprovidersProviderIdPlans",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabePlan"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                }
              }
            },
            "description": "addProviderPlan"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}/plans/{planId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdAddonprovidersProviderIdPlansPlanId",
        "responses": {
          "200": {
            "description": "deleteProviderPlan"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdAddonprovidersProviderIdPlansPlanId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                }
              }
            },
            "description": "getProviderPlan"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "planId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdAddonprovidersProviderIdPlansPlanId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabePlan"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                }
              }
            },
            "description": "editProviderPlan"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}/plans/{planId}/features/{featureName}": {
      "delete": {
        "operationId": "deleteOrganisationsIdAddonprovidersProviderIdPlansPlanIdFeaturesFeatureName",
        "responses": {
          "200": {
            "description": "deleteProviderPlanFeature"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "featureName",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "planId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdAddonprovidersProviderIdPlansPlanIdFeaturesFeatureName",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WannabePlanFeature"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "editProviderPlanFeature"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addonproviders/{providerId}/sso": {
      "get": {
        "operationId": "getOrganisationsIdAddonsAddonIdSso",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddonProviderSso"
                }
              }
            },
            "description": "getSSOData"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addonproviders/{providerId}/tags": {
      "get": {
        "operationId": "getOrganisationsIdAddonprovidersProviderIdTags",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getProviderTags"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addonproviders/{providerId}/testers": {
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "providerId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdAddonprovidersProviderIdTesters",
        "responses": {
          "200": {
            "description": "addBetaTester"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addons": {
      "get": {
        "operationId": "getOrganisationsIdAddons",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Addon"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddons"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdAddons",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Addon"
                }
              }
            },
            "description": "provisionAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addons/preorders": {
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addons/{addonId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdAddonsAddonId",
        "responses": {
          "200": {
            "description": "deprovisionAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdAddonsAddonId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Addon"
                }
              }
            },
            "description": "getAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdAddonsAddonId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Addon"
                }
              }
            },
            "description": "Update addon information"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addons/{addonId}/applications": {
      "get": {
        "operationId": "getOrganisationsIdAddonsAddonIdApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationsLinkedToAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/env": {
      "get": {
        "operationId": "getOrganisationsIdAddonsAddonIdEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ListEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonEnv"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/instances": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "deploymentId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "withDeleted",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "List of instances.",
                  "items": {
                    "$ref": "#/components/schemas/SupernovaInstanceView"
                  },
                  "type": "array"
                }
              }
            },
            "description": "The instance list"
          }
        },
        "summary": "List instances for this add-on.",
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/instances/{instanceId}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupernovaInstanceView"
                }
              }
            },
            "description": "An instance"
          }
        },
        "summary": "Get a specific instance for {addonId}",
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "instanceId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/migrations": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": "{\n   \"id\": \"<UUID>\",\n   \"addon_id\": \"addon_<uuid>\",\n   \"kind\": \"SHARED_TO_SHARED|SHARED_TO_DEDICATED|DEDICATED_TO_DEDICATED|DEDICATED_TO_SHARED\",\n   \"state\": \"??\",\n   \"hostname\": \"db.hostname\",\n   \"database\": \"dbname\",\n   \"port\": 5432,\n   \"database_user\": \"username\",\n   \"callback_url\": \"https://api.clever-cloud.com/v2/…\",\n   \"old_cluster_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"old_cluster_label\": \"par2-01\",\n   \"old_instance_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"old_plan\": \"s\",\n   \"old_zone\": \"par2\",\n   \"old_recipient_hostname\": \"postgresql-sdc-par2-clevercloud.services.clever-cloud.com\", \n   \"new_cluster_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"new_cluster_label\": \"par2-02\",\n   \"new_instance_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"new_plan\": \"m\",\n   \"new_zone\": \"par3\",\n   \"new_recipient_hostname\": \"postgresql-sdc-par3-clevercloud.services.clever-cloud.com\", \n   \"request_date\": \"2018-10-31T10:00:23Z\",\n   \"last_state_update_date\":  \"2018-10-31T10:00:23Z\",\n   \"dump_restore_start_date\":  \"2018-10-31T10:00:23Z\",\n   \"dump_restore_finished_date\":  \"2018-10-31T10:00:23Z\",\n   \"end_date\":  \"2018-10-31T10:00:23Z\",\n   \"exit_message\": \"Success\" \n}"
                  }
                },
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AddonMigration"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of migrations"
          }
        },
        "summary": "Get past migrations from add-on.",
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "planId": {
                    "description": "Id of the new plan. E.g. \"plan_acddc485-79c2-4c6b-a617-c92a06c0cb0b\"",
                    "type": "string"
                  },
                  "region": {
                    "description": "New region. E.g. \"EU\", \"US\", \"Par2\"",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "The output of the POST to the add-on API.",
                  "type": "object"
                }
              }
            },
            "description": "Migration has started."
          }
        },
        "summary": "Start a new add-on migration",
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/addons/{addonId}/migrations/{migrationId}": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddonMigration"
                }
              }
            },
            "description": "The migration object"
          }
        },
        "summary": "Get a given migration",
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "migrationId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/sso": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sso"
                }
              }
            },
            "description": "getSSOData"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/tags": {
      "get": {
        "operationId": "getOrganisationsIdAddonsAddonIdTags",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonTags"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/addons/{addonId}/tags/{tag}": {
      "delete": {
        "operationId": "deleteOrganisationsIdAddonsAddonIdTagsTag",
        "responses": {
          "200": {
            "description": "deleteAddonTag"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "tag",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdAddonsAddonIdTagsTag",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addAddonTag"
          }
        },
        "tags": [
          "all",
          "addons",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications": {
      "get": {
        "operationId": "getOrganisationsIdApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAllApplications"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "description": "Creates an application. If you want to create a Github app, you need to replace the oauthApp field with what you will find here: https://github.com/CleverCloud/doc.clever-cloud.com/issues/179",
        "operationId": "postOrganisationsIdApplications",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeApplication"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "addApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppId",
        "responses": {
          "200": {
            "description": "deleteApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "getApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeApplication"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "editApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/addons": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdAddons",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Addon"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonsLinkedToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdApplicationsAppIdAddons",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "linkAddonToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/addons/env": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdAddonsEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Env"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getEnvOfAddonsLinkedToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/addons/{addonId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdAddonsAddonId",
        "responses": {
          "200": {
            "description": "unlinkAddonFromApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/branch": {
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/branches": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/buildflavor": {
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/dependencies": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdDependencies",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDependencies"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/dependencies/env": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/LinkedAppEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Get env variables defined by application dependencies"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/dependencies/{dependencyId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdDependenciesDependencyId",
        "responses": {
          "200": {
            "description": "deleteApplicationDependency"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "dependencyId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdDependenciesDependencyId",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addApplicationDependency"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/dependents": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdDependents",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDependents"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/deployments": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdDeployments",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "action",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Deployment"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDeploymentsForOrga"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/deployments/{deploymentId}": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "deploymentId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/deployments/{deploymentId}/instances": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdDeploymentsDeploymentIdInstances",
        "responses": {
          "200": {
            "description": "getApplicationDeploymentsForOrga"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "deploymentId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/env": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ListEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdEnv",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeEnv"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListEnv"
                }
              }
            },
            "description": "editApplicationEnvironment"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/env/{envName}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdEnvEnvName",
        "responses": {
          "200": {
            "description": "removeApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "envName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdEnvEnvName",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeEnv"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListEnv"
                }
              }
            },
            "description": "editApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/exposed_env": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/instances": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdInstances",
        "responses": {
          "200": {
            "description": "undeployApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdInstances",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AppInstance"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationInstances"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdApplicationsAppIdInstances",
        "parameters": [
          {
            "in": "query",
            "name": "commit",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "redeployApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/instances/{instanceId}": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "instanceId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/tags": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdTags",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationTags"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/tags/{tag}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdTagsTag",
        "responses": {
          "200": {
            "description": "deleteApplicationTag"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "tag",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdTagsTag",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addApplicationTag"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/vhosts": {
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdVhosts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Vhost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getVhosts"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/applications/{appId}/vhosts/favourite": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdVhostsFavourite",
        "responses": {
          "200": {
            "description": "unmarkFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdApplicationsAppIdVhostsFavourite",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vhost"
                }
              }
            },
            "description": "getFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdVhostsFavourite",
        "requestBody": {
          "$ref": "#/components/requestBodies/Vhost"
        },
        "responses": {
          "200": {
            "description": "markFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/applications/{appId}/vhosts/{domain}": {
      "delete": {
        "operationId": "deleteOrganisationsIdApplicationsAppIdVhostsDomain",
        "responses": {
          "200": {
            "description": "removeVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "domain",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdApplicationsAppIdVhostsDomain",
        "requestBody": {
          "$ref": "#/components/requestBodies/Vhost"
        },
        "responses": {
          "200": {
            "description": "addVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/avatar": {
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "description": "If you want to upload an image from your computer, send the image in the body of the request without anything else.",
        "operationId": "putOrganisationsIdAvatar",
        "responses": {
          "200": {
            "description": "setOrgaAvatar\nsetOrgaAvatarFromSource"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/consumers": {
      "get": {
        "operationId": "getOrganisationsIdConsumers",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Consumer"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getConsumers"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdConsumers",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeConsumer"
        },
        "responses": {
          "200": {
            "description": "createConsumer"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/consumers/{key}": {
      "delete": {
        "operationId": "deleteOrganisationsIdConsumersKey",
        "responses": {
          "200": {
            "description": "deleteConsumer"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdConsumersKey",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Consumer"
                }
              }
            },
            "description": "getConsumer"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdConsumersKey",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeConsumer"
        },
        "responses": {
          "200": {
            "description": "PUT the same data as in POST."
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/consumers/{key}/secret": {
      "get": {
        "operationId": "getOrganisationsIdConsumersKeySecret",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "getConsumerSecret"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/consumptions": {
      "get": {
        "operationId": "getOrganisationsIdConsumptions",
        "parameters": [
          {
            "in": "query",
            "name": "appId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Conso"
                }
              }
            },
            "description": "getAmount"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/credits": {
      "get": {
        "operationId": "getOrganisationsIdCredits",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Credits"
                }
              }
            },
            "description": "getAmount"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/deployments": {
      "get": {
        "operationId": "getOrganisationsIdDeployments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentSummary"
                }
              }
            },
            "description": "getDeploymentsForAllApps"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/instances": {
      "get": {
        "operationId": "getOrganisationsIdInstances",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "getInstancesForAllApps"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/members": {
      "get": {
        "operationId": "getOrganisationsIdMembers",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Member"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getOrganisationMembers"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdMembers",
        "parameters": [
          {
            "in": "query",
            "name": "invitationKey",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeMember"
        },
        "responses": {
          "200": {
            "description": "addOrganisationMember"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/members/{userId}": {
      "delete": {
        "operationId": "deleteOrganisationsIdMembersUserId",
        "responses": {
          "200": {
            "description": "removeOrganisationMember"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "userId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdMembersUserId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeMember"
        },
        "responses": {
          "200": {
            "description": "editOrganisationMember"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      }
    },
    "/organisations/{id}/payment-info": {
      "get": {
        "operationId": "getOrganisationsIdPaymentInfo",
        "responses": {
          "200": {
            "description": "getPaymentInfo"
          }
        },
        "tags": [
          "all",
          "organisations"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/billings": {
      "get": {
        "operationId": "getOrganisationsIdPaymentsBillings",
        "responses": {
          "200": {
            "description": "getInvoices"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postOrganisationsIdPaymentsBillings",
        "responses": {
          "200": {
            "description": "buyDrops"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      }
    },
    "/organisations/{id}/payments/billings/unpaid": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/billings/{bid}": {
      "delete": {
        "operationId": "deleteOrganisationsIdPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "deletePurchaseOrder"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "get": {
        "operationId": "getOrganisationsIdPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "getInvoice"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "bid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putOrganisationsIdPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "choosePaymentProvider"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      }
    },
    "/organisations/{id}/payments/billings/{bid}.pdf": {
      "get": {
        "operationId": "getOrganisationsIdPaymentsBillingsBidPdf",
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "getPdfInvoice"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "bid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/fullprice/{price}": {
      "get": {
        "operationId": "getOrganisationsIdPaymentsFullPricePrice",
        "responses": {
          "200": {
            "description": "priceWithTax"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "price",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/methods": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      }
    },
    "/organisations/{id}/payments/methods/default": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentData"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      }
    },
    "/organisations/{id}/payments/methods/{mId}": {
      "delete": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "mId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/monthlyinvoice": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/organisations/{id}/payments/monthlyinvoice/maxcredit": {
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      }
    },
    "/organisations/{id}/payments/recurring": {
      "delete": {
        "operationId": "deleteOrganisationsIdPaymentsRecurring",
        "responses": {
          "200": {
            "description": "deleteRecurrentPayment"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "organisations",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/password_forgotten": {
      "get": {
        "operationId": "getPasswordForgotten",
        "responses": {
          "200": {
            "description": "getPasswordForgottenForm"
          }
        },
        "tags": [
          "all",
          "password_forgotten"
        ]
      },
      "post": {
        "operationId": "postPasswordForgotten",
        "parameters": [
          {
            "in": "query",
            "name": "login",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "drop_tokens",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "TesterPass",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "askForPasswordResetViaForm"
          }
        },
        "tags": [
          "all",
          "password_forgotten"
        ]
      }
    },
    "/password_forgotten/{key}": {
      "get": {
        "operationId": "getPasswordForgottenKey",
        "responses": {
          "200": {
            "description": "confirmPasswordResetRequest"
          }
        },
        "tags": [
          "all",
          "password_forgotten"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postPasswordForgottenKey",
        "parameters": [
          {
            "in": "query",
            "name": "pass",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pass2",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "resetPasswordForgotten"
          }
        },
        "tags": [
          "all",
          "password_forgotten"
        ]
      }
    },
    "/payments/assets/pay_button/{token}/button.png": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "token",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/payments/coupons/{name}": {
      "get": {
        "operationId": "getPaymentsCouponsName",
        "responses": {
          "200": {
            "description": "getCoupon"
          }
        },
        "tags": [
          "all",
          "payments"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "name",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/payments/providers": {
      "get": {
        "operationId": "getPaymentsProviders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Payment_Provider"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAvailablePaymentProviders"
          }
        },
        "tags": [
          "all",
          "payments"
        ]
      }
    },
    "/payments/tokens/stripe": {
      "get": {
        "operationId": "getPaymentsTokensStripe",
        "responses": {
          "200": {
            "description": "getStripeToken"
          }
        },
        "tags": [
          "all",
          "payments"
        ]
      }
    },
    "/payments/{bid}/end/stripe": {
      "parameters": [
        {
          "in": "path",
          "name": "bid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "description": "endPaymentWithStripe"
          }
        },
        "tags": [
          "all",
          "payments"
        ]
      }
    },
    "/products/addonproviders": {
      "get": {
        "operationId": "getProductsAddonProviders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Provider"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonProviders"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/addonproviders/{provider_id}": {
      "get": {
        "operationId": "getProductsAddonProvidersProviderId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                }
              }
            },
            "description": "getAddonProvider"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/products/addonproviders/{provider_id}/versions": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "provider_id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/products/countries": {
      "get": {
        "operationId": "getProductsCountries",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Country"
                }
              }
            },
            "description": "getCountries"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/countrycodes": {
      "get": {
        "operationId": "getProductsCountrycodes",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Country"
                }
              }
            },
            "description": "getCountryCodes"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/instances": {
      "get": {
        "operationId": "getProductsInstances",
        "parameters": [
          {
            "in": "query",
            "name": "for",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Instance"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAvailableInstances"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/instances/{type}-{version}": {
      "get": {
        "operationId": "getProductsInstancesTypeVersion",
        "parameters": [
          {
            "in": "query",
            "name": "for",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "app",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instance"
                }
              }
            },
            "description": "getAvailableInstance"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "type",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "version",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/products/mfa_kinds": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/packages": {
      "get": {
        "operationId": "getProductsPackages",
        "parameters": [
          {
            "in": "query",
            "name": "coupon",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "orgaId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "currency",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "getAvailablePackages"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/prices": {
      "get": {
        "operationId": "getProductsPrices",
        "responses": {
          "200": {
            "description": "getExchangeRates"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/products/zones": {
      "get": {
        "operationId": "getProductsZones",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Zone"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getZones"
          }
        },
        "tags": [
          "all",
          "products"
        ]
      }
    },
    "/self": {
      "delete": {
        "operationId": "deleteSelf",
        "responses": {
          "200": {
            "description": "deleteUser"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "get": {
        "description": "Get information about yourself",
        "operationId": "getSelf",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "getUser"
          }
        },
        "summary": "",
        "tags": [
          "all",
          "self"
        ]
      },
      "put": {
        "operationId": "putSelf",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeUser"
        },
        "responses": {
          "200": {
            "description": "editUser"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/addons": {
      "get": {
        "description": "Get all the addons",
        "operationId": "getSelfAddons",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Addon"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddons"
          }
        },
        "summary": "Addon",
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "post": {
        "operationId": "postSelfAddons",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "description": "provisionAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      }
    },
    "/self/addons/preorders": {
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      }
    },
    "/self/addons/{addonId}": {
      "delete": {
        "operationId": "deleteSelfAddonsAddonId",
        "responses": {
          "200": {
            "description": "deprovisionAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "get": {
        "description": "Get a specific addon",
        "operationId": "getSelfAddonsAddonId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Addon"
                }
              }
            },
            "description": "getAddon"
          }
        },
        "summary": "Specific addon",
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfAddonsAddonId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeAddon"
        },
        "responses": {
          "200": {
            "description": "Update addon informations"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      }
    },
    "/self/addons/{addonId}/applications": {
      "get": {
        "operationId": "getSelfAddonsAddonIdApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationsLinkedToAddon"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/addons/{addonId}/env": {
      "get": {
        "operationId": "getSelfAddonsAddonIdEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ListEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonEnv"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/addons/{addonId}/plan": {
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfAddonsAddonIdPlan",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabePlan"
        },
        "responses": {
          "200": {
            "description": "Update plan of an add-on."
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      }
    },
    "/self/addons/{addonId}/sso": {
      "get": {
        "operationId": "getSelfAddonsAddonIdSso",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sso"
                }
              }
            },
            "description": "getSSOData"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/addons/{addonId}/tags": {
      "get": {
        "operationId": "getSelfAddonsAddonIdTags",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonTags"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/addons/{addonId}/tags/{tag}": {
      "delete": {
        "operationId": "deleteSelfAddonsAddonIdTagsTag",
        "responses": {
          "200": {
            "description": "deleteAddonTag"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "tag",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfAddonsAddonIdTagsTag",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addAddonTag"
          }
        },
        "tags": [
          "all",
          "addons",
          "self"
        ]
      }
    },
    "/self/applications": {
      "get": {
        "operationId": "getSelfApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplications"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "post": {
        "description": "Creates an application. If you want to create a Github app, you need to replace the oauthApp field with what you will find here: https://github.com/CleverCloud/doc.clever-cloud.com/issues/179",
        "operationId": "postSelfApplications",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeApplication"
        },
        "responses": {
          "200": {
            "description": "addApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppId",
        "responses": {
          "200": {
            "description": "deleteApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfApplicationsAppId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "description": "getApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeApplication"
        },
        "responses": {
          "200": {
            "description": "editApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/addons": {
      "get": {
        "operationId": "getSelfApplicationsAppIdAddons",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Addon"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getAddonsLinkedToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postSelfApplicationsAppIdAddons",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "linkAddonToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/addons/env": {
      "get": {
        "operationId": "getSelfApplicationsAppIdAddonsEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Env"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getEnvOfAddonsLinkedToApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/addons/{addonId}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdAddonsAddonId",
        "responses": {
          "200": {
            "description": "unlinkAddonFromApplication"
          }
        },
        "tags": [
          "all",
          "addons",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/branch": {
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/branches": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/buildflavor": {
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/dependencies": {
      "get": {
        "operationId": "getSelfApplicationsAppIdDependencies",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDependencies"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/dependencies/env": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/LinkedAppEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Get env variables defined by application dependencies"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/dependencies/{dependencyId}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdDependenciesDependencyId",
        "responses": {
          "200": {
            "description": "deleteApplicationDependency"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "dependencyId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "getSelfApplicationsAppIdDependenciesDependencyId",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeApplication"
        },
        "responses": {
          "200": {
            "description": "addApplicationDependency"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/dependents": {
      "get": {
        "operationId": "getSelfApplicationsAppIdDependents",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDependents"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/deployments": {
      "get": {
        "operationId": "getSelfApplicationsAppIdDeployments",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "action",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Deployment"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationDeployments"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/deployments/{deploymentId}": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "deploymentId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/deployments/{deploymentId}/instances": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdDeploymentsDeploymentIdInstances",
        "responses": {
          "200": {
            "description": "cancelDeploy"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "deploymentId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/env": {
      "get": {
        "operationId": "getSelfApplicationsAppIdEnv",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ListEnv"
                  },
                  "type": "array"
                }
              }
            },
            "description": "editApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppIdEnv",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeEnv"
        },
        "responses": {
          "200": {
            "description": "editApplicationEnvironment"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/env/{envName}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdEnvEnvName",
        "responses": {
          "200": {
            "description": "removeApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "envName",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppIdEnvEnvName",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeEnv"
        },
        "responses": {
          "200": {
            "description": "editApplicationEnv"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/exposed_env": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/instances": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdInstances",
        "responses": {
          "200": {
            "description": "undeployApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfApplicationsAppIdInstances",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Instance"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationInstances"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postSelfApplicationsAppIdInstances",
        "parameters": [
          {
            "in": "query",
            "name": "commit",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "redeployApplication"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/instances/{instanceId}": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "instanceId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/tags": {
      "get": {
        "operationId": "getSelfApplicationsAppIdTags",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplicationTags"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/tags/{tag}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdTagsTag",
        "responses": {
          "200": {
            "description": "deleteApplicationTag"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "tag",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppIdTagsTag",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addApplicationTag"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/vhosts": {
      "get": {
        "operationId": "getSelfApplicationsAppIdVhosts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Vhost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getVhosts"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/applications/{appId}/vhosts/favourite": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdVhostsFavourite",
        "responses": {
          "200": {
            "description": "unmarkFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfApplicationsAppIdVhostsFavourite",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vhost"
                }
              }
            },
            "description": "getFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppIdVhostsFavourite",
        "requestBody": {
          "$ref": "#/components/requestBodies/Vhost"
        },
        "responses": {
          "200": {
            "description": "markFavouriteVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/applications/{appId}/vhosts/{domain}": {
      "delete": {
        "operationId": "deleteSelfApplicationsAppIdVhostsDomain",
        "responses": {
          "200": {
            "description": "removeVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "appId",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "domain",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfApplicationsAppIdVhostsDomain",
        "requestBody": {
          "$ref": "#/components/requestBodies/Vhost"
        },
        "responses": {
          "200": {
            "description": "addVhost"
          }
        },
        "tags": [
          "all",
          "applications",
          "self"
        ]
      }
    },
    "/self/avatar": {
      "put": {
        "operationId": "putSelfAvatar",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Avatar"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "setUserAvatar\nsetUserAvatarFromSource"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/change_password": {
      "put": {
        "operationId": "putSelfChangePassword",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Change_Password"
                }
              }
            },
            "description": "changeUserPassword"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/cli_tokens": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "cli_token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/confirmation_email": {
      "get": {
        "operationId": "getSelfConfirmationEmail",
        "responses": {
          "200": {
            "description": "getConfirmationEmail"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/consumers": {
      "get": {
        "operationId": "getSelfConsumers",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Consumer"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getConsumers"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "post": {
        "operationId": "postSelfConsumers",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeConsumer"
        },
        "responses": {
          "200": {
            "description": "createConsumer"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/consumers/{key}": {
      "delete": {
        "operationId": "deleteSelfConsumersKey",
        "responses": {
          "200": {
            "description": "deleteConsumer"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfConsumersKey",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Consumer"
                }
              }
            },
            "description": "getConsumer"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfConsumersKey",
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeConsumer"
        },
        "responses": {
          "200": {
            "description": "PUT same consumer data as in POST."
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/consumers/{key}/secret": {
      "get": {
        "operationId": "getSelfConsumersKeySecret",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "getConsumerSecret"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/consumptions": {
      "get": {
        "operationId": "getSelfConsumptions",
        "parameters": [
          {
            "in": "query",
            "name": "appId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Conso"
                }
              }
            },
            "description": "getConsumptions"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/credits": {
      "get": {
        "operationId": "getSelfCredits",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Credits"
                }
              }
            },
            "description": "getAmount"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/emails": {
      "get": {
        "operationId": "getSelfEmails",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getEmailAddresses"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/emails/{email}": {
      "delete": {
        "operationId": "deleteSelfEmailsEmail",
        "responses": {
          "200": {
            "description": "removeEmailAddress"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "email",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfEmailsEmail",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addEmailAddress"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/id": {
      "get": {
        "operationId": "getSelfId",
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "getId"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/instances": {
      "get": {
        "operationId": "getSelfInstances",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Instance"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getInstancesForAllApps"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/keys": {
      "get": {
        "operationId": "getSelfKeys",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Key"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getSshKeys"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/keys/{key}": {
      "delete": {
        "operationId": "deleteSelfKeysKey",
        "responses": {
          "200": {
            "description": "removeSshKey"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "key",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfKeysKey",
        "requestBody": {
          "$ref": "#/components/requestBodies/Body"
        },
        "responses": {
          "200": {
            "description": "addSshKey"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/mfa/{kind}": {
      "delete": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "kind",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/mfa/{kind}/backupcodes": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "kind",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/mfa/{kind}/confirmation": {
      "parameters": [
        {
          "in": "path",
          "name": "kind",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/payment-info": {
      "get": {
        "operationId": "getSelfPaymentInfo",
        "responses": {
          "200": {
            "description": "getPaymentInfo"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/payments/billings": {
      "get": {
        "operationId": "getSelfPaymentsBillings",
        "responses": {
          "200": {
            "description": "getInvoices"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "post": {
        "operationId": "postSelfPaymentsBillings",
        "responses": {
          "200": {
            "description": "buyDrops"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/billings/{bid}": {
      "delete": {
        "operationId": "deleteSelfPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "deletePurchaseOrder"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "getInvoice"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "bid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putSelfPaymentsBillingsBid",
        "responses": {
          "200": {
            "description": "choosePaymentProvider"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/billings/{bid}.pdf": {
      "get": {
        "operationId": "getSelfPaymentsBillingsBidPdf",
        "parameters": [
          {
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "getPdfInvoice"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "bid",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/payments/fullprice/{price}": {
      "get": {
        "operationId": "getSelfPaymentsFullpricePrice",
        "responses": {
          "200": {
            "description": "priceWithTax"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "price",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/payments/methods": {
      "get": {
        "operationId": "getSelfPaymentsMethods",
        "responses": {
          "200": {
            "description": "getUserPaymentMethods"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "post": {
        "operationId": "postSelfPaymentsMethods",
        "responses": {
          "200": {
            "description": "addUserMethod"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/methods/default": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/methods/{mId}": {
      "delete": {
        "operationId": "deleteSelfPaymentsMethodsMId",
        "responses": {
          "200": {
            "description": "deleteUserCard"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "mId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/payments/monthlyinvoice": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/monthlyinvoice/maxcredit": {
      "put": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/recurring": {
      "delete": {
        "operationId": "deleteSelfPaymentsRecurring",
        "responses": {
          "200": {
            "description": "deleteRecurrentPayment"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/payments/tokens/stripe": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "payments",
          "self"
        ]
      }
    },
    "/self/tokens": {
      "delete": {
        "operationId": "deleteSelfTokens",
        "responses": {
          "200": {
            "description": "revokeAllTokens"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "get": {
        "operationId": "getSelfTokens",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Token"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getSelfTokens"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/self/tokens/{token}": {
      "delete": {
        "operationId": "deleteSelfTokensToken",
        "responses": {
          "200": {
            "description": "revokeToken"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "token",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/self/validate_email": {
      "get": {
        "operationId": "getSelfValidateEmail",
        "parameters": [
          {
            "in": "query",
            "name": "validationKey",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "validateEmail"
          }
        },
        "tags": [
          "all",
          "self"
        ]
      }
    },
    "/summary": {
      "get": {
        "operationId": "getSummary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Summary"
                }
              }
            },
            "description": "getSummary"
          }
        },
        "tags": [
          "all"
        ]
      }
    },
    "/users": {
      "post": {
        "operationId": "postUsers",
        "parameters": [
          {
            "in": "query",
            "name": "invitationKey",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "addonBetaInvitationKey",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "pass",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "url_next",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "terms",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/WannabeUser"
        },
        "responses": {
          "200": {
            "description": "createUser\ncreateUserFromForm"
          }
        },
        "tags": [
          "all",
          "users"
        ]
      }
    },
    "/users/{id}": {
      "get": {
        "operationId": "getUsersId",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "getUser"
          }
        },
        "tags": [
          "all",
          "users"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/users/{id}/applications": {
      "get": {
        "operationId": "getUsersIdApplications",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "getApplications"
          }
        },
        "tags": [
          "all",
          "applications",
          "users"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/users/{userId}/git-info": {
      "get": {
        "operationId": "getUsersUserIdGitInfo",
        "responses": {
          "200": {
            "description": "getGitInfo"
          }
        },
        "tags": [
          "all",
          "users"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "userId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/v2/providers/addon-matomo/resources": {
      "post": {
        "operationId": "createMatomo",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ProvisionRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Function1RequestContextFutureRouteResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "summary": "Create Matomo addon",
        "tags": [
          "all"
        ],
        "x-function": "createMatomo",
        "x-service": "addon"
      }
    },
    "/v2/providers/addon-matomo/resources/{matomoId}": {
      "delete": {
        "operationId": "deleteMatomo",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "matomoId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/deleteMatomo"
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Function1RequestContextFutureRouteResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "summary": "Delete Matomo addon",
        "tags": [
          "all"
        ],
        "x-function": "deleteMatomo",
        "x-service": "addon"
      }
    },
    "/v3/logs/{appId}": {
      "get": {
        "description": "Fetch the logs for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/v3/logs/{appId}/drains": {
      "get": {
        "description": "Fetch the logs drains for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      },
      "post": {
        "description": "Add a log drain for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/v3/logs/{appId}/drains/:idOrUrl": {
      "delete": {
        "description": "Delete the logs drain by id or url for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      },
      "get": {
        "description": "Fetch the logs drain by id or url for a given application",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/v3/logs/{appId}/logs-chunked": {
      "get": {
        "description": "Retrieve logs as they come through a chunked, never-ending response",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/v3/logs/{appId}/logs-socket": {
      "get": {
        "description": "Retrieve logs as they come through a websocket connection. To have authorization, you have to send a `{ \"message_type\": \"oauth\", \"authorization\": \"oauth authorization string\" }` message",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "appId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "<No description>"
          }
        },
        "tags": [
          "all",
          "logs"
        ]
      }
    },
    "/v4/addon-providers/addon-matomo/addons/{matomoId}": {
      "get": {
        "operationId": "getMatomo",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "matomoId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/deleteMatomo"
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Function1RequestContextFutureRouteResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "summary": "Get Matomo addon",
        "tags": [
          "all",
          "addons"
        ],
        "x-function": "getMatomo",
        "x-service": "addon"
      }
    },
    "/v4/addon-providers/addon-matomo/token/validate": {
      "get": {
        "operationId": "getMatomoKTokenValidation",
        "parameters": [
          {
            "description": "Environment variable injected on the app with 'KEYCLOAK_TOKEN' name",
            "in": "query",
            "name": "keycloakToken",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/deleteMatomo"
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Function1RequestContextFutureRouteResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "summary": "Validate a keycloak token",
        "tags": [
          "all"
        ],
        "x-function": "getMatomoVHosts",
        "x-service": "addon"
      }
    },
    "/v4/addon-providers/config-provider/addons/{configurationProviderId}": {
      "get": {
        "operationId": "getConfigProvider",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "configurationProviderId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/deleteMatomo"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddonConfigProviderView"
                }
              }
            },
            "description": "requested config provider object"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get Addon provider configuration",
        "tags": [
          "all",
          "addons"
        ],
        "x-function": "getConfigProvider",
        "x-service": "addon"
      }
    },
    "/v4/addon-providers/config-provider/addons/{configurationProviderId}/env": {
      "get": {
        "operationId": "getConfigProviderEnv",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "configurationProviderId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/deleteMatomo"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/EnvVar"
                  },
                  "type": "array"
                }
              }
            },
            "description": "config provider environment variables"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get provider's addon environment",
        "tags": [
          "all",
          "addons"
        ],
        "x-function": "getConfigProviderEnv",
        "x-service": "addon"
      },
      "put": {
        "operationId": "updateConfigProviderEnv",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "configurationProviderId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "items": {
                  "$ref": "#/components/schemas/WannabeEnvVar"
                },
                "type": "array"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/EnvVar"
                  },
                  "type": "array"
                }
              }
            },
            "description": "updated config providers environment variables"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Update provider's addon environment",
        "tags": [
          "all",
          "addons"
        ],
        "x-function": "updateConfigProviderEnv",
        "x-service": "addon"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups": {
      "get": {
        "description": "Lists Network Groups from an owner.",
        "operationId": "listNetworkGroups",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/NetworkGroup"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "List Network Groups",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "listNetworkGroups",
        "x-service": "networkGroup"
      },
      "post": {
        "description": "Creates a Network Group.",
        "operationId": "createNetworkGroup",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WannabeNetworkGroup"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkGroup"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "content": {
              "text/plain; charset=UTF-8": {
                "examples": {
                  "NetworkGroupLabelAlreadyTaken": {
                    "$ref": "#/components/examples/NetworkGroupLabelAlreadyTaken"
                  }
                },
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "security": [
          {}
        ],
        "summary": "Create Network Group",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "createNetworkGroup",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}": {
      "delete": {
        "description": "Deletes a Network Group.",
        "operationId": "deleteNetworkGroup",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Delete Network Group",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "deleteNetworkGroup",
        "x-service": "networkGroup"
      },
      "get": {
        "description": "Gets details of a Network Group.",
        "operationId": "getNetworkGroup",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkGroup"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get Network Group",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroup",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/external-peers": {
      "post": {
        "description": "Adds an external peer to a Network Group.",
        "operationId": "createNetworkGroupExternalPeer",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WannabeExternalPeer"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Peer"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "text/plain; charset=UTF-8": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Add external peer",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "createNetworkGroupExternalPeer",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/external-peers/{peerId}": {
      "delete": {
        "description": "Removes an external peer from a Network Group.",
        "operationId": "deleteNetworkGroupExternalPeer",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "peerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Remove external peer",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "deleteNetworkGroupExternalPeer",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/members": {
      "get": {
        "description": "Lists members in a Network Group.",
        "operationId": "listNetworkGroupMembers",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/schema1"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "List members",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "listNetworkGroupMembers",
        "x-service": "networkGroup"
      },
      "post": {
        "description": "Adds a member to a Network Group.",
        "operationId": "createNetworkGroupMember",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/schema2"
              }
            }
          }
        },
        "responses": {
          "202": {
            "$ref": "#/components/responses/Accepted"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Add member",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "createNetworkGroupMember",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/members/{memberId}": {
      "delete": {
        "description": "Removes a member from a Network Group.",
        "operationId": "deleteNetworkGroupMember",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "memberId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Remove member",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "deleteNetworkGroupMember",
        "x-service": "networkGroup"
      },
      "get": {
        "description": "Gets details of a Network Group member.",
        "operationId": "getNetworkGroupMember",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "memberId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/schema1"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/MemberNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get member",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroupMember",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/peers": {
      "get": {
        "description": "Lists peers in a Network Group.",
        "operationId": "listNetworkGroupPeers",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Peer"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "List peers",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "listNetworkGroupPeers",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/peers/{peerId}": {
      "delete": {
        "description": "Removes a peer from a Network Group.",
        "operationId": "deleteNetworkGroupPeer",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "peerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {}
        ],
        "summary": "Remove peer",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "deleteNetworkGroupPeer",
        "x-service": "networkGroup"
      },
      "get": {
        "description": "Gets details of a Network Group peer.",
        "operationId": "getNetworkGroupPeer",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "peerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Peer"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/PeerNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get peer",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroupPeer",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/peers/{peerId}/wireguard/configuration": {
      "get": {
        "description": "Gets the current WireGuard® tunnel configuration file for a Network Group peer.",
        "operationId": "getNetworkGroupWireGuardConfiguration",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "peerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WireGuardConfiguration"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/PeerNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get WireGuard® configuration",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroupWireGuardConfiguration",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/peers/{peerId}/wireguard/configuration/stream": {
      "get": {
        "description": "Gets the current WireGuard® tunnel configuration file for a Network Group peer as a Server Sent Event.",
        "operationId": "getNetworkGroupWireGuardConfigurationStream",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "peerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/WireGuardConfiguration"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/PeerNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Get WireGuard® configuration",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroupWireGuardConfigurationStream",
        "x-service": "networkGroup"
      }
    },
    "/v4/networkgroups/organisations/{ownerId}/networkgroups/{networkGroupId}/stream": {
      "get": {
        "description": "Retrieves the current Network Group details as a Server Sent Event.",
        "operationId": "getNetworkGroupStream",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "ownerId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "networkGroupId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/listNetworkGroups"
        },
        "responses": {
          "200": {
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkGroup"
                }
              }
            },
            "description": "Success"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NetworkGroupNotFound"
          }
        },
        "security": [
          {}
        ],
        "summary": "Network Group SSE",
        "tags": [
          "all",
          "organisations",
          "networkgroups"
        ],
        "x-function": "getNetworkGroupStream",
        "x-service": "networkGroup"
      }
    },
    "/vendor//addons": {
      "post": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "addons",
          "vendor"
        ]
      }
    },
    "/vendor//apps/{addonId}/logscollector": {
      "get": {
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/vendor/apps": {
      "get": {
        "operationId": "getVendorApps",
        "parameters": [
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  },
                  "type": "array"
                }
              }
            },
            "description": "listApps"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      }
    },
    "/vendor/apps/{addonId}": {
      "get": {
        "operationId": "getVendorAppsAddonId",
        "responses": {
          "200": {
            "description": "getApplicationInfo"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "operationId": "putVendorAppsAddonId",
        "responses": {
          "200": {
            "description": "editApplicationConfiguration"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      }
    },
    "/vendor/apps/{addonId}/consumptions": {
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "postVendorBillingOwnerId",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WannabeAddonBilling"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      }
    },
    "/vendor/apps/{addonId}/migration_callback": {
      "parameters": [
        {
          "in": "path",
          "name": "addonId",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "parameters": [
          {
            "in": "query",
            "name": "plan_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "region",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status 200"
          }
        },
        "tags": [
          "all",
          "vendor"
        ]
      }
    }
  },
  "components": {
    "examples": {
      "NetworkGroupLabelAlreadyTaken": {}
    },
    "requestBodies": {
      "Body": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Body"
            }
          }
        },
        "required": true
      },
      "Vhost": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Vhost"
            }
          }
        },
        "required": true
      },
      "WannabeAddon": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeAddon"
            }
          }
        },
        "required": true
      },
      "WannabeAddonProvider": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeAddonProvider"
            }
          }
        },
        "required": true
      },
      "WannabeApplication": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeApplication"
            }
          }
        },
        "required": true
      },
      "WannabeConsumer": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeConsumer"
            }
          }
        },
        "required": true
      },
      "WannabeEnv": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeEnv"
            }
          }
        },
        "required": true
      },
      "WannabeMember": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeMember"
            }
          }
        },
        "required": true
      },
      "WannabeOrganisation": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeOrganisation"
            }
          }
        },
        "required": true
      },
      "WannabePlan": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabePlan"
            }
          }
        },
        "required": true
      },
      "WannabeUser": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WannabeUser"
            }
          }
        },
        "required": true
      },
      "deleteMatomo": {
        "content": {
          "*/*": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "listNetworkGroups": {
        "content": {
          "*/*": {
            "schema": {
              "$ref": "#/components/schemas/OVDHttpRequestContext"
            }
          }
        }
      }
    },
    "responses": {
      "Accepted": {
        "description": ""
      },
      "BadRequest": {
        "description": ""
      },
      "MemberNotFound": {
        "description": ""
      },
      "NetworkGroupNotFound": {
        "description": ""
      },
      "PeerNotFound": {
        "description": ""
      },
      "Unauthorized": {
        "description": ""
      }
    },
    "schemas": {
      "Addon": {
        "description": "An addon",
        "properties": {
          "configKeys": {
            "description": "Environments variables link to the addon.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "creationDate": {
            "description": "The creation timestamp of the addon",
            "format": "date",
            "type": "string"
          },
          "id": {
            "description": "`addon_${uuid}`",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "plan": {
            "$ref": "#/components/schemas/Plan"
          },
          "provider": {
            "$ref": "#/components/schemas/Provider"
          },
          "realId": {
            "description": "`${provider}_${uuid2}`",
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "configKeys",
          "creationDate",
          "id",
          "name",
          "plan",
          "provider",
          "realId",
          "region"
        ],
        "type": "object"
      },
      "AddonConfigProviderView": {},
      "AddonMigration": {
        "example": "{\n   \"id\": \"<UUID>\",\n   \"addon_id\": \"addon_<uuid>\",\n   \"kind\": \"SHARED_TO_SHARED|SHARED_TO_DEDICATED|DEDICATED_TO_DEDICATED|DEDICATED_TO_SHARED\",\n   \"state\": \"RUNNING|FAILED|RECOVERING|RECOVERED|OK\",\n   \"hostname\": \"db.hostname\",\n   \"database\": \"dbname\",\n   \"port\": 5432,\n   \"database_user\": \"username\",\n   \"callback_url\": \"https://api.clever-cloud.com/v2/…\",\n   \"old_cluster_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"old_cluster_label\": \"par2-01\",\n   \"old_instance_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"old_plan\": \"s\",\n   \"old_zone\": \"par2\",\n   \"old_recipient_hostname\": \"postgresql-sdc-par2-clevercloud.services.clever-cloud.com\", \n   \"new_cluster_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"new_cluster_label\": \"par2-02\",\n   \"new_instance_id\": \"acddc485-79c2-4c6b-a617-c92a06c0cb0b\",\n   \"new_plan\": \"m\",\n   \"new_zone\": \"par3\",\n   \"new_recipient_hostname\": \"postgresql-sdc-par3-clevercloud.services.clever-cloud.com\", \n   \"request_date\": \"2018-10-31T10:00:23Z\",\n   \"last_state_update_date\":  \"2018-10-31T10:00:23Z\",\n   \"dump_restore_start_date\":  \"2018-10-31T10:00:23Z\",\n   \"dump_restore_finished_date\":  \"2018-10-31T10:00:23Z\",\n   \"end_date\":  \"2018-10-31T10:00:23Z\",\n   \"exit_message\": \"Success\" \n}",
        "properties": {
          "addon_id": {
            "type": "string"
          },
          "callback_url": {
            "type": "string"
          },
          "database": {
            "type": "string"
          },
          "database_user": {
            "type": "string"
          },
          "dump_restore_finished_date": {
            "type": "string"
          },
          "dump_restore_start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          },
          "exit_message": {
            "type": "string"
          },
          "hostname": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "last_state_update_date": {
            "type": "string"
          },
          "new_cluster_id": {
            "type": "string"
          },
          "new_cluster_label": {
            "type": "string"
          },
          "new_instance_id": {
            "type": "string"
          },
          "new_plan": {
            "type": "string"
          },
          "new_recipient_hostname": {
            "type": "string"
          },
          "new_zone": {
            "type": "string"
          },
          "old_cluster_id": {
            "type": "string"
          },
          "old_cluster_label": {
            "type": "string"
          },
          "old_instance_id": {
            "type": "string"
          },
          "old_plan": {
            "type": "string"
          },
          "old_recipient_hostname": {
            "type": "string"
          },
          "old_zone": {
            "type": "string"
          },
          "port": {
            "type": "number"
          },
          "request_date": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "AddonProviderSso": {
        "properties": {
          "macaroon": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "macaroon",
          "url"
        ],
        "type": "object"
      },
      "AppInstance": {
        "properties": {
          "appId": {
            "type": "string"
          },
          "appPort": {
            "format": "int32",
            "type": "integer"
          },
          "commit": {
            "type": "string"
          },
          "deployNumber": {
            "format": "int32",
            "type": "integer"
          },
          "flavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "id": {
            "type": "string"
          },
          "ip": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "Application": {
        "properties": {
          "archived": {
            "default": false,
            "type": "boolean"
          },
          "branch": {
            "type": "string"
          },
          "buildFlavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "cancelOnPush": {
            "default": false,
            "type": "boolean"
          },
          "commitId": {
            "type": "string"
          },
          "creationDate": {
            "format": "date",
            "type": "string"
          },
          "deployUrl": {
            "type": "string"
          },
          "deployment": {
            "$ref": "#/components/schemas/Deployment"
          },
          "description": {
            "type": "string"
          },
          "favourite": {
            "default": false,
            "type": "boolean"
          },
          "homogeneous": {
            "default": false,
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "instance": {
            "$ref": "#/components/schemas/Instance"
          },
          "last_deploy": {
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "ownerId": {
            "type": "string"
          },
          "separateBuild": {
            "default": false,
            "type": "boolean"
          },
          "state": {
            "type": "string"
          },
          "stickySessions": {
            "default": false,
            "type": "boolean"
          },
          "vhosts": {
            "items": {
              "$ref": "#/components/schemas/Vhost"
            },
            "type": "array"
          },
          "webhookSecret": {
            "type": "string"
          },
          "webhookUrl": {
            "type": "string"
          },
          "zone": {
            "description": "`par` ou `mtl`",
            "type": "string"
          }
        },
        "required": [
          "archived",
          "branch",
          "buildFlavor",
          "cancelOnPush",
          "commitId",
          "creationDate",
          "deployUrl",
          "deployment",
          "description",
          "favourite",
          "homogeneous",
          "id",
          "instance",
          "last_deploy",
          "name",
          "ownerId",
          "separateBuild",
          "state",
          "stickySessions",
          "vhosts",
          "webhookSecret",
          "webhookUrl",
          "zone"
        ],
        "type": "object"
      },
      "Avatar": {
        "description": "If you want to upload an image from your computer, send the image in the body of the request without anything else.",
        "properties": {
          "source": {
            "description": "",
            "properties": {
              "source": {
                "description": "github or gravatar",
                "type": "string"
              },
              "value": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "source",
              "value"
            ],
            "type": "object"
          }
        },
        "required": [
          "source"
        ],
        "type": "object"
      },
      "Body": {
        "properties": {
          "body": {
            "type": "string"
          }
        },
        "required": [
          "body"
        ],
        "type": "object"
      },
      "Change_Password": {
        "properties": {
          "newPassword": {
            "type": "string"
          },
          "oldPassword": {
            "type": "string"
          }
        },
        "required": [
          "newPassword",
          "oldPassword"
        ],
        "type": "object"
      },
      "Conso": {
        "properties": {
          "appId": {
            "type": "string"
          },
          "conso": {
            "properties": {
              "conso": {
                "description": "One day consumption",
                "type": "string"
              },
              "date": {
                "type": "string"
              }
            },
            "required": [
              "conso",
              "date"
            ],
            "type": "object"
          }
        },
        "required": [
          "appId",
          "conso"
        ],
        "type": "object"
      },
      "Consumer": {
        "properties": {
          "baseUrl": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "rights": {
            "$ref": "#/components/schemas/ConsumerRights"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "baseUrl",
          "description",
          "name",
          "rights",
          "url"
        ],
        "type": "object"
      },
      "ConsumerRights": {
        "properties": {
          "access_bills": {
            "default": false,
            "type": "boolean"
          },
          "access_consumption_statistics": {
            "default": false,
            "type": "boolean"
          },
          "access_credit_count": {
            "default": false,
            "type": "boolean"
          },
          "access_organisations": {
            "default": false,
            "type": "boolean"
          },
          "access_organisations_bills": {
            "default": false,
            "type": "boolean"
          },
          "access_organisations_consumption_statistics": {
            "default": false,
            "type": "boolean"
          },
          "access_organisations_credit_count": {
            "default": false,
            "type": "boolean"
          },
          "access_personal_information": {
            "default": false,
            "type": "boolean"
          },
          "almighty": {
            "default": false,
            "type": "boolean"
          },
          "manage_applications": {
            "default": false,
            "type": "boolean"
          },
          "manage_organisations": {
            "default": false,
            "type": "boolean"
          },
          "manage_organisations_applications": {
            "default": false,
            "type": "boolean"
          },
          "manage_organisations_members": {
            "default": false,
            "type": "boolean"
          },
          "manage_organisations_services": {
            "default": false,
            "type": "boolean"
          },
          "manage_personal_information": {
            "default": false,
            "type": "boolean"
          },
          "manage_services": {
            "default": false,
            "type": "boolean"
          },
          "manage_ssh_keys": {
            "default": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Country": {
        "properties": {
          "code": {
            "description": "Code ISO 3166",
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name"
        ],
        "type": "object"
      },
      "Credits": {
        "properties": {
          "count": {
            "format": "float",
            "type": "number"
          },
          "dropPrice": {
            "properties": {
              "currency": {
                "type": "string"
              },
              "value": {
                "format": "float",
                "type": "number"
              }
            },
            "required": [
              "currency",
              "value"
            ],
            "type": "object"
          },
          "ownerId": {
            "type": "string"
          }
        },
        "required": [
          "count",
          "dropPrice",
          "ownerId"
        ],
        "type": "object"
      },
      "Deployment": {
        "properties": {
          "httpUrl": {
            "type": "string"
          },
          "repoState": {
            "type": "string"
          },
          "shutdownable": {
            "default": false,
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "repoState",
          "shutdownable",
          "type",
          "url"
        ],
        "type": "object"
      },
      "DeploymentSummary": {
        "properties": {
          "{app_id}": {
            "items": {
              "$ref": "#/components/schemas/DeploymentView"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "DeploymentView": {
        "properties": {
          "action": {
            "type": "string"
          },
          "author": {
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          },
          "cause": {
            "type": "string"
          },
          "commit": {
            "type": "string"
          },
          "date": {
            "format": "date",
            "type": "string"
          },
          "id": {
            "format": "int64",
            "type": "integer"
          },
          "instances": {
            "format": "int64",
            "type": "integer"
          },
          "state": {
            "type": "string"
          },
          "uuid": {
            "type": "string"
          }
        },
        "required": [
          "action",
          "cause",
          "commit",
          "date",
          "id",
          "instances",
          "state",
          "uuid"
        ],
        "type": "object"
      },
      "Env": {
        "properties": {
          "addon_id": {
            "type": "string"
          },
          "addon_name": {
            "type": "string"
          },
          "env": {
            "items": {
              "$ref": "#/components/schemas/WannabeEnv"
            },
            "type": "array"
          },
          "provider_id": {
            "type": "string"
          }
        },
        "required": [
          "addon_id",
          "addon_name",
          "env",
          "provider_id"
        ],
        "type": "object"
      },
      "EnvVar": {},
      "Error": {
        "example": "{\"id\":6200,\"type\":\"error\",\"message\":\"You do not belong to this organisation so you cannot access it\"}",
        "properties": {
          "id": {
            "description": "Unique numeric id of this error type. Eg. id = 10 is \"Serialization failed\".",
            "type": "number"
          },
          "message": {
            "description": "Description of the error.",
            "type": "string"
          },
          "type": {
            "description": "Value should be \"error\"",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Feature": {
        "properties": {
          "name": {
            "description": "The name of the properties",
            "type": "string"
          },
          "type": {
            "description": "The type of the feature",
            "type": "string"
          },
          "value": {
            "description": "The value of the feature",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "type": "object"
      },
      "Flavor": {
        "properties": {
          "available": {
            "default": false,
            "type": "boolean"
          },
          "cpus": {
            "format": "int32",
            "type": "integer"
          },
          "disk": {
            "format": "int32",
            "type": "integer"
          },
          "mem": {
            "format": "int32",
            "type": "integer"
          },
          "microservice": {
            "default": false,
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "nice": {
            "format": "double",
            "type": "number"
          },
          "price": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "cpus",
          "mem",
          "name",
          "price"
        ],
        "type": "object"
      },
      "Function1RequestContextFutureRouteResult": {},
      "Instance": {
        "properties": {
          "buildFlavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "comingSoon": {
            "default": false,
            "type": "boolean"
          },
          "defaultEnv": {
            "$ref": "#/components/schemas/Map"
          },
          "defaultFlavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "deployments": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "type": "string"
          },
          "enabled": {
            "default": false,
            "type": "boolean"
          },
          "flavors": {
            "items": {
              "$ref": "#/components/schemas/Flavor"
            },
            "type": "array"
          },
          "instanceAndVersion": {
            "type": "string"
          },
          "maxAllowedInstances": {
            "format": "int32",
            "type": "integer"
          },
          "maxFlavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "maxInstances": {
            "format": "int32",
            "type": "integer"
          },
          "minFlavor": {
            "$ref": "#/components/schemas/Flavor"
          },
          "minInstances": {
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "type": "string"
          },
          "variant": {
            "$ref": "#/components/schemas/Variant"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "defaultEnv",
          "flavors",
          "instanceAndVersion",
          "maxAllowedInstances",
          "maxFlavor",
          "maxInstances",
          "minFlavor",
          "minInstances",
          "type",
          "variant",
          "version"
        ],
        "type": "object"
      },
      "Key": {
        "properties": {
          "fingerprint": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "description": "",
            "type": "string"
          }
        },
        "required": [
          "fingerprint",
          "key",
          "name"
        ],
        "type": "object"
      },
      "LinkedAppEnv": {
        "properties": {
          "app_id": {
            "type": "string"
          },
          "app_name": {
            "type": "string"
          },
          "env": {
            "items": {
              "$ref": "#/components/schemas/WannabeEnv"
            },
            "type": "array"
          }
        },
        "required": [
          "app_id",
          "app_name",
          "env"
        ],
        "type": "object"
      },
      "ListEnv": {
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "Map": {
        "type": "object"
      },
      "Member": {
        "$ref": "#/components/schemas/schema1"
      },
      "NetworkGroup": {},
      "OVDHttpRequestContext": {},
      "Organisation": {
        "properties": {
          "VAT": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "avatar": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "vatState": {
            "type": "string"
          },
          "zipcode": {
            "type": "string"
          }
        },
        "required": [
          "VAT",
          "address",
          "avatar",
          "city",
          "company",
          "country",
          "description",
          "id",
          "name",
          "vatState",
          "zipcode"
        ],
        "type": "object"
      },
      "PaymentData": {
        "properties": {
          "deviceData": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "type": {
            "enum": [
              "NEW_CARD",
              "EXISTING_CARD"
            ],
            "type": "string"
          }
        },
        "required": [
          "token",
          "type"
        ],
        "type": "object"
      },
      "Payment_Provider": {
        "properties": {
          "comingSoon": {
            "default": false,
            "type": "boolean"
          },
          "imgUrl": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "comingSoon",
          "imgUrl",
          "name",
          "title"
        ],
        "type": "object"
      },
      "Peer": {},
      "Plan": {
        "properties": {
          "features": {
            "description": "The list of the feature in the addon",
            "items": {
              "$ref": "#/components/schemas/Feature"
            },
            "type": "array"
          },
          "id": {
            "description": "`plan_${uuid}`",
            "type": "string"
          },
          "name": {
            "description": "Name of the pan",
            "type": "string"
          },
          "price": {
            "format": "int32",
            "type": "integer"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "features",
          "id",
          "name",
          "price",
          "slug"
        ],
        "type": "object"
      },
      "Provider": {
        "description": "A provider",
        "properties": {
          "analyticsId": {
            "description": "The id of the analytics page link to this addon",
            "type": "string"
          },
          "canUpgrade": {
            "default": false,
            "description": "Can the addon be upgraded",
            "type": "boolean"
          },
          "features": {
            "items": {
              "$ref": "#/components/schemas/Feature"
            },
            "type": "array"
          },
          "googlePlusName": {
            "description": "The name of the google + page link to this addon (could be empty)",
            "type": "string"
          },
          "id": {
            "description": "The id of the provider",
            "type": "string"
          },
          "logoUrl": {
            "description": "The url of the addon's logo",
            "type": "string"
          },
          "longDesc": {
            "description": "A less concise description of the addon",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "openInNewTab": {
            "default": false,
            "description": "Does the addon panel need to be open in a new tab",
            "type": "boolean"
          },
          "plans": {
            "items": {
              "$ref": "#/components/schemas/Plan"
            },
            "type": "array"
          },
          "regions": {
            "description": "The differents regions where the addon is available",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "shortDesc": {
            "description": "A short description of the addon",
            "type": "string"
          },
          "status": {
            "description": "The status of this addon (RELEASE, BETA, ...)",
            "type": "string"
          },
          "supportEmail": {
            "description": "The mail to contact in case of issue with this addon",
            "type": "string"
          },
          "twitterName": {
            "description": "The name of the user to contact on twitter for this addon (could be empty)",
            "type": "string"
          },
          "website": {
            "description": "The website of the provider. If the addon is developped by clever-cloud, the site is \"http://www.clever-cloud.com/\"",
            "type": "string"
          }
        },
        "required": [
          "analyticsId",
          "canUpgrade",
          "googlePlusName",
          "id",
          "logoUrl",
          "longDesc",
          "name",
          "openInNewTab",
          "regions",
          "shortDesc",
          "status",
          "supportEmail",
          "twitterName",
          "website"
        ],
        "type": "object"
      },
      "ProvisionRequest": {},
      "Rights": {
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "name"
        ],
        "type": "object"
      },
      "Secret": {
        "properties": {
          "secret": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "secret",
          "value"
        ],
        "type": "object"
      },
      "Sso": {
        "properties": {
          "email": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "nav-data": {
            "type": "string"
          },
          "timestamp": {
            "format": "date",
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "id",
          "nav-data",
          "timestamp",
          "token",
          "url"
        ],
        "type": "object"
      },
      "Summary": {
        "properties": {
          "organisations": {
            "items": {
              "properties": {
                "addons": {
                  "items": {
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "logoUrl": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "providerId": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "applications": {
                  "items": {
                    "properties": {
                      "archived": {
                        "default": false,
                        "type": "boolean"
                      },
                      "commit": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "instanceType": {
                        "type": "string"
                      },
                      "instanceVariant": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "state": {
                        "type": "string"
                      },
                      "variantSlug": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "avatar": {
                  "type": "string"
                },
                "consumers": {
                  "items": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "picture": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "providers": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "role": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "user": {
            "properties": {
              "addons": {
                "items": {
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "logoUrl": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "providerId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "admin": {
                "default": false,
                "type": "boolean"
              },
              "applications": {
                "items": {
                  "properties": {
                    "archived": {
                      "default": false,
                      "type": "boolean"
                    },
                    "commit": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    },
                    "instanceType": {
                      "type": "string"
                    },
                    "instanceVariant": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string"
                    },
                    "variantSlug": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "avatar": {
                "type": "string"
              },
              "consumers": {
                "items": {
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "picture": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "id": {
                "type": "string"
              },
              "lang": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "addons",
              "admin",
              "applications",
              "avatar",
              "id",
              "lang",
              "name"
            ],
            "type": "object"
          }
        },
        "required": [
          "organisations",
          "user"
        ],
        "type": "object"
      },
      "SupernovaInstanceView": {
        "example": "{\n  \"uuid\": \"19d21edb-a343-49e7-8aa6-9d87c7e272b8\",\n  \"displayName\": \"Sizzling spewpa\",\n  \"appId\": \"app_2b5ad0bb-4bd7-4180-80b9-0459e98364f3\",\n  \"ownerId\": \"orga_0d221ceb-1b50-4994-a8d9-babb3cceef02\",\n  \"flavor\": {\n    \"name\": \"nano\",\n    \"mem\": 512,\n    \"cpus\": 1,\n    \"price\": 0.1431844215\n  },\n  \"ip\": \"65.10.142.94\",\n  \"appPort\": 18605,\n  \"zabbixPort\": 28605,\n  \"sshPort\": 48605,\n  \"hv\": \"hv-par2-049\",\n  \"image\": \"java-20181029\",\n  \"state\": \"UP\",\n  \"commitId\": \"43a4ba1726e26f039654dcd3916f61c612802947\",\n  \"deployNumber\": 107,\n  \"deployId\": \"deployment_cad0cf75-38e2-4dc8-b1be-ea869862bb69\",\n  \"source\": \"apps\",\n  \"zone\": \"par\",\n  \"internalIP\": \"10.6.123.92\",\n  \"createdAt\": 1540921810532,\n  \"instanceNumber\": 0\n}",
        "properties": {
          "appId": {
            "description": "Identifier of running app/add-on",
            "type": "string"
          },
          "appPort": {
            "description": "Port of the HV that's redirected to 8080 on VM",
            "type": "number"
          },
          "commitId": {
            "type": "string"
          },
          "createdAt": {
            "description": "Integer unix timestamp",
            "type": "number"
          },
          "deployId": {
            "type": "string"
          },
          "deployNumber": {
            "type": "number"
          },
          "displayName": {
            "description": "Generated PokéName. This name is generated from the uuid.",
            "type": "string"
          },
          "flavor": {
            "description": "The instance \"flavor\": memory, cpu, disk size…",
            "properties": {
              "cpus": {
                "type": "number"
              },
              "mem": {
                "type": "number"
              },
              "name": {
                "description": "Name of flavor. For indication only.",
                "type": "string"
              },
              "price": {
                "type": "number"
              }
            },
            "type": "object"
          },
          "hv": {
            "description": "String name of hv.",
            "type": "string"
          },
          "image": {
            "description": "Base system image. E.g. java-20181030, node-20180912…",
            "type": "string"
          },
          "instanceNumber": {
            "type": "number"
          },
          "internalIP": {
            "type": "string"
          },
          "ip": {
            "description": "Public IP of the HV",
            "type": "string"
          },
          "ownerId": {
            "description": "Identifier of the owner of the app/add-on running",
            "type": "string"
          },
          "source": {
            "description": "Who/what started this instance? E.g. \"app\", \"cli\"",
            "type": "string"
          },
          "sshPort": {
            "description": "Port of the HV that's redirected to 22 on VM",
            "type": "number"
          },
          "state": {
            "type": "string"
          },
          "uuid": {
            "type": "string"
          },
          "zabbixPort": {
            "description": "Port of the HV that's redirected to 10050 on VM",
            "type": "number"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "appPort",
          "flavor",
          "hv",
          "image",
          "ip",
          "source",
          "uuid",
          "zabbixPort"
        ],
        "type": "object"
      },
      "Token": {
        "properties": {
          "consumer": {
            "$ref": "#/components/schemas/Consumer"
          },
          "creationDate": {
            "format": "int32",
            "type": "integer"
          },
          "lastUtilisation": {
            "type": "string"
          },
          "rights": {
            "$ref": "#/components/schemas/Rights"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "consumer",
          "creationDate",
          "lastUtilisation",
          "rights",
          "token"
        ],
        "type": "object"
      },
      "Transaction_Id": {
        "description": "A simple transaction id",
        "properties": {
          "transactionId": {
            "description": "The transaction Id",
            "type": "string"
          }
        },
        "required": [
          "transactionId"
        ],
        "type": "object"
      },
      "URL": {
        "description": "Must be a valid HTTP URL",
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "User": {
        "description": "A user representation",
        "properties": {
          "address": {
            "description": "The address of the user",
            "type": "string"
          },
          "admin": {
            "default": false,
            "description": "Is the user an administrator ?",
            "type": "boolean"
          },
          "avatar": {
            "description": "The location of the user's avatar",
            "type": "string"
          },
          "canPay": {
            "default": false,
            "description": "Does the user can pay ?",
            "type": "boolean"
          },
          "city": {
            "description": "The city of the user",
            "type": "string"
          },
          "country": {
            "description": "The country of the user",
            "type": "string"
          },
          "creationDate": {
            "description": "The creation timestamp of the user",
            "format": "int64",
            "type": "integer"
          },
          "email": {
            "description": "The email of the user",
            "type": "string"
          },
          "emailValidated": {
            "default": false,
            "description": "Does the user email is validate",
            "type": "boolean"
          },
          "hasPassword": {
            "default": false,
            "type": "boolean"
          },
          "id": {
            "description": "The id of the user : `user_${uuid}`",
            "type": "string"
          },
          "lang": {
            "description": "The lang of the user",
            "type": "string"
          },
          "name": {
            "description": "The name of the user",
            "type": "string"
          },
          "oauthApps": {
            "description": "The list of token oauth",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "phone": {
            "description": "The phone of the user",
            "type": "string"
          },
          "preferredMFA": {
            "type": "string"
          },
          "zipcode": {
            "description": "The zipcode of the user",
            "type": "string"
          }
        },
        "required": [
          "address",
          "admin",
          "avatar",
          "canPay",
          "city",
          "country",
          "creationDate",
          "email",
          "emailValidated",
          "id",
          "lang",
          "name",
          "oauthApps",
          "phone",
          "zipcode"
        ],
        "type": "object"
      },
      "Variant": {
        "properties": {
          "deployType": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "logo": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "deployType",
          "id",
          "logo",
          "name",
          "slug"
        ],
        "type": "object"
      },
      "Vhost": {
        "properties": {
          "fqdn": {
            "type": "string"
          }
        },
        "required": [
          "fqdn"
        ],
        "type": "object"
      },
      "WannabeAddon": {
        "properties": {
          "name": {
            "type": "string"
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentData"
          },
          "plan": {
            "type": "string"
          },
          "providerId": {
            "description": "",
            "type": "string"
          },
          "region": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "payment",
          "plan",
          "providerId",
          "region"
        ],
        "type": "object"
      },
      "WannabeAddonBilling": {
        "properties": {
          "cost": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "cost"
        ],
        "type": "object"
      },
      "WannabeAddonProvider": {
        "properties": {
          "api": {
            "$ref": "#/components/schemas/WannabeAddonProviderAPI"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "api",
          "id",
          "name"
        ],
        "type": "object"
      },
      "WannabeAddonProviderAPI": {
        "properties": {
          "config_vars": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "password": {
            "type": "string"
          },
          "production": {
            "$ref": "#/components/schemas/WannabeAddonProviderAPIUrl"
          },
          "regions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sso_salt": {
            "type": "string"
          },
          "test": {
            "$ref": "#/components/schemas/WannabeAddonProviderAPIUrl"
          }
        },
        "required": [
          "config_vars",
          "password",
          "sso_salt"
        ],
        "type": "object"
      },
      "WannabeAddonProviderAPIUrl": {
        "properties": {
          "base_url": {
            "type": "string"
          },
          "sso_url": {
            "type": "string"
          }
        },
        "required": [
          "base_url",
          "sso_url"
        ],
        "type": "object"
      },
      "WannabeApplication": {
        "properties": {
          "archived": {
            "default": false,
            "type": "boolean"
          },
          "cancelOnPush": {
            "default": false,
            "type": "boolean"
          },
          "deploy": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "enabled": {
            "default": false,
            "type": "boolean"
          },
          "favourite": {
            "default": false,
            "type": "boolean"
          },
          "homogeneous": {
            "default": false,
            "type": "boolean"
          },
          "instanceType": {
            "type": "string"
          },
          "instanceVariant": {
            "type": "string"
          },
          "instanceVersion": {
            "type": "string"
          },
          "maxFlavor": {
            "type": "string"
          },
          "maxInstances": {
            "format": "int32",
            "type": "integer"
          },
          "minFlavor": {
            "type": "string"
          },
          "minInstances": {
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "oauthApp": {
            "$ref": "#/components/schemas/WannabeOauthApp"
          },
          "oauthAppId": {
            "type": "string"
          },
          "oauthService": {
            "type": "string"
          },
          "separateBuild": {
            "default": false,
            "type": "boolean"
          },
          "shutdownable": {
            "default": false,
            "type": "boolean"
          },
          "stickySessions": {
            "default": false,
            "type": "boolean"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "zone": {
            "type": "string"
          }
        },
        "required": [
          "deploy",
          "enabled",
          "maxInstances",
          "minInstances",
          "name",
          "zone"
        ],
        "type": "object"
      },
      "WannabeConsumer": {
        "properties": {
          "baseUrl": {
            "$ref": "#/components/schemas/URL"
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "picture": {
            "description": "",
            "type": "string"
          },
          "rights": {
            "properties": {
              "activated": {
                "default": false,
                "type": "boolean"
              },
              "right": {
                "type": "string"
              }
            },
            "required": [
              "activated",
              "right"
            ],
            "type": "object"
          },
          "url": {
            "$ref": "#/components/schemas/URL"
          }
        },
        "required": [
          "baseUrl",
          "name",
          "rights",
          "url"
        ],
        "type": "object"
      },
      "WannabeEnv": {
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "WannabeEnvVar": {},
      "WannabeExternalPeer": {},
      "WannabeFeature": {
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "description": "BOOLEAN, INTERVAL, FILESIZE, NUMBER, PERCENTAGE",
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "WannabeMember": {
        "$ref": "#/components/schemas/schema2"
      },
      "WannabeNetworkGroup": {},
      "WannabeOauthApp": {
        "properties": {
          "name": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "WannabeOrganisation": {
        "properties": {
          "VAT": {
            "type": "string"
          },
          "address": {
            "description": "The address of the organisation.",
            "type": "string"
          },
          "city": {
            "description": "The city of the organisation.",
            "type": "string"
          },
          "company": {
            "description": "The company's name of the organisation.",
            "type": "string"
          },
          "country": {
            "description": "The country of the organisation.",
            "type": "string"
          },
          "description": {
            "description": "The description of the organisation.",
            "type": "string"
          },
          "name": {
            "description": "The name of the organisation.",
            "type": "string"
          },
          "zipcode": {
            "description": "The zipcode of the city's organisation.",
            "type": "string"
          }
        },
        "required": [
          "description",
          "name"
        ],
        "type": "object"
      },
      "WannabePlan": {
        "properties": {
          "features": {
            "items": {
              "$ref": "#/components/schemas/WannabePlanFeature"
            },
            "type": "array"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "format": "int64",
            "type": "integer"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "features",
          "name",
          "price",
          "slug"
        ],
        "type": "object"
      },
      "WannabePlanFeature": {
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "type": "object"
      },
      "WannabeUser": {
        "description": "",
        "properties": {
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "email": {
            "description": "",
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "terms": {
            "default": false,
            "type": "boolean"
          },
          "zipcode": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password",
          "terms"
        ],
        "type": "object"
      },
      "WireGuardConfiguration": {},
      "Zone": {
        "properties": {
          "correspondingRegion": {
            "type": "string"
          },
          "internal": {
            "default": false,
            "type": "boolean"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "correspondingRegion",
          "internal",
          "name"
        ],
        "type": "object"
      },
      "schema1": {
        "properties": {
          "job": {
            "type": "string"
          },
          "member": {
            "properties": {
              "avatar": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "email",
              "id"
            ],
            "type": "object"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "job",
          "member",
          "role"
        ],
        "type": "object"
      },
      "schema2": {
        "properties": {
          "email": {
            "type": "string"
          },
          "job": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "role"
        ],
        "type": "object"
      }
    }
  }
}