{
  "openapi": "3.0.1",
  "info": {
    "title": "Platform.sh Rest API",
    "version": "1.0",
    "contact": {
      "name": "Support",
      "url": "https://platform.sh/contact"
    },
    "termsOfService": "https://platform.sh/tos",
    "description": "# Introduction\n\nPlatform.sh is a container-based Platform-as-a-Service. Our main API\nis simply Git. With a single `git push` and a couple of YAML files in\nyour repository you can deploy an arbitrarily complex cluster.\nEvery [**Project**](#tag/Project) can have multiple applications (PHP,\nNode.js, Python, Ruby, Go, etc.) and managed, automatically\nprovisioned services (databases, message queues, etc.).\n\nEach project also comes with multiple concurrent\nlive staging/development [**Environments**](#tag/Environment).\nThese ephemeral development environments\nare automatically created every time you push a new branch or create a\npull request, and each has a full copy of the data of its parent branch,\nwhich is created on-the-fly in seconds.\n\nOur Git implementation supports integrations with third party Git\nproviders such as GitHub, Bitbucket, or GitLab, allowing you to simply\nintegrate Platform.sh into your existing workflow.\n\n## Using the REST API\n\nIn addition to the Git API, we also offer a REST API that allows you to manage\nevery aspect of the platform, from managing projects and environments,\nto accessing accounts and subscriptions, to creating robust workflows\nand integrations with your CI systems and internal services.\n\nThese API docs are generated from a standard **OpenAPI (Swagger)** Specification document\nwhich you can find here in [YAML](openapispec-platformsh.yaml) and in [JSON](openapispec-platformsh.json) formats.\n\nThis RESTful API consumes and produces HAL-style JSON over HTTPS,\nand any REST library can be used to access it. On GitHub, we also host\na few API libraries that you can use to make API access easier, such as our\n[PHP API client](https://github.com/platformsh/platformsh-client-php)\nand our [JavaScript API client](https://github.com/platformsh/platformsh-client-js).\n\nIn order to use the API you will first need to have a [Platform.sh account](https://auth.api.platform.sh/register) \nand [create an API Token](https://docs.upsun.com/anchors/fixed/cli/api-token/).\n\n# Authentication\n\n## OAuth2\n\nAPI authentication is done with OAuth2 access tokens.\n\n### API tokens\n\nYou can use an API token as one way to get an OAuth2 access token. This\nis particularly useful in scripts, e.g. for CI pipelines.\n\nTo create an API token, go to the \"API Tokens\" section\nof the \"Account Settings\" tab on the [Console](https://console.upsun.com).\n\nTo exchange this API token for an access token, a `POST` request\nmust be made to `https://auth.api.platform.sh/oauth2/token`.\n\nThe request will look like this in cURL:\n\n<pre>\ncurl -u platform-api-user: \\\n    -d 'grant_type=api_token&amp;api_token=<em><b>API_TOKEN</b></em>' \\\n    https://auth.api.platform.sh/oauth2/token\n</pre>\n\nThis will return a \"Bearer\" access token that\ncan be used to authenticate further API requests, for example:\n\n<pre>\n{\n    \"access_token\": \"<em><b>abcdefghij1234567890</b></em>\",\n    \"expires_in\": 900,\n    \"token_type\": \"bearer\"\n}\n</pre>\n\n### Using the Access Token\n\nTo authenticate further API requests, include this returned bearer token\nin the `Authorization` header. For example, to retrieve a list of\n[Projects](#tag/Project)\naccessible by the current user, you can make the following request\n(substituting the dummy token for your own):\n\n<pre>\ncurl -H \"Authorization: Bearer <em><b>abcdefghij1234567890</b></em>\" \\\n    https://api.platform.sh/projects\n</pre>\n\n# HAL Links\n\nMost endpoints in the API return fields which defines a HAL\n(Hypertext Application Language) schema for the requested endpoint.\nThe particular objects returns and their contents can vary by endpoint.\nThe payload examples we give here for the requests do not show these\nelements. These links can allow you to create a fully dynamic API client\nthat does not need to hardcode any method or schema.\n\nUnless they are used for pagination we do not show the HAL links in the\npayload examples in this documentation for brevity and as their content\nis contextual (based on the permissions of the user).\n\n## _links Objects\n\nMost endpoints that respond to `GET` requests will include a `_links` object\nin their response. The `_links` object contains a key-object pair labelled `self`, which defines\ntwo further key-value pairs:\n\n* `href` - A URL string referring to the fully qualified name of the returned object. For many endpoints, this will be the direct link to the API endpoint on the region gateway, rather than on the general API gateway. This means it may reference a host of, for example, `eu-2.platform.sh` rather than `api.platform.sh`.\n* `meta` - An object defining the OpenAPI Specification (OAS) [schema object](https://swagger.io/specification/#schemaObject) of the component returned by the endpoint.\n\nThere may be zero or more other fields in the `_links` object resembling fragment identifiers\nbeginning with a hash mark, e.g. `#edit` or `#delete`. Each of these keys\nrefers to a JSON object containing two key-value pairs:\n\n* `href` - A URL string referring to the path name of endpoint which can perform the action named in the key.\n* `meta` - An object defining the OAS schema of the endpoint. This consists of a key-value pair, with the key defining an HTTP method and the value defining the [operation object](https://swagger.io/specification/#operationObject) of the endpoint.\n\nTo use one of these HAL links, you must send a new request to the URL defined\nin the `href` field which contains a body defined the schema object in the `meta` field.\n\nFor example, if you make a request such as `GET /projects/abcdefghij1234567890`, the `_links`\nobject in the returned response will include the key `#delete`. That object\nwill look something like this fragment:\n\n```\n\"#delete\": {\n    \"href\": \"/api/projects/abcdefghij1234567890\",\n    \"meta\": {\n        \"delete\": {\n            \"responses\": {\n                . . . // Response definition omitted for space\n            },\n            \"parameters\": []\n        }\n    }\n}\n```\n\nTo use this information to delete a project, you would then send a `DELETE`\nrequest to the endpoint `https://api.platform.sh/api/projects/abcdefghij1234567890`\nwith no body or parameters to delete the project that was originally requested.\n\n## _embedded Objects\n\nRequests to endpoints which create or modify objects, such as `POST`, `PATCH`, or `DELETE`\nrequests, will include an `_embedded` key in their response. The object\nrepresented by this key will contain the created or modified object. This\nobject is identical to what would be returned by a subsequent `GET` request\nfor the object referred to by the endpoint.\n",
    "x-logo": {
      "url": "https://platform.sh/logos/redesign/Platformsh_logo_black.svg",
      "href": "https://platform.sh/",
      "altText": "Platform.sh logo"
    }
  },
  "servers": [
    {
      "url": "{schemes}://api.platform.sh",
      "description": "The Platform.sh API gateway",
      "variables": {
        "schemes": {
          "default": "https"
        }
      }
    }
  ],
  "security": [
    {
      "OAuth2": []
    }
  ],
  "tags": [
    {
      "name": "Cert Management",
      "description": "User-supplied SSL/TLS certificates can be managed using these\nendpoints. For more information, see our\n[Third-party TLS certificate](https://docs.platform.sh/golive/steps/tls.html#optional-configure-a-third-party-tls-certificate)\ndocumentation. These endpoints are not for managing certificates\nthat are automatically supplied by Platform.sh via Let's Encrypt.\n"
    },
    {
      "name": "Environment",
      "description": "On Platform.sh, an environment encompasses a single instance of your\nentire application stack, the services used by the application,\nthe application's data storage, and the environment's backups.\n\nIn general, an environment represents a single branch or merge request\nin the Git repository backing a project. It is a virtual cluster\nof read-only application and service containers with read-write\nmounts for application and service data.\n\nOn Platform.sh, the `master` branch is your production environment—thus,\nmerging changes to master will put those changes to production.\n"
    },
    {
      "name": "Environment Type",
      "description": "Environment Types is the way Platform.sh manages access. We currently have 3 environment types:\n* Development\n* Staging\n* Production\n\nEach environment type will contain a group of users and their accesses. We manage access,\nadding, updating and removing users and their roles, here.\n\nEach environment will have a type, pointing to one of these 3 environment types.\nSee `type` in [Environments](#tag/Environment).\n\nIn general:\n* Production will be reserved for the default branch, and cannot be set manually.\n* An environment can be set to be type `staging` or development manually and when branching.\n\nDedicated Generation 2 projects have different rules for environment types. If your project\ncontains at least one of those Dedicated Generation 2 environments, the rules are slightly different:\n* All non-dedicated environments in your project can be `development` or `staging`, but never `production`.\n* Dedicated Generation 2 environments can be set either to `staging` or `production`, but never `development`.\n* The default branch is not considered to be a special case.\n"
    },
    {
      "name": "Environment Backups",
      "description": "A snapshot is a complete backup of an environment, including all the\npersistent data from all services running in an environment and all\nfiles present in mounted volumes.\n\nThese endpoints can be used to trigger the creation of new snapshots,\nget information about existing snapshots, delete existing snapshots or\nrestore a snapshot.\nMore information about snapshots can be found in our\n[Snapshot and Restore](https://docs.platform.sh/administration/snapshot-and-restore.html)\ndocumentation.\n"
    },
    {
      "name": "Environment Variables",
      "description": "These endpoints manipulate user-defined variables which are bound to a\nspecific environment, as well as (optionally) the children of an\nenvironment. These variables can be made available at both build time\nand runtime. For more information on environment variables,\nsee the [Variables](https://docs.platform.sh/development/variables.html#platformsh-environment-variables)\nsection of the documentation.\n"
    },
    {
      "name": "Project",
      "description": "## Project Overview\n\nOn Platform.sh, a Project is backed by a single Git repository\nand encompasses your entire application stack, the services\nused by your application, the application's data storage,\nthe production and staging environments, and the backups of those\nenvironments.\n\nWhen you create a new project, you start with a single\n[Environment](#tag/Environment) called *Master*,\ncorresponding to the master branch in the Git repository of\nthe project—this will be your production environment.\n\nIf you connect your project to an external Git repo\nusing one of our [Third-Party Integrations](#tag/Third-Party-Integrations)\na new development environment can be created for each branch\nor pull request created in the repository. When a new development\nenvironment is created, the production environment's data\nwill be cloned on-the-fly, giving you an isolated, production-ready\ntest environment.\n\nThis set of API endpoints can be used to retrieve a list of projects\nassociated with an API key, as well as create and update the parameters\nof existing projects.\n\n> **Note**:\n>\n> To list projects or to create a new project, use [`/subscriptions`](#tag/Subscriptions).\n"
    },
    {
      "name": "Project Variables",
      "description": "These endpoints manipulate user-defined variables which are bound to an\nentire project. These variables are accessible to all environments\nwithin a single project, and they can be made available at both build\ntime and runtime. For more information on project variables,\nsee the [Variables](https://docs.platform.sh/development/variables.html#project-variables)\nsection of the documentation.\n"
    },
    {
      "name": "Project Settings",
      "description": "These endpoints can be used to retrieve and manipulate project-level\nsettings. Only the `initialize` property can be set by end users. It is used\nto initialize a project from an existing Git repository.\n\nThe other properties can only be set by a privileged user.\n"
    },
    {
      "name": "Repository",
      "description": "The Git repository backing projects hosted on Platform.sh can be\naccessed in a **read-only** manner through the `/projects/{projectId}/git/*`\nfamily of endpoints. With these endpoints, you can retrieve objects from\nthe Git repository in the same way that you would in a local environment.\n"
    },
    {
      "name": "Domain Management",
      "description": "These endpoints can be used to add, modify, or remove domains from\na project. For more information on how domains function on\nPlatform.sh, see the [Domains](https://docs.platform.sh/administration/web/configure-project.html#domains)\nsection of our documentation.\n"
    },
    {
      "name": "Routing",
      "description": "These endpoints modify an environment's `.platform/routes.yaml` file.\nFor routes to propagate to child environments, the child environments\nmust be synchronized with their parent.\n\n> **Warning**: These endpoints create a new commit in the project repository.\n> This may lead to merge conflicts if you are using an external Git provider\n> through our integrations.\n>\n> **We strongly recommend that you specify your routes in your `.platform/routes.yaml`\n> file if you use an external Git integration such as GitHub or GitLab.**\n\nMore information about routing can be found in the [Routes](https://docs.platform.sh/configuration/routes.html)\nsection of the documentation.\n"
    },
    {
      "name": "Source Operations",
      "description": "These endpoints interact with source code operations as defined in the `source.operations`\nkey in a project's `.platform.app.yaml` configuration. More information\non source code operations is\n[available in our user documentation](https://docs.platform.sh/configuration/app/source-operations.html).\n"
    },
    {
      "name": "Deployment Target",
      "description": "Platform.sh is capable of deploying the production environments of\nprojects in multiple topologies: both in clusters of containers, and\nas dedicated virtual machines. This is an internal API that can\nonly be used by privileged users.\n"
    },
    {
      "name": "Deployments",
      "description": "The deployments endpoints gives detailed information about the actual\ndeployment of an active environment. Currently, it returns the _current_\ndeployment with information about the different apps, services, and\nroutes contained within.\n"
    },
    {
      "name": "Third-Party Integrations",
      "description": "Platform.sh can easily integrate with many third-party services, including\nGit hosting services (GitHub, GitLab, and Bitbucket),\nhealth notification services (email, Slack, PagerDuty),\nperformance analytics platforms (New Relic, Blackfire, Tideways),\nand webhooks.\n\nFor clarification about what information each field requires, see the\n[External Integrations](https://docs.platform.sh/administration/integrations.html)\ndocumentation. NOTE: The names of the CLI arguments listed in the\ndocumentation are not always named exactly the same as the\nrequired body fields in the API request.\n"
    },
    {
      "name": "MFA",
      "description": "Multi-factor authentication (MFA) requires the user to present two (or more) types of evidence (or factors) to prove their identity.\n\nFor example, the evidence might be a password and a device-generated code, which show the user has the knowledge factor (\"something you know\") \nas well as the possession factor (\"something you have\"). In this way MFA offers good protection against the compromise of any single factor, \nsuch as a stolen password.\n\nUsing the MFA API you can set up time-based one-time passcodes (TOTP), which can be generated on a single registered device (\"something you have\") such as a mobile phone.\n"
    },
    {
      "name": "Subscriptions",
      "description": "Each project is represented by a subscription that holds the plan information.\nThese endpoints can be used to go to a larger plan, add more storage, or subscribe to\noptional features.\n"
    },
    {
      "name": "Orders",
      "description": "These endpoints can be used to retrieve order information from our billing\nsystem. Here you can view information about your bill for our services,\ninclude the billed amount and a link to a PDF of the bill.\n"
    },
    {
      "name": "Invoices",
      "description": "These endpoints can be used to retrieve invoices from our billing system.\nAn invoice of type \"invoice\" is generated automatically every month, if the customer has active projects.\nInvoices of type \"credit_memo\" are a result of manual action when there was a refund or an invoice correction.\n"
    },
    {
      "name": "Vouchers",
      "description": "These endpoints can be used to retrieve vouchers associated with a particular\nuser as well as apply a voucher to a particular user.\n"
    },
    {
      "name": "Records",
      "description": "These endpoints retrieve information about which plans were assigned to a particular\nproject at which time.\n"
    },
    {
      "name": "Support",
      "description": "These endpoints can be used to retrieve information about support ticket priority\nand allow you to submit new ticket to the Platform.sh Support Team.\n"
    },
    {
      "name": "System Information",
      "description": "These endpoints can be used to retrieve low-level information and interact with the\ncore component of Platform.sh infrastructure.\n\nThis is an internal API that can only be used by privileged users.\n"
    }
  ],
  "paths": {
    "/alerts/subscriptions/{subscriptionId}/usage": {
      "get": {
        "tags": [
          "Alerts"
        ],
        "summary": "Get usage alerts for a subscription",
        "operationId": "get-usage-alerts",
        "parameters": [
          {
            "$ref": "#/components/parameters/subscription_id"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of current and available alerts for the subscription.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "available": {
                      "description": "The list of available usage alerts.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Alert"
                      }
                    },
                    "current": {
                      "description": "The list of the current usage alerts.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Alert"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Alerts"
        ],
        "summary": "Update usage alerts.",
        "operationId": "update-usage-alerts",
        "parameters": [
          {
            "$ref": "#/components/parameters/subscription_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "alerts": {
                    "description": "The list of usage alerts to create or update.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Alert"
                    }
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The list of current and available alerts for the subscription.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "available": {
                      "description": "The list of available usage alerts.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Alert"
                      }
                    },
                    "current": {
                      "description": "The list of the current usage alerts.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Alert"
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/orders/download": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Download an invoice.",
        "operationId": "download-invoice",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "description": "JWT for invoice.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An invoice PDF.",
            "content": {
              "application/pdf": {}
            }
          }
        }
      }
    },
    "/discounts/{id}": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Get an organization discount",
        "operationId": "get-discount",
        "parameters": [
          {
            "$ref": "#/components/parameters/discountId"
          }
        ],
        "responses": {
          "200": {
            "description": "A discount object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Discount"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/discounts/types/allowance": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Get the value of the First Project Incentive discount",
        "operationId": "get-type-allowance",
        "responses": {
          "200": {
            "description": "A discount object",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "currencies": {
                      "description": "Discount values per currency.",
                      "properties": {
                        "EUR": {
                          "description": "Discount value in EUR.",
                          "properties": {
                            "formatted": {
                              "description": "The discount amount formatted.",
                              "type": "string"
                            },
                            "amount": {
                              "description": "The discount amount.",
                              "type": "number",
                              "format": "float"
                            },
                            "currency": {
                              "description": "The currency.",
                              "type": "string"
                            },
                            "currency_symbol": {
                              "description": "Currency symbol.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "USD": {
                          "description": "Discount value in USD.",
                          "properties": {
                            "formatted": {
                              "description": "The discount amount formatted.",
                              "type": "string"
                            },
                            "amount": {
                              "description": "The discount amount.",
                              "type": "number",
                              "format": "float"
                            },
                            "currency": {
                              "description": "The currency.",
                              "type": "string"
                            },
                            "currency_symbol": {
                              "description": "Currency symbol.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "GBP": {
                          "description": "Discount value in GBP.",
                          "properties": {
                            "formatted": {
                              "description": "The discount amount formatted.",
                              "type": "string"
                            },
                            "amount": {
                              "description": "The discount amount.",
                              "type": "number",
                              "format": "float"
                            },
                            "currency": {
                              "description": "The currency.",
                              "type": "string"
                            },
                            "currency_symbol": {
                              "description": "Currency symbol.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "AUD": {
                          "description": "Discount value in AUD.",
                          "properties": {
                            "formatted": {
                              "description": "The discount amount formatted.",
                              "type": "string"
                            },
                            "amount": {
                              "description": "The discount amount.",
                              "type": "number",
                              "format": "float"
                            },
                            "currency": {
                              "description": "The currency.",
                              "type": "string"
                            },
                            "currency_symbol": {
                              "description": "Currency symbol.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "CAD": {
                          "description": "Discount value in CAD.",
                          "properties": {
                            "formatted": {
                              "description": "The discount amount formatted.",
                              "type": "string"
                            },
                            "amount": {
                              "description": "The discount amount.",
                              "type": "number",
                              "format": "float"
                            },
                            "currency": {
                              "description": "The currency.",
                              "type": "string"
                            },
                            "currency_symbol": {
                              "description": "Currency symbol.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/me": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get current logged-in user info",
        "description": "Retrieve information about the currently logged-in user (the user associated with the access token).",
        "operationId": "get-current-user-deprecated",
        "responses": {
          "200": {
            "description": "The user object.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUser"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/ssh_keys/{key_id}": {
      "get": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Get an SSH key",
        "operationId": "get-ssh-key",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "description": "The ID of the ssh key.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single SSH public key record.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHKey"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Delete an SSH key",
        "operationId": "delete-ssh-key",
        "parameters": [
          {
            "name": "key_id",
            "in": "path",
            "description": "The ID of the ssh key.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success."
          }
        }
      }
    },
    "/ssh_keys": {
      "post": {
        "tags": [
          "SSH Keys"
        ],
        "summary": "Add a new public SSH key to a user",
        "operationId": "create-ssh-key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "value"
                ],
                "properties": {
                  "value": {
                    "description": "The value of the ssh key.",
                    "type": "string"
                  },
                  "title": {
                    "description": "The title of the ssh key.",
                    "type": "string"
                  },
                  "uuid": {
                    "description": "The uuid of the user.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The newly created ssh key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHKey"
                }
              }
            }
          }
        }
      }
    },
    "/me/phone": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Check if phone verification is required",
        "description": "Find out if the current logged in user requires phone verification to create projects.",
        "operationId": "get-current-user-verification-status",
        "responses": {
          "200": {
            "description": "The information pertinent to determine if the account requires phone verification before project creation.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "verify_phone": {
                      "description": "Does this user need to verify their phone number for project creation.",
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/me/verification": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Check if verification is required",
        "description": "Find out if the current logged in user requires verification (phone or staff) to create projects.",
        "operationId": "get-current-user-verification-status-full",
        "responses": {
          "200": {
            "description": "The information pertinent to determine if the account requires any type of verification before project creation.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "state": {
                      "description": "Does this user need verification for project creation.",
                      "type": "boolean"
                    },
                    "type": {
                      "description": "What type of verification is needed (phone or ticket)",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/plans": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "List available plans",
        "description": "Retrieve information about plans and pricing on Platform.sh.",
        "operationId": "list-plans",
        "responses": {
          "200": {
            "description": "The list of plans.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "count": {
                      "description": "Total number of plans.",
                      "type": "integer"
                    },
                    "plans": {
                      "description": "Array of plans.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Plan"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/HalLinks"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/can-update": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Checks if the user is able to update a project.",
        "operationId": "can-update-subscription",
        "parameters": [
          {
            "$ref": "#/components/parameters/subscription_id"
          },
          {
            "$ref": "#/components/parameters/subscription_plan"
          },
          {
            "$ref": "#/components/parameters/subscription_environments"
          },
          {
            "$ref": "#/components/parameters/subscription_storage"
          },
          {
            "$ref": "#/components/parameters/subscription_user_licenses"
          }
        ],
        "responses": {
          "200": {
            "description": "Check result with error message if presented",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "can_update": {
                      "description": "Boolean result of the check.",
                      "type": "boolean"
                    },
                    "message": {
                      "description": "Details in case of negative check result.",
                      "type": "string"
                    },
                    "required_action": {
                      "description": "Required action impeding project update.",
                      "type": "object"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/profiles": {
      "get": {
        "tags": [
          "User Profiles"
        ],
        "summary": "List user profiles",
        "operationId": "list-profiles",
        "responses": {
          "200": {
            "description": "The list of user profiles.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "count": {
                      "description": "Total number of results.",
                      "type": "integer"
                    },
                    "profiles": {
                      "description": "Array of user profiles.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Profile"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/HalLinks"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{userId}": {
      "get": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Get a single user profile",
        "operationId": "get-profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/user_id"
          }
        ],
        "responses": {
          "200": {
            "description": "A User profile object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Update a user profile",
        "description": "Update a user profile, supplying one or more key/value pairs to to change.",
        "operationId": "update-profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/user_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "display_name": {
                    "description": "The user's display name.",
                    "type": "string"
                  },
                  "username": {
                    "description": "The user's username.",
                    "type": "string"
                  },
                  "current_password": {
                    "description": "The user's current password.",
                    "type": "string"
                  },
                  "password": {
                    "description": "The user's new password.",
                    "type": "string"
                  },
                  "company_type": {
                    "description": "The company type.",
                    "type": "string"
                  },
                  "company_name": {
                    "description": "The name of the company.",
                    "type": "string"
                  },
                  "vat_number": {
                    "description": "The vat number of the user.",
                    "type": "string"
                  },
                  "company_role": {
                    "description": "The role of the user in the company.",
                    "type": "string"
                  },
                  "marketing": {
                    "description": "Flag if the user agreed to receive marketing communication.",
                    "type": "boolean"
                  },
                  "ui_colorscheme": {
                    "description": "The user's chosen color scheme for user interfaces. Available values are 'light' and 'dark'.",
                    "type": "string"
                  },
                  "default_catalog": {
                    "description": "The URL of a catalog file which overrides the default.",
                    "type": "string"
                  },
                  "project_options_url": {
                    "description": "The URL of an account-wide project options file.",
                    "type": "string"
                  },
                  "picture": {
                    "description": "Url of the user's picture.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A User profile object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          }
        }
      }
    },
    "/profiles/{userId}/address": {
      "get": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Get a user address",
        "operationId": "get-address",
        "parameters": [
          {
            "$ref": "#/components/parameters/user_id"
          }
        ],
        "responses": {
          "200": {
            "description": "A user Address object extended with field metadata",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Address"
                    },
                    {
                      "$ref": "#/components/schemas/AddressMetadata"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Update a user address",
        "description": "Update a user address, supplying one or more key/value pairs to to change.",
        "operationId": "update-address",
        "parameters": [
          {
            "$ref": "#/components/parameters/user_id"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Address"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A user Address object extended with field metadata.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Address"
                    },
                    {
                      "$ref": "#/components/schemas/AddressMetadata"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/profile/{uuid}/picture": {
      "post": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Create a user profile picture",
        "operationId": "create-profile-picture",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "The uuid of the user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "description": "The image file to upload.",
                    "type": "string",
                    "format": "binary"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The new picture url.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "url": {
                      "description": "The relative url of the picture.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User Profiles"
        ],
        "summary": "Delete a user profile picture",
        "operationId": "delete-profile-picture",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "The uuid of the user",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content success."
          }
        }
      }
    },
    "/tickets": {
      "get": {
        "summary": "List support tickets",
        "operationId": "list-tickets",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_ticket_id"
          },
          {
            "$ref": "#/components/parameters/filter_created"
          },
          {
            "$ref": "#/components/parameters/filter_updated"
          },
          {
            "$ref": "#/components/parameters/filter_type"
          },
          {
            "$ref": "#/components/parameters/filter_priority"
          },
          {
            "$ref": "#/components/parameters/filter_ticket_status"
          },
          {
            "$ref": "#/components/parameters/filter_requester_id"
          },
          {
            "$ref": "#/components/parameters/filter_submitter_id"
          },
          {
            "$ref": "#/components/parameters/filter_assignee_id"
          },
          {
            "$ref": "#/components/parameters/filter_has_incidents"
          },
          {
            "$ref": "#/components/parameters/filter_due"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search string for the ticket subject and description.",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "The list of tickets.",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "count": {
                      "description": "Total number of results.",
                      "type": "integer"
                    },
                    "tickets": {
                      "description": "Array of support tickets.",
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Ticket"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/HalLinks"
                    }
                  },
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create a new support ticket",
        "operationId": "create-ticket",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "subject",
                  "description"
                ],
                "properties": {
                  "subject": {
                    "description": "A title of the ticket.",
                    "type": "string"
                  },
                  "description": {
                    "description": "The description body of the support ticket.",
                    "type": "string"
                  },
                  "requester_id": {
                    "description": "UUID of the ticket requester. Converted from the ZID value.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "priority": {
                    "description": "A priority of the ticket.",
                    "type": "string",
                    "enum": [
                      "low",
                      "normal",
                      "high",
                      "urgent"
                    ]
                  },
                  "subscription_id": {
                    "description": "see create()",
                    "type": "string"
                  },
                  "organization_id": {
                    "description": "see create()",
                    "type": "string"
                  },
                  "affected_url": {
                    "description": "see create().",
                    "type": "string",
                    "format": "url"
                  },
                  "followup_tid": {
                    "description": "The unique ID of the ticket which this ticket is a follow-up to.",
                    "type": "string"
                  },
                  "category": {
                    "description": "The category of the support ticket.",
                    "type": "string",
                    "enum": [
                      "access",
                      "billing_question",
                      "complaint",
                      "compliance_question",
                      "configuration_change",
                      "general_question",
                      "incident_outage",
                      "bug_report",
                      "report_a_gui_bug",
                      "onboarding",
                      "close_my_account"
                    ]
                  },
                  "attachments": {
                    "description": "A list of attachments for the ticket.",
                    "type": "array",
                    "items": {
                      "properties": {
                        "filename": {
                          "description": "The filename to be used in storage.",
                          "type": "string"
                        },
                        "data": {
                          "description": "the base64 encoded file.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "collaborator_ids": {
                    "description": "A list of collaborators uuids for the ticket.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A Support Ticket object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          }
        }
      }
    },
    "/tickets/{ticket_id}": {
      "patch": {
        "tags": [
          "Support"
        ],
        "summary": "Update a ticket",
        "operationId": "update-ticket",
        "parameters": [
          {
            "name": "ticket_id",
            "in": "path",
            "description": "The ID of the ticket",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "status": {
                    "description": "The status of the support ticket.",
                    "type": "string",
                    "enum": [
                      "open",
                      "solved"
                    ]
                  },
                  "collaborator_ids": {
                    "description": "A list of collaborators uuids for the ticket.",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "collaborators_replace": {
                    "description": "Whether or not should replace ticket collaborators with the provided values. If false, the collaborators will be appended.",
                    "type": "boolean",
                    "default": null
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          },
          "204": {
            "description": "The ticket was not updated."
          }
        }
      }
    },
    "/tickets/priority": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List support ticket priorities",
        "operationId": "list-ticket-priorities",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "query",
            "description": "The ID of the subscription the ticket should be related to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "description": "The category of the support ticket.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of available priorities for that license.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "id": {
                        "description": "Machine name of the priority.",
                        "type": "string"
                      },
                      "label": {
                        "description": "The human-readable label of the priority.",
                        "type": "string"
                      },
                      "short_description": {
                        "description": "The short description of the priority.",
                        "type": "string"
                      },
                      "description": {
                        "description": "The long description of the priority.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tickets/category": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List support ticket categories",
        "operationId": "list-ticket-categories",
        "parameters": [
          {
            "name": "subscription_id",
            "in": "query",
            "description": "The ID of the subscription the ticket should be related to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organization_id",
            "in": "query",
            "description": "The ID of the organization the ticket should be related to",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "An array of available categories for a ticket.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "id": {
                        "description": "Machine name of the category as is listed in zendesk.",
                        "type": "string"
                      },
                      "label": {
                        "description": "The human-readable label of the category.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/invitations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/OrganizationID"
        }
      ],
      "post": {
        "summary": "Invite user to an organization by email",
        "description": "Creates an invitation to an organization for a user with the specified email address.",
        "operationId": "create-org-invite",
        "tags": [
          "Organization Invitations"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInvitation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict when there already is a pending invitation for the invitee",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email",
                    "description": "The email address of the invitee."
                  },
                  "permissions": {
                    "$ref": "#/components/schemas/OrganizationPermissions"
                  },
                  "force": {
                    "type": "boolean",
                    "description": "Whether to cancel any pending invitation for the specified invitee, and create a new invitation."
                  }
                },
                "required": [
                  "email",
                  "permissions"
                ]
              }
            }
          }
        }
      },
      "get": {
        "summary": "List invitations to an organization",
        "description": "Returns a list of invitations to an organization.",
        "operationId": "list-org-invites",
        "tags": [
          "Organization Invitations"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[state]",
            "description": "Allows filtering by `state` of the invtations: \"pending\" (default), \"error\".",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.\n",
            "schema": {
              "type": "string",
              "enum": [
                "updated_at",
                "-updated_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationInvitation"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/invitations/{invitation_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/OrganizationID"
        },
        {
          "$ref": "#/components/parameters/InvitationID"
        }
      ],
      "delete": {
        "summary": "Cancel a pending invitation to an organization",
        "description": "Cancels the specified invitation.",
        "operationId": "cancel-org-invite",
        "tags": [
          "Organization Invitations"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/projects/{project_id}/invitations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        }
      ],
      "post": {
        "summary": "Invite user to a project by email",
        "description": "Creates an invitation to a project for a user with the specified email address.",
        "operationId": "create-project-invite",
        "tags": [
          "Project Invitations"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectInvitation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required when the number of users exceeds the subscription limit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict when there already is a pending invitation for the invitee",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "viewer"
                    ],
                    "description": "The role the invitee should be given on the project.",
                    "default": null
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "description": "The email address of the invitee."
                  },
                  "permissions": {
                    "type": "array",
                    "description": "Specifying the role on each environment type.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "production",
                            "staging",
                            "development"
                          ],
                          "description": "The environment type."
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "admin",
                            "viewer",
                            "contributor"
                          ],
                          "description": "The role the invitee should be given on the environment type."
                        }
                      }
                    }
                  },
                  "environments": {
                    "deprecated": true,
                    "type": "array",
                    "description": "(Deprecated, use permissions instead) Specifying the role on each environment.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The ID of the environment."
                        },
                        "role": {
                          "type": "string",
                          "enum": [
                            "admin",
                            "viewer",
                            "contributor"
                          ],
                          "description": "The role the invitee should be given on the environment."
                        }
                      }
                    }
                  },
                  "force": {
                    "type": "boolean",
                    "description": "Whether to cancel any pending invitation for the specified invitee, and create a new invitation."
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        }
      },
      "get": {
        "summary": "List invitations to a project",
        "description": "Returns a list of invitations to a project.",
        "operationId": "list-project-invites",
        "tags": [
          "Project Invitations"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[state]",
            "description": "Allows filtering by `state` of the invtations: \"pending\" (default), \"error\".",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.\n",
            "schema": {
              "type": "string",
              "enum": [
                "updated_at",
                "-updated_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectInvitation"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{project_id}/invitations/{invitation_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        },
        {
          "$ref": "#/components/parameters/InvitationID"
        }
      ],
      "delete": {
        "summary": "Cancel a pending invitation to a project",
        "description": "Cancels the specified invitation.",
        "operationId": "cancel-project-invite",
        "tags": [
          "Project Invitations"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/ref/users": {
      "get": {
        "summary": "List referenced users",
        "description": "Retrieves a list of users referenced by a trusted service. Clients cannot construct the URL themselves. The correct URL will be provided in the HAL links of another API response, in the <code>_links</code> object with a key like <code>ref:users:0</code>.",
        "operationId": "list-referenced-users",
        "tags": [
          "References"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A map of referenced users indexed by the user ID.",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/UserReference"
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "497f6eca-6276-4993-bfeb-53cbbbba6f08": {
                        "email": "user@example.com",
                        "first_name": "string",
                        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                        "last_name": "string",
                        "picture": "https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png",
                        "username": "string",
                        "mfa_enabled": false,
                        "sso_enabled": false
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "in",
            "description": "The list of comma-separated user IDs generated by a trusted service.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "sig",
            "description": "The signature of this request generated by a trusted service.",
            "required": true
          }
        ]
      }
    },
    "/ref/teams": {
      "get": {
        "summary": "List referenced teams",
        "description": "Retrieves a list of teams referenced by a trusted service. Clients cannot construct the URL themselves. The correct URL will be provided in the HAL links of another API response, in the <code>_links</code> object with a key like <code>ref:teams:0</code>.",
        "operationId": "list-referenced-teams",
        "tags": [
          "References"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A map of referenced teams indexed by the team ID.",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TeamReference"
                  }
                },
                "examples": {
                  "example-1": {
                    "value": {
                      "01FVMKN9KHVWWVY488AVKDWHR3": {
                        "id": "01FVMKN9KHVWWVY488AVKDWHR3",
                        "label": "Contractors"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "in",
            "description": "The list of comma-separated team IDs generated by a trusted service.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "sig",
            "description": "The signature of this request generated by a trusted service.",
            "required": true
          }
        ]
      }
    },
    "/teams": {
      "get": {
        "summary": "List teams",
        "description": "Retrieves a list of teams.",
        "operationId": "list-teams",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[organization_id]",
            "description": "Allows filtering by `organization_id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[id]",
            "description": "Allows filtering by `id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[updated_at]",
            "description": "Allows filtering by `updated_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.\n",
            "schema": {
              "type": "string",
              "enum": [
                "label",
                "-label",
                "created_at",
                "-created_at",
                "updated_at",
                "-updated_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Team"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "description": "Total count of all the teams."
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create team",
        "description": "Creates a new team.",
        "operationId": "create-team",
        "tags": [
          "Teams"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "organization_id",
                  "label"
                ],
                "properties": {
                  "organization_id": {
                    "type": "string",
                    "format": "ulid",
                    "description": "The ID of the parent organization."
                  },
                  "label": {
                    "type": "string",
                    "description": "The human-readable label of the team."
                  },
                  "project_permissions": {
                    "type": "array",
                    "description": "Project permissions that are granted to the team.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/teams/{team_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/TeamID"
        }
      ],
      "get": {
        "summary": "Get team",
        "description": "Retrieves the specified team.",
        "operationId": "get-team",
        "tags": [
          "Teams"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update team",
        "description": "Updates the specified team.",
        "operationId": "update-team",
        "tags": [
          "Teams"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "The human-readable label of the team."
                  },
                  "project_permissions": {
                    "type": "array",
                    "description": "Project permissions that are granted to the team.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete team",
        "description": "Deletes the specified team.",
        "operationId": "delete-team",
        "tags": [
          "Teams"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/teams/{team_id}/members": {
      "parameters": [
        {
          "$ref": "#/components/parameters/TeamID"
        }
      ],
      "get": {
        "summary": "List team members",
        "description": "Retrieves a list of users associated with a single team.",
        "operationId": "list-team-members",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.\n",
            "schema": {
              "type": "string",
              "enum": [
                "created_at",
                "-created_at",
                "updated_at",
                "-updated_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TeamMember"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create team member",
        "description": "Creates a new team member.",
        "operationId": "create-team-member",
        "tags": [
          "Teams"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "user_id"
                ],
                "properties": {
                  "user_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "ID of the user."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/teams/{team_id}/members/{user_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/TeamID"
        },
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "Get team member",
        "description": "Retrieves the specified team member.",
        "operationId": "get-team-member",
        "tags": [
          "Teams"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamMember"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete team member",
        "description": "Deletes the specified team member.",
        "operationId": "delete-team-member",
        "tags": [
          "Teams"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/extended-access": {
      "get": {
        "summary": "List extended access of a user",
        "description": "List extended access of the given user, which includes both individual and team access to project and organization.",
        "operationId": "list-user-extended-access",
        "tags": [
          "Grants"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserID"
          },
          {
            "in": "query",
            "name": "filter[resource_type]",
            "description": "Allows filtering by `resource_type` (project or organization) using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[organization_id]",
            "description": "Allows filtering by `organization_id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[permissions]",
            "description": "Allows filtering by `permissions` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "x-examples": {
                          "example-1": {
                            "user_id": "ff9c8376-0227-4928-9b52-b08bc5426689",
                            "resource_id": "an3sjsfwfbgkm",
                            "resource_type": "project",
                            "organization_id": "01H2X80DMRDZWR6CX753YQHTND",
                            "granted_at": "2022-04-01T10:11:30.783289Z",
                            "updated_at": "2022-04-03T22:12:59.937864Z",
                            "permissions": [
                              "viewer",
                              "staging:contributor"
                            ]
                          }
                        },
                        "properties": {
                          "user_id": {
                            "type": "string",
                            "format": "uuid",
                            "description": "The ID of the user."
                          },
                          "resource_id": {
                            "type": "string",
                            "description": "The ID of the resource."
                          },
                          "resource_type": {
                            "type": "string",
                            "description": "The type of the resource access to which is granted.",
                            "enum": [
                              "project",
                              "organization"
                            ]
                          },
                          "organization_id": {
                            "type": "string",
                            "description": "The ID of the organization owning the resource."
                          },
                          "permissions": {
                            "type": "array",
                            "description": "List of project permissions.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "granted_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The date and time when the access was granted."
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The date and time when the access was updated."
                          }
                        }
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/me": {
      "get": {
        "summary": "Get the current user",
        "description": "Retrieves the current user, determined from the used access token.",
        "operationId": "get-current-user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/email={email}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "email",
            "example": "hello@example.com"
          },
          "name": "email",
          "in": "path",
          "required": true,
          "description": "The user's email address."
        }
      ],
      "get": {
        "summary": "Get a user by email",
        "description": "Retrieves a user matching the specified email address.",
        "operationId": "get-user-by-email-address",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/username={username}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "example": "platform-sh"
          },
          "name": "username",
          "in": "path",
          "required": true,
          "description": "The user's username."
        }
      ],
      "get": {
        "summary": "Get a user by username",
        "description": "Retrieves a user matching the specified username.",
        "operationId": "get-user-by-username",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/{user_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "Get a user",
        "description": "Retrieves the specified user.",
        "operationId": "get-user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      },
      "patch": {
        "summary": "Update a user",
        "description": "Updates the specified user.",
        "operationId": "update-user",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "",
                "type": "object",
                "properties": {
                  "username": {
                    "type": "string",
                    "description": "The user's username."
                  },
                  "first_name": {
                    "type": "string",
                    "description": "The user's first name."
                  },
                  "last_name": {
                    "type": "string",
                    "description": "The user's last name."
                  },
                  "picture": {
                    "type": "string",
                    "format": "uri",
                    "description": "The user's picture."
                  },
                  "company": {
                    "type": "string",
                    "description": "The user's company."
                  },
                  "website": {
                    "type": "string",
                    "format": "uri",
                    "description": "The user's website."
                  },
                  "country": {
                    "type": "string",
                    "maxLength": 2,
                    "minLength": 2,
                    "description": "The user's country (2-letter country code)."
                  }
                },
                "x-examples": {
                  "example-1": {
                    "company": "Platform.sh SAS",
                    "country": "EU",
                    "first_name": "Hello",
                    "last_name": "World",
                    "picture": "https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png",
                    "username": "username",
                    "website": "https://platform.sh"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/emailaddress": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "post": {
        "summary": "Reset email address",
        "description": "Requests a reset of the user's email address. A confirmation email will be sent to the new address when the request is accepted.",
        "operationId": "reset-email-address",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email_address": {
                    "type": "string",
                    "format": "email"
                  }
                },
                "required": [
                  "email_address"
                ]
              }
            }
          },
          "description": ""
        }
      }
    },
    "/users/{user_id}/resetpassword": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "post": {
        "summary": "Reset user password",
        "description": "Requests a reset of the user's password. A password reset email will be sent to the user when the request is accepted.",
        "operationId": "reset-password",
        "tags": [
          "Users"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/api-tokens": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "List a user's API tokens",
        "description": "Retrieves a list of API tokens associated with a single user.",
        "operationId": "list-api-tokens",
        "tags": [
          "API Tokens"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/APIToken"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create an API token",
        "description": "Creates an API token",
        "operationId": "create-api-token",
        "tags": [
          "API Tokens"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIToken"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The token name."
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/api-tokens/{token_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        },
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "token_id",
          "in": "path",
          "required": true,
          "description": "The ID of the token."
        }
      ],
      "get": {
        "summary": "Get an API token",
        "description": "Retrieves the specified API token.",
        "operationId": "get-api-token",
        "tags": [
          "API Tokens"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIToken"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      },
      "delete": {
        "summary": "Delete an API token",
        "description": "Deletes an API token",
        "operationId": "delete-api-token",
        "tags": [
          "API Tokens"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/{user_id}/connections": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "List federated login connections",
        "description": "Retrieves a list of connections associated with a single user.",
        "operationId": "list-login-connections",
        "tags": [
          "Connections"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Connection"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/connections/{provider}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "provider",
          "in": "path",
          "required": true,
          "description": "The name of the federation provider."
        },
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "Get a federated login connection",
        "description": "Retrieves the specified connection.",
        "operationId": "get-login-connection",
        "tags": [
          "Connections"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      },
      "delete": {
        "summary": "Delete a federated login connection",
        "description": "Deletes the specified connection.",
        "operationId": "delete-login-connection",
        "tags": [
          "Connections"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/{user_id}/totp": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "Get information about TOTP enrollment",
        "description": "Retrieves TOTP enrollment information.",
        "operationId": "get-totp-enrollment",
        "tags": [
          "MFA"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "issuer": {
                      "type": "string",
                      "format": "uri",
                      "description": ""
                    },
                    "account_name": {
                      "type": "string",
                      "description": "Account name for the enrollment."
                    },
                    "secret": {
                      "type": "string",
                      "description": "The secret seed for the enrollment"
                    },
                    "qr_code": {
                      "type": "string",
                      "format": "byte",
                      "description": "Data URI of a PNG QR code image for the enrollment."
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict"
          }
        }
      },
      "post": {
        "summary": "Confirm TOTP enrollment",
        "description": "Confirms the given TOTP enrollment.",
        "operationId": "confirm-totp-enrollment",
        "tags": [
          "MFA"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recovery_codes": {
                      "type": "array",
                      "description": "A list of recovery codes for the MFA enrollment.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "secret": {
                    "type": "string",
                    "description": "The secret seed for the enrollment"
                  },
                  "passcode": {
                    "type": "string",
                    "description": "TOTP passcode for the enrollment"
                  }
                },
                "required": [
                  "secret",
                  "passcode"
                ]
              }
            }
          },
          "description": ""
        }
      },
      "delete": {
        "summary": "Withdraw TOTP enrollment",
        "description": "Withdraws from the TOTP enrollment.",
        "operationId": "withdraw-totp-enrollment",
        "tags": [
          "MFA"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/{user_id}/codes": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "post": {
        "summary": "Re-create recovery codes",
        "description": "Re-creates recovery codes for the MFA enrollment.",
        "operationId": "recreate-recovery-codes",
        "tags": [
          "MFA"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "recovery_codes": {
                      "type": "array",
                      "description": "A list of recovery codes for the MFA enrollment.",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/users/{user_id}/phonenumber": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "post": {
        "summary": "Verify phone number",
        "description": "Starts a phone number verification session.",
        "operationId": "verify-phone-number",
        "tags": [
          "PhoneNumber"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sid": {
                      "type": "string",
                      "description": "Session ID of the verification."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channel": {
                    "type": "string",
                    "description": "The channel used to receive the verification code.",
                    "enum": [
                      "sms",
                      "whatsapp",
                      "call"
                    ]
                  },
                  "phone_number": {
                    "type": "string",
                    "description": "The phone number used to receive the verification code."
                  }
                },
                "required": [
                  "channel",
                  "phone_number"
                ]
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/phonenumber/{sid}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "sid",
          "in": "path",
          "required": true,
          "description": "The session ID obtained from `POST /users/{user_id}/phonenumber`."
        },
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "post": {
        "summary": "Confirm phone number",
        "description": "Confirms phone number using a verification code.",
        "operationId": "confirm-phone-number",
        "tags": [
          "PhoneNumber"
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The verification code received on your phone."
                  }
                },
                "required": [
                  "code"
                ]
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/teams": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "User teams",
        "description": "Retrieves teams that the specified user is a member of.",
        "operationId": "list-user-teams",
        "tags": [
          "Teams"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[organization_id]",
            "description": "Allows filtering by `organization_id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[updated_at]",
            "description": "Allows filtering by `updated_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.\n",
            "schema": {
              "type": "string",
              "enum": [
                "created_at",
                "-created_at",
                "updated_at",
                "-updated_at"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Team"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "description": "Total count of all the teams."
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "get-projects",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            }
          }
        },
        "tags": [
          "Project"
        ],
        "summary": "Get a project",
        "description": "Retrieve the details of a single project."
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "update-projects",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project"
        ],
        "summary": "Update a project",
        "description": "Update the details of an existing project."
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "delete-projects",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project"
        ],
        "summary": "Delete a project",
        "description": "Delete the entire project."
      }
    },
    "/projects/{projectId}/activities": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-activities",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Project Activity"
        ],
        "summary": "Get project activity log",
        "description": "Retrieve a project's activity log including logging actions in all\nenvironments within a project. This returns a list of objects\nwith records of actions such as:\n\n- Commits being pushed to the repository\n- A new environment being branched out from the specified environment\n- A snapshot being created of the specified environment\n\nThe object includes a timestamp of when the action occurred\n(`created_at`), when the action concluded (`updated_at`),\nthe current `state` of the action, the action's completion\npercentage (`completion_percent`), the `environments` it\napplies to and when the activity expires (`expires_at`).\n\nThere are other related information in the `payload`.\nThe contents of the `payload` varies based on the `type` of the\nactivity. For example:\n\n- An `environment.branch` action's `payload` can contain objects\nrepresenting the environment's `parent` environment and the\nbranching action's `outcome`.\n\n- An `environment.push` action's `payload` can contain objects\nrepresenting the `environment`, the specific `commits` included in\nthe push, and the `user` who pushed.\n\nExpired activities are removed from the project activity log, except\nthe last 100 expired objects provided they are not of type `environment.cron`\nor `environment.backup`.\n"
      }
    },
    "/projects/{projectId}/activities/{activityId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "activityId"
          }
        ],
        "operationId": "get-projects-activities",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Activity"
                }
              }
            }
          }
        },
        "tags": [
          "Project Activity"
        ],
        "summary": "Get a project activity log entry",
        "description": "Retrieve a single activity log entry as specified by an\n`id` returned by the\n[Get project activity log](#tag/Project-Activity%2Fpaths%2F~1projects~1%7BprojectId%7D~1activities%2Fget)\nendpoint. See the documentation on that endpoint for details about\nthe information this endpoint can return.\n"
      }
    },
    "/projects/{projectId}/activities/{activityId}/cancel": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "activityId"
          }
        ],
        "operationId": "action-projects-activities-cancel",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project Activity"
        ],
        "summary": "Cancel a project activity",
        "description": "Cancel a single activity as specified by an `id` returned by the\n[Get project activity log](#tag/Project-Activity%2Fpaths%2F~1projects~1%7BprojectId%7D~1activities%2Fget)\nendpoint.\n\nPlease note that not all activities are cancelable.\n"
      }
    },
    "/projects/{projectId}/capabilities": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "get-projects-capabilities",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCapabilities"
                }
              }
            }
          }
        },
        "tags": [
          "Project"
        ],
        "summary": "Get a project's capabilities",
        "description": "Get a list of capabilities on a project, as defined by the billing system.\nFor instance, one special capability that could be defined on a project is\nlarge development environments.\n"
      }
    },
    "/projects/{projectId}/certificates": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-certificates",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Cert Management"
        ],
        "summary": "Get list of SSL certificates",
        "description": "Retrieve a list of objects representing the SSL certificates\nassociated with a project.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "create-projects-certificates",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateCreateInput"
              }
            }
          }
        },
        "tags": [
          "Cert Management"
        ],
        "summary": "Add an SSL certificate",
        "description": "Add a single SSL certificate to a project.\n"
      }
    },
    "/projects/{projectId}/certificates/{certificateId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "certificateId"
          }
        ],
        "operationId": "get-projects-certificates",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Certificate"
                }
              }
            }
          }
        },
        "tags": [
          "Cert Management"
        ],
        "summary": "Get an SSL certificate",
        "description": "Retrieve information about a single SSL certificate\nassociated with a project.\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificatePatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "certificateId"
          }
        ],
        "operationId": "update-projects-certificates",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Cert Management"
        ],
        "summary": "Update an SSL certificate",
        "description": "Update a single SSL certificate associated with a project.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "certificateId"
          }
        ],
        "operationId": "delete-projects-certificates",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Cert Management"
        ],
        "summary": "Delete an SSL certificate",
        "description": "Delete a single SSL certificate associated with a project.\n"
      }
    },
    "/projects/{projectId}/clear_build_cache": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "action-projects-clear-build-cache",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project"
        ],
        "summary": "Clear project build cache",
        "description": "On rare occasions, a project's build cache can become corrupted. This\nendpoint will entirely flush the project's build cache. More information\non [clearing the build cache can be found in our user documentation.](https://docs.platform.sh/development/troubleshoot.html#clear-the-build-cache)\n"
      }
    },
    "/projects/{projectId}/deployments": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTargetCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment Target"
        ],
        "summary": "Get project deployment target info",
        "description": "The deployment target information for the project.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "create-projects-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeploymentTargetCreateInput"
              }
            }
          }
        },
        "tags": [
          "Deployment Target"
        ],
        "summary": "Create a project deployment target",
        "description": "Set the deployment target information for a project.\n"
      }
    },
    "/projects/{projectId}/deployments/{deploymentTargetConfigurationId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "deploymentTargetConfigurationId"
          }
        ],
        "operationId": "get-projects-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTarget"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment Target"
        ],
        "summary": "Get a single project deployment target",
        "description": "Get a single deployment target configuration of a project.\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeploymentTargetPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "deploymentTargetConfigurationId"
          }
        ],
        "operationId": "update-projects-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment Target"
        ],
        "summary": "Update a project deployment"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "deploymentTargetConfigurationId"
          }
        ],
        "operationId": "delete-projects-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment Target"
        ],
        "summary": "Delete a single project deployment target",
        "description": "Delete a single deployment target configuration associated with a specific project.\n"
      }
    },
    "/projects/{projectId}/domains": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Get list of project domains",
        "description": "Retrieve a list of objects representing the user-specified domains\nassociated with a project. Note that this does *not* return the\ndomains automatically assigned to a project that appear under\n\"Access site\" on the user interface.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "create-projects-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DomainCreateInput"
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Add a project domain",
        "description": "Add a single domain to a project.\nIf the `ssl` field is left blank without an object containing\na PEM-encoded SSL certificate, a certificate will\n[be provisioned for you via Let's Encrypt.](https://docs.platform.sh/configuration/routes/https.html#lets-encrypt)\n"
      }
    },
    "/projects/{projectId}/domains/{domainId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "get-projects-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domain"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Get a project domain",
        "description": "Retrieve information about a single user-specified domain\nassociated with a project.\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DomainPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "update-projects-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Update a project domain",
        "description": "Update the information associated with a single user-specified\ndomain associated with a project.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "delete-projects-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Delete a project domain",
        "description": "Delete a single user-specified domain associated with a project.\n"
      }
    },
    "/projects/{projectId}/environment-types": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-environment-types",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentTypeCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Type"
        ],
        "summary": "Get environment types",
        "description": "List all available environment types"
      }
    },
    "/projects/{projectId}/environment-types/{environmentTypeId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentTypeId"
          }
        ],
        "operationId": "get-environment-type",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentType"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Type"
        ],
        "summary": "Get environment type links",
        "description": "Lists the endpoints used to retrieve info about the environment type."
      }
    },
    "/projects/{projectId}/environments": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-environments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Get list of project environments",
        "description": "Retrieve a list of a project's existing environments and the\ninformation associated with each environment.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "get-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Get an environment",
        "description": "Retrieve the details of a single existing environment."
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "update-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Update an environment",
        "description": "Update the details of a single existing environment."
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "delete-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Delete an environment",
        "description": "Delete a specified environment."
      }
    },
    "/projects/{projectId}/environments/{environmentId}/activate": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "activate-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentActivateInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Activate an environment",
        "description": "Set the specified environment's status to active"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/activities": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-activities",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivityCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Activity"
        ],
        "summary": "Get environment activity log",
        "description": "Retrieve an environment's activity log. This returns a list of object\nwith records of actions such as:\n\n- Commits being pushed to the repository\n- A new environment being branched out from the specified environment\n- A snapshot being created of the specified environment\n\nThe object includes a timestamp of when the action occurred\n(`created_at`), when the action concluded (`updated_at`),\nthe current `state` of the action, the action's completion\npercentage (`completion_percent`), and other related information in\nthe `payload`.\n\nThe contents of the `payload` varies based on the `type` of the\nactivity. For example:\n\n- An `environment.branch` action's `payload` can contain objects\nrepresenting the `parent` environment and the branching action's\n`outcome`.\n\n- An `environment.push` action's `payload` can contain objects\nrepresenting the `environment`, the specific `commits` included in\nthe push, and the `user` who pushed.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/activities/{activityId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "activityId"
          }
        ],
        "operationId": "get-projects-environments-activities",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Activity"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Activity"
        ],
        "summary": "Get an environment activity log entry",
        "description": "Retrieve a single environment activity entry as specified by an\n`id` returned by the\n[Get environment activities list](#tag/Environment-Activity%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1activities%2Fget)\nendpoint. See the documentation on that endpoint for details about\nthe information this endpoint can return.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/activities/{activityId}/cancel": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "activityId"
          }
        ],
        "operationId": "action-projects-environments-activities-cancel",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Activity"
        ],
        "summary": "Cancel an environment activity",
        "description": "Cancel a single activity as specified by an `id` returned by the\n[Get environment activities list](#tag/Environment-Activity%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1activities%2Fget)\nendpoint.\n\nPlease note that not all activities are cancelable.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/backup": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "backup-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentBackupInput"
              }
            }
          }
        },
        "tags": [
          "Environment Backups"
        ],
        "summary": "Create snapshot of environment",
        "description": "Trigger a new snapshot of an environment to be created. See the\n[Snapshot and Restore](https://docs.platform.sh/administration/snapshot-and-restore.html)\nsection of the documentation for more information.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/backups": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-backups",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BackupCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Backups"
        ],
        "summary": "Get an environment's snapshot list",
        "description": "Retrieve a list of objects representing backups of this environment.\n",
        "x-stability": "EXPERIMENTAL"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/backups/{backupId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "backupId"
          }
        ],
        "operationId": "get-projects-environments-backups",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Backup"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Backups"
        ],
        "summary": "Get an environment snapshot's info",
        "description": "Get the details of a specific backup from an environment using the `id`\nof the entry retrieved by the\n[Get backups list](#tag/Environment-Backups%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1backups%2Fget)\nendpoint.\n",
        "x-stability": "EXPERIMENTAL"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "backupId"
          }
        ],
        "operationId": "delete-projects-environments-backups",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Backups"
        ],
        "summary": "Delete an environment snapshot",
        "description": "Delete a specific backup from an environment using the `id`\nof the entry retrieved by the\n[Get backups list](#tag/Environment-Backups%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1backups%2Fget)\nendpoint.\n",
        "x-stability": "EXPERIMENTAL"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/backups/{backupId}/restore": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "backupId"
          }
        ],
        "operationId": "restore-backup",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentRestoreInput"
              }
            }
          }
        },
        "tags": [
          "Environment Backups"
        ],
        "summary": "Restore an environment snapshot",
        "description": "Restore a specific backup from an environment using the `id`\nof the entry retrieved by the\n[Get backups list](#tag/Environment-Backups%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1backups%2Fget)\nendpoint.\n",
        "x-stability": "EXPERIMENTAL"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/branch": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "branch-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentBranchInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Branch an environment",
        "description": "Create a new environment as a branch of the current environment.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/deactivate": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "deactivate-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Deactivate an environment",
        "description": "Destroy all services and data running on this environment so that\nonly the Git branch remains. The environment can be reactivated\nlater at any time; reactivating an environment will sync data\nfrom the parent environment and redeploy.\n\n**NOTE: ALL DATA IN THIS ENVIRONMENT WILL BE IRREVOCABLY LOST**\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/deploy": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "deploy-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentDeployInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ]
      }
    },
    "/projects/{projectId}/environments/{environmentId}/deployments": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment"
        ],
        "summary": "Get an environment's deployment information",
        "description": "Retrieve the read-only configuration of an environment's deployment.\nThe returned information is everything required to\nrecreate a project's current deployment.\n\nMore specifically, the objects\nreturned by this endpoint contain the configuration derived from the\nrepository's YAML configuration files: `.platform.app.yaml`,\n`.platform/services.yaml`, and `.platform/routes.yaml`.\n\nAdditionally, any values deriving from environment variables, the\ndomains attached to a project, project access settings, etc. are\nincluded here.\n\nThis endpoint currently returns a list containing a single deployment\nconfiguration with an `id` of `current`. This may be subject to change\nin the future.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/deployments/{deploymentId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "deploymentId"
          }
        ],
        "operationId": "get-projects-environments-deployments",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deployment"
                }
              }
            }
          }
        },
        "tags": [
          "Deployment"
        ],
        "summary": "Get a single environment deployment",
        "description": "Retrieve a single deployment configuration with an id of `current`. This may be subject to change in the future.\nOnly `current` can be queried.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/deployments/{deploymentId}/operations": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "deploymentId"
          }
        ],
        "operationId": "run-operation",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentOperationInput"
              }
            }
          }
        },
        "tags": [
          "Runtime Operations"
        ],
        "summary": "Execute a runtime operation",
        "description": "Execute a runtime operation on a currently deployed environment. This allows you to run one-off commands, such as rebuilding static assets on demand, by defining an `operations` key in a project's `.platform.app.yaml` configuration. More information on runtime operations is [available in our user documentation](https://docs.platform.sh/create-apps/runtime-operations.html)."
      }
    },
    "/projects/{projectId}/environments/{environmentId}/domains": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Get a list of environment domains",
        "description": "Retrieve a list of objects representing the user-specified domains\nassociated with an environment. Note that this does *not* return the\n`.platformsh.site` subdomains, which are automatically assigned to\nthe environment.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "create-projects-environments-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DomainCreateInput"
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Add an environment domain",
        "description": "Add a single domain to an environment.\nIf the environment is not production, the `replacement_for` field\nis required, which binds a new domain to an existing one from a\nproduction environment.\nIf the `ssl` field is left blank without an object containing\na PEM-encoded SSL certificate, a certificate will\n[be provisioned for you via Let's Encrypt](https://docs.platform.sh/configuration/routes/https.html#lets-encrypt).\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/domains/{domainId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "get-projects-environments-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Domain"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Get an environment domain",
        "description": "Retrieve information about a single user-specified domain\nassociated with an environment.\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DomainPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "update-projects-environments-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Update an environment domain",
        "description": "Update the information associated with a single user-specified\ndomain associated with an environment.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "domainId"
          }
        ],
        "operationId": "delete-projects-environments-domains",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Domain Management"
        ],
        "summary": "Delete an environment domain",
        "description": "Delete a single user-specified domain associated with an environment.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/initialize": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "initialize-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentInitializeInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Initialize a new environment",
        "description": "Initialize and configure a new environment with an existing repository.\nThe payload is the url of a git repository with a profile name:\n\n```\n{\n    \"repository\": \"git@github.com:platformsh/a-project-template.git@master\",\n    \"profile\": \"Example Project\",\n    \"files\": [\n      {\n        \"mode\": 0600,\n        \"path\": \"config.json\",\n        \"contents\": \"XXXXXXXX\"\n      }\n    ]\n}\n```\nIt can optionally carry additional files that will be committed to the\nrepository, the POSIX file mode to set on each file, and the base64-encoded\ncontents of each file.\n\nThis endpoint can also add a second repository\nURL in the `config` parameter that will be added to the contents of the first.\nThis allows you to put your application in one repository and the Platform.sh\nYAML configuration files in another.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/merge": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "merge-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentMergeInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Merge an environment",
        "description": "Merge an environment into its parent. This means that code changes\nfrom the branch environment will be merged into the parent branch, and\nthe parent branch will be rebuilt and deployed with the new code changes,\nretaining the existing data in the parent environment.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/pause": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "pause-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Pause an environment",
        "description": "Pause an environment, stopping all services and applications (except the router).\n\nDevelopment environments are often used for a limited time and then abandoned.\nTo prevent unnecessary consumption of resources, development environments that\nhaven't been redeployed in 14 days are automatically paused.\n\nYou can pause an environment manually at any time using this endpoint. Further\ninformation is available in our [public documentation](https://docs.platform.sh/environments.html#paused-environments).\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/redeploy": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "redeploy-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Redeploy an environment",
        "description": "Trigger the redeployment sequence of an environment."
      }
    },
    "/projects/{projectId}/environments/{environmentId}/resume": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "resume-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Resume a paused environment",
        "description": "Resume a paused environment, restarting all services and applications.\n\nDevelopment environments that haven't been used for 14 days will be paused\nautomatically. They can be resumed via a redeployment or manually using this\nendpoint or the CLI as described in the [public documentation](https://docs.platform.sh/environments.html#paused-environments).\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/routes": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-routes",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RouteCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Routing"
        ],
        "summary": "Get list of routes",
        "description": "Retrieve a list of objects containing route definitions for\na specific environment. The definitions returned by this endpoint\nare those present in an environment's `.platform/routes.yaml` file.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "create-projects-environments-routes",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RouteCreateInput"
              }
            }
          }
        },
        "tags": [
          "Routing"
        ],
        "summary": "Create a new route",
        "description": "Add a new route to the specified environment. More information about\nhow routes are defined can be found in the [Routes](https://docs.platform.sh/configuration/routes.html)\nsection of the documentation.\n\nThis endpoint modifies an environment's `.platform/routes.yaml` file.\nFor routes to propagate to child environments, the child environments\nmust be synchronized with their parent.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/routes/{routeId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "routeId"
          }
        ],
        "operationId": "get-projects-environments-routes",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Route"
                }
              }
            }
          }
        },
        "tags": [
          "Routing"
        ],
        "summary": "Get a route's info",
        "description": "Get details of a route from an environment using the `id` of the entry\nretrieved by the [Get environment routes list](#tag/Environment-Routes%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1routes%2Fget)\nendpoint.\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutePatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "routeId"
          }
        ],
        "operationId": "update-projects-environments-routes",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Routing"
        ],
        "summary": "Update a route",
        "description": "Update a route in an environment using the `id` of the entry\nretrieved by the [Get environment routes list](#tag/Environment-Routes%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1routes%2Fget)\nendpoint.\n\nThis endpoint modifies an environment's `.platform/routes.yaml` file.\nFor routes to propagate to child environments, the child environments\nmust be synchronized with their parent.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "routeId"
          }
        ],
        "operationId": "delete-projects-environments-routes",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Routing"
        ],
        "summary": "Delete a route",
        "description": "Remove a route from an environment using the `id` of the entry\nretrieved by the [Get environment routes list](#tag/Environment-Routes%2Fpaths%2F~1projects~1%7BprojectId%7D~1environments~1%7BenvironmentId%7D~1routes%2Fget)\nendpoint.\n\nThis endpoint modifies an environment's `.platform/routes.yaml` file.\nFor routes to propagate to child environments, the child environments\nmust be synchronized with their parent.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/source-operation": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "run-source-operation",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentSourceOperationInput"
              }
            }
          }
        },
        "tags": [
          "Source Operations"
        ],
        "summary": "Trigger a source operation",
        "description": "This endpoint triggers a source code operation as defined in the `source.operations`\nkey in a project's `.platform.app.yaml` configuration. More information\non source code operations is\n[available in our user documentation](https://docs.platform.sh/configuration/app/source-operations.html).\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/source-operations": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-source-operations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentSourceOperationCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Source Operations"
        ],
        "summary": "List source operations",
        "description": "Lists all the source operations, defined in `.platform.app.yaml`, that are available in an environment.\nMore information on source code operations is\n[available in our user documentation](https://docs.platform.sh/configuration/app/source-operations.html).\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/synchronize": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "synchronize-environment",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentSynchronizeInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Synchronize a child environment with its parent",
        "description": "This synchronizes the code and/or data of an environment with that of\nits parent, then redeploys the environment. Synchronization is only\npossible if a branch has no unmerged commits and it can be fast-forwarded.\n\nIf data synchronization is specified, the data in the environment will\nbe overwritten with that of its parent.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/variables": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentVariableCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Variables"
        ],
        "summary": "Get list of environment variables",
        "description": "Retrieve a list of objects representing the user-defined variables\nwithin an environment.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "create-projects-environments-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentVariableCreateInput"
              }
            }
          }
        },
        "tags": [
          "Environment Variables"
        ],
        "summary": "Add an environment variable",
        "description": "Add a variable to an environment. The `value` can be either a string or a JSON\nobject (default: string), as specified by the `is_json` boolean flag.\nAdditionally, the inheritability of an environment variable can be\ndetermined through the `is_inheritable` flag (default: true).\nSee the [Variables](https://docs.platform.sh/development/variables.html#platformsh-environment-variables)\nsection in our documentation for more information.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/variables/{variableId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "variableId"
          }
        ],
        "operationId": "get-projects-environments-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentVariable"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Variables"
        ],
        "summary": "Get an environment variable",
        "description": "Retrieve a single user-defined environment variable."
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentVariablePatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "variableId"
          }
        ],
        "operationId": "update-projects-environments-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Variables"
        ],
        "summary": "Update an environment variable",
        "description": "Update a single user-defined environment variable.\nThe `value` can be either a string or a JSON\nobject (default: string), as specified by the `is_json` boolean flag.\nAdditionally, the inheritability of an environment variable can be\ndetermined through the `is_inheritable` flag (default: true).\nSee the [Variables](https://docs.platform.sh/development/variables.html#platformsh-environment-variables)\nsection in our documentation for more information.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "variableId"
          }
        ],
        "operationId": "delete-projects-environments-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment Variables"
        ],
        "summary": "Delete an environment variable",
        "description": "Delete a single user-defined environment variable."
      }
    },
    "/projects/{projectId}/environments/{environmentId}/versions": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "list-projects-environments-versions",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "List versions associated with the environment",
        "description": "List versions associated with the `{environmentId}` environment.\nAt least one version always exists.\nWhen multiple versions exist, it means that multiple versions of an app are deployed.\nThe deployment target type denotes whether staged deployment is supported.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          }
        ],
        "operationId": "create-projects-environments-versions",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionCreateInput"
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Create versions associated with the environment",
        "description": "Create versions associated with the `{environmentId}` environment.\nAt least one version always exists.\nWhen multiple versions exist, it means that multiple versions of an app are deployed.\nThe deployment target type denotes whether staged deployment is supported.\n"
      }
    },
    "/projects/{projectId}/environments/{environmentId}/versions/{versionId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "versionId"
          }
        ],
        "operationId": "get-projects-environments-versions",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Version"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "List the version",
        "description": "List the `{versionId}` version.\nA routing percentage for this version may be specified for staged rollouts\n(if the deployment target supports it).\n"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VersionPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "versionId"
          }
        ],
        "operationId": "update-projects-environments-versions",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Update the version",
        "description": "Update the `{versionId}` version.\nA routing percentage for this version may be specified for staged rollouts\n(if the deployment target supports it).\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "environmentId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "versionId"
          }
        ],
        "operationId": "delete-projects-environments-versions",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Environment"
        ],
        "summary": "Delete the version",
        "description": "Delete the `{versionId}` version.\nA routing percentage for this version may be specified for staged rollouts\n(if the deployment target supports it).\n"
      }
    },
    "/projects/{projectId}/git/blobs/{repositoryBlobId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "repositoryBlobId"
          }
        ],
        "operationId": "get-projects-git-blobs",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Blob"
                }
              }
            }
          }
        },
        "tags": [
          "Repository"
        ],
        "summary": "Get a blob object",
        "description": "Retrieve, by hash, an object representing a blob in the repository\nbacking a project. This endpoint allows direct read-only access\nto the contents of files in a repo. It returns the file in the\n`content` field of the response object, encoded according to the\nformat in the `encoding` field, e.g. `base64`.\n"
      }
    },
    "/projects/{projectId}/git/commits/{repositoryCommitId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "repositoryCommitId"
          }
        ],
        "operationId": "get-projects-git-commits",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Commit"
                }
              }
            }
          }
        },
        "tags": [
          "Repository"
        ],
        "summary": "Get a commit object",
        "description": "Retrieve, by hash, an object representing a commit in the repository backing\na project. This endpoint functions similarly to `git cat-file -p <commit-id>`.\nThe returned object contains the hash of the Git tree that it\nbelongs to, as well as the ID of parent commits.\n\nThe commit represented by a parent ID can be retrieved using this\nendpoint, while the tree state represented by this commit can\nbe retrieved using the\n[Get a tree object](#tag/Git-Repo%2Fpaths%2F~1projects~1%7BprojectId%7D~1git~1trees~1%7BrepositoryTreeId%7D%2Fget)\nendpoint.\n"
      }
    },
    "/projects/{projectId}/git/refs": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-git-refs",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Repository"
        ],
        "summary": "Get list of repository refs",
        "description": "Retrieve a list of `refs/*` in the repository backing a project.\nThis endpoint functions similarly to `git show-ref`, with each\nreturned object containing a `ref` field with the ref's name,\nand an object containing the associated commit ID.\n\nThe returned commit ID can be used with the\n[Get a commit object](#tag/Git-Repo%2Fpaths%2F~1projects~1%7BprojectId%7D~1git~1commits~1%7BrepositoryCommitId%7D%2Fget)\nendpoint to retrieve information about that specific commit.\n"
      }
    },
    "/projects/{projectId}/git/refs/{repositoryRefId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "repositoryRefId"
          }
        ],
        "operationId": "get-projects-git-refs",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ref"
                }
              }
            }
          }
        },
        "tags": [
          "Repository"
        ],
        "summary": "Get a ref object",
        "description": "Retrieve the details of a single `refs` object in the repository\nbacking a project. This endpoint functions similarly to\n`git show-ref <pattern>`, although the pattern must be a full ref `id`,\nrather than a matching pattern.\n\n*NOTE: The `{repositoryRefId}` must be properly escaped.*\nThat is, the ref `refs/heads/master` is accessible via\n`/projects/{projectId}/git/refs/heads%2Fmaster`.\n"
      }
    },
    "/projects/{projectId}/git/trees/{repositoryTreeId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "repositoryTreeId"
          }
        ],
        "operationId": "get-projects-git-trees",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tree"
                }
              }
            }
          }
        },
        "tags": [
          "Repository"
        ],
        "summary": "Get a tree object",
        "description": "Retrieve, by hash, the tree state represented by a commit.\nThe returned object's `tree` field contains a list of files and\ndirectories present in the tree.\n\nDirectories in the tree can be recursively retrieved by this endpoint\nthrough their hashes. Files in the tree can be retrieved by the\n[Get a blob object](#tag/Git-Repo%2Fpaths%2F~1projects~1%7BprojectId%7D~1git~1blobs~1%7BrepositoryBlobId%7D%2Fget)\nendpoint.\n"
      }
    },
    "/projects/{projectId}/integrations": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-integrations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Third-Party Integrations"
        ],
        "summary": "Get list of existing integrations for a project"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "create-projects-integrations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreateInput"
              }
            }
          }
        },
        "tags": [
          "Third-Party Integrations"
        ],
        "summary": "Integrate project with a third-party service"
      }
    },
    "/projects/{projectId}/integrations/{integrationId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "integrationId"
          }
        ],
        "operationId": "get-projects-integrations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                }
              }
            }
          }
        },
        "tags": [
          "Third-Party Integrations"
        ],
        "summary": "Get information about an existing third-party integration"
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "integrationId"
          }
        ],
        "operationId": "update-projects-integrations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Third-Party Integrations"
        ],
        "summary": "Update an existing third-party integration"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "integrationId"
          }
        ],
        "operationId": "delete-projects-integrations",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Third-Party Integrations"
        ],
        "summary": "Delete an existing third-party integration"
      }
    },
    "/projects/{projectId}/provisioners": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-provisioners",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateProvisionerCollection"
                }
              }
            }
          }
        },
        "tags": [
          "CertificateProvisioner"
        ]
      }
    },
    "/projects/{projectId}/provisioners/{certificateProvisionerDocumentId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "certificateProvisionerDocumentId"
          }
        ],
        "operationId": "get-projects-provisioners",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateProvisioner"
                }
              }
            }
          }
        },
        "tags": [
          "CertificateProvisioner"
        ]
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateProvisionerPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "certificateProvisionerDocumentId"
          }
        ],
        "operationId": "update-projects-provisioners",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "CertificateProvisioner"
        ]
      }
    },
    "/projects/{projectId}/settings": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "get-projects-settings",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectSettings"
                }
              }
            }
          }
        },
        "tags": [
          "Project Settings"
        ],
        "summary": "Get list of project settings",
        "description": "Retrieve the global settings for a project."
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectSettingsPatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "update-projects-settings",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project Settings"
        ],
        "summary": "Update a project setting",
        "description": "Update one or more project-level settings."
      }
    },
    "/projects/{projectId}/system": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "get-projects-system",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SystemInformation"
                }
              }
            }
          }
        },
        "tags": [
          "System Information"
        ],
        "summary": "Get information about the Git server.",
        "description": "Output information for the project."
      }
    },
    "/projects/{projectId}/system/restart": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "action-projects-system-restart",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "System Information"
        ],
        "summary": "Restart the Git server",
        "description": "Force the Git server to restart."
      }
    },
    "/projects/{projectId}/variables": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "list-projects-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectVariableCollection"
                }
              }
            }
          }
        },
        "tags": [
          "Project Variables"
        ],
        "summary": "Get list of project variables",
        "description": "Retrieve a list of objects representing the user-defined variables\nwithin a project.\n"
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          }
        ],
        "operationId": "create-projects-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectVariableCreateInput"
              }
            }
          }
        },
        "tags": [
          "Project Variables"
        ],
        "summary": "Add a project variable",
        "description": "Add a variable to a project. The `value` can be either a string or a JSON\nobject (default: string), as specified by the `is_json` boolean flag.\nSee the [Variables](https://docs.platform.sh/development/variables.html#project-variables)\nsection in our documentation for more information.\n"
      }
    },
    "/projects/{projectId}/variables/{projectVariableId}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectVariableId"
          }
        ],
        "operationId": "get-projects-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectVariable"
                }
              }
            }
          }
        },
        "tags": [
          "Project Variables"
        ],
        "summary": "Get a project variable",
        "description": "Retrieve a single user-defined project variable."
      },
      "patch": {
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectVariablePatch"
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectVariableId"
          }
        ],
        "operationId": "update-projects-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project Variables"
        ],
        "summary": "Update a project variable",
        "description": "Update a single user-defined project variable.\nThe `value` can be either a string or a JSON\nobject (default: string), as specified by the `is_json` boolean flag.\nSee the [Variables](https://docs.platform.sh/development/variables.html#project-variables)\nsection in our documentation for more information.\n"
      },
      "delete": {
        "parameters": [
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectId"
          },
          {
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "name": "projectVariableId"
          }
        ],
        "operationId": "delete-projects-variables",
        "responses": {
          "default": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          }
        },
        "tags": [
          "Project Variables"
        ],
        "summary": "Delete a project variable",
        "description": "Delete a single user-defined project variable."
      }
    },
    "/projects/{projectId}/environments/{environmentId}/autoscaling/settings": {
      "get": {
        "tags": [
          "Autoscaling"
        ],
        "description": "Retrieves Autoscaler settings",
        "operationId": "get-autoscaler-settings",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "A string that uniquely identifies the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environmentId",
            "in": "path",
            "description": "A string that uniquely identifies the project environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "description": "Autoscaler settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscalerSettings"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Autoscaling"
        ],
        "description": "Updates Autoscaler settings",
        "operationId": "post-autoscaler-settings",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "A string that uniquely identifies the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environmentId",
            "in": "path",
            "description": "A string that uniquely identifies the project environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Settings to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoscalerSettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated Autoscaler settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscalerSettings"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Autoscaling"
        ],
        "description": "Modifies Autoscaler settings",
        "operationId": "patch-autoscaler-settings",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "A string that uniquely identifies the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environmentId",
            "in": "path",
            "description": "A string that uniquely identifies the project environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Settings to modify",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoscalerSettings"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated Autoscaler settings",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscalerSettings"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/environments/{environmentId}/autoscaling/alerts": {
      "post": {
        "tags": [
          "Autoscaling"
        ],
        "description": "Sends an Autoscaler alert for processing",
        "operationId": "post-autoscaler-alert",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "A string that uniquely identifies the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "environmentId",
            "in": "path",
            "description": "A string that uniquely identifies the project environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Alert to process",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoscalerAlertPartial"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Alert is accepted for processing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoscalerEmptyBody"
                }
              }
            }
          }
        }
      }
    },
    "/ref/organizations": {
      "get": {
        "summary": "List referenced organizations",
        "description": "Retrieves a list of organizations referenced by a trusted service. Clients cannot construct the URL themselves. The correct URL will be provided in the HAL links of another API response, in the <code>_links</code> object with a key like <code>ref:organizations:0</code>.",
        "operationId": "list-referenced-orgs",
        "tags": [
          "References"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "in",
            "description": "The list of comma-separated organization IDs generated by a trusted service.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "sig",
            "description": "The signature of this request generated by a trusted service.",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A map of referenced organizations indexed by the organization ID.",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/OrganizationReference"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/organizations": {
      "get": {
        "summary": "User organizations",
        "description": "Retrieves organizations that the specified user is a member of.",
        "operationId": "list-user-orgs",
        "tags": [
          "Organizations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserID"
          },
          {
            "in": "query",
            "name": "filter[id]",
            "description": "Allows filtering by `id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[type]",
            "description": "Allows filtering by `type` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[vendor]",
            "description": "Allows filtering by `vendor` using one or more operators.\n",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[status]",
            "description": "Allows filtering by `status` using one or more operators.<br>\nDefaults to `filter[status][in]=active,restricted,suspended`.\n",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[updated_at]",
            "description": "Allows filtering by `updated_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `name`, `label`, `created_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations": {
      "get": {
        "summary": "List organizations",
        "description": "Non-admin users will only see organizations they are members of.",
        "operationId": "list-orgs",
        "tags": [
          "Organizations"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[id]",
            "description": "Allows filtering by `id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[type]",
            "description": "Allows filtering by `type` using one or more operators.\n",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[owner_id]",
            "description": "Allows filtering by `owner_id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[name]",
            "description": "Allows filtering by `name` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[label]",
            "description": "Allows filtering by `label` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[vendor]",
            "description": "Allows filtering by `vendor` using one or more operators.\n",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[capabilities]",
            "description": "Allows filtering by `capabilites` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/ArrayFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[status]",
            "description": "Allows filtering by `status` using one or more operators.<br>\nDefaults to `filter[status][in]=active,restricted,suspended`.\n",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[updated_at]",
            "description": "Allows filtering by `updated_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `name`, `label`, `created_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer",
                      "description": "Total number of items across pages."
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create organization",
        "description": "Creates a new organization.",
        "operationId": "create-org",
        "tags": [
          "Organizations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "label"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type of the organization.",
                    "enum": [
                      "fixed",
                      "flexible"
                    ]
                  },
                  "owner_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "ID of the owner."
                  },
                  "name": {
                    "type": "string",
                    "description": "A unique machine name representing the organization."
                  },
                  "label": {
                    "type": "string",
                    "description": "The human-readable label of the organization."
                  },
                  "country": {
                    "type": "string",
                    "description": "The organization country (2-letter country code).",
                    "maxLength": 2
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}": {
      "get": {
        "summary": "Get organization",
        "description": "Retrieves the specified organization.",
        "operationId": "get-org",
        "tags": [
          "Organizations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update organization",
        "description": "Updates the specified organization.",
        "operationId": "update-org",
        "tags": [
          "Organizations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "A unique machine name representing the organization."
                  },
                  "label": {
                    "type": "string",
                    "description": "The human-readable label of the organization."
                  },
                  "country": {
                    "type": "string",
                    "description": "The organization country (2-letter country code).",
                    "maxLength": 2
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete organization",
        "description": "Deletes the specified organization.",
        "operationId": "delete-org",
        "tags": [
          "Organizations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/mfa-enforcement": {
      "get": {
        "summary": "Get organization MFA settings",
        "description": "Retrieves MFA settings for the specified organization.",
        "operationId": "get-org-mfa-enforcement",
        "tags": [
          "MFA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMFAEnforcement"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/mfa-enforcement/enable": {
      "post": {
        "summary": "Enable organization MFA enforcement",
        "description": "Enables MFA enforcement for the specified organization.",
        "operationId": "enable-org-mfa-enforcement",
        "tags": [
          "MFA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/mfa-enforcement/disable": {
      "post": {
        "summary": "Disable organization MFA enforcement",
        "description": "Disables MFA enforcement for the specified organization.",
        "operationId": "disable-org-mfa-enforcement",
        "tags": [
          "MFA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/mfa/remind": {
      "post": {
        "summary": "Send MFA reminders to organization members",
        "description": "Sends a reminder about setting up MFA to the specified organization members.",
        "operationId": "send-org-mfa-reminders",
        "tags": [
          "MFA"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_ids": {
                    "type": "array",
                    "description": "The organization members.",
                    "items": {
                      "type": "string",
                      "format": "uuid",
                      "description": "The ID of the user."
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "integer",
                        "description": "An HTTP-like status code referring to the result of the operation for the specific user."
                      },
                      "message": {
                        "type": "string",
                        "description": "A human-readable message describing the result of the operation for the specific user"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/members": {
      "get": {
        "summary": "List organization members",
        "description": "Accessible to organization owners and members with the \"manage members\" permission.",
        "operationId": "list-org-members",
        "tags": [
          "Organization Members"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "in": "query",
            "name": "filter[permissions]",
            "description": "Allows filtering by `permissions` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/ArrayFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `created_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer",
                      "description": "Total number of items across pages."
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationMember"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create organization member",
        "description": "Creates a new organization member.",
        "operationId": "create-org-member",
        "tags": [
          "Organization Members"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "user_id"
                ],
                "properties": {
                  "user_id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "ID of the user."
                  },
                  "permissions": {
                    "$ref": "#/components/schemas/Permissions"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/members/{user_id}": {
      "get": {
        "summary": "Get organization member",
        "description": "Retrieves the specified organization member.",
        "operationId": "get-org-member",
        "tags": [
          "Organization Members"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update organization member",
        "description": "Updates the specified organization member.",
        "operationId": "update-org-member",
        "tags": [
          "Organization Members"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permissions": {
                    "$ref": "#/components/schemas/Permissions"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete organization member",
        "description": "Deletes the specified organization member.",
        "operationId": "delete-org-member",
        "tags": [
          "Organization Members"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/UserID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/address": {
      "get": {
        "summary": "Get address",
        "description": "Retrieves the address for the specified organization.",
        "operationId": "get-org-address",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Address"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update address",
        "description": "Updates the address for the specified organization.",
        "operationId": "update-org-address",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Address"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Address"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/invoices": {
      "get": {
        "summary": "List invoices",
        "description": "Retrieves a list of invoices for the specified organization.",
        "operationId": "list-org-invoices",
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/filter_invoice_status"
          },
          {
            "$ref": "#/components/parameters/filter_invoice_type"
          },
          {
            "$ref": "#/components/parameters/filter_order_id"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/invoices/{invoice_id}": {
      "get": {
        "summary": "Get invoice",
        "description": "Retrieves an invoice for the specified organization.",
        "operationId": "get-org-invoice",
        "tags": [
          "Invoices"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/InvoiceID"
          },
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/profile": {
      "get": {
        "summary": "Get profile",
        "description": "Retrieves the profile for the specified organization.",
        "operationId": "get-org-profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update profile",
        "description": "Updates the profile for the specified organization.",
        "operationId": "update-org-profile",
        "tags": [
          "Profiles"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "default_catalog": {
                    "type": "string",
                    "description": "The URL of a catalog file which overrides the default."
                  },
                  "project_options_url": {
                    "type": "string",
                    "format": "uri",
                    "description": "The URL of an organization-wide project options file."
                  },
                  "security_contact": {
                    "type": "string",
                    "format": "email",
                    "description": "The e-mail address of a contact to whom security notices will be sent."
                  },
                  "company_name": {
                    "type": "string",
                    "description": "The company name."
                  },
                  "vat_number": {
                    "type": "string",
                    "description": "The VAT number of the company."
                  },
                  "billing_contact": {
                    "type": "string",
                    "format": "email",
                    "description": "The e-mail address of a contact to whom billing notices will be sent."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/orders": {
      "get": {
        "summary": "List orders",
        "description": "Retrieves orders for the specified organization.",
        "operationId": "list-org-orders",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/filter_order_status"
          },
          {
            "$ref": "#/components/parameters/filter_order_total"
          },
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/mode"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Order"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/orders/{order_id}": {
      "get": {
        "summary": "Get order",
        "description": "Retrieves an order for the specified organization.",
        "operationId": "get-org-order",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/OrderID"
          },
          {
            "$ref": "#/components/parameters/mode"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/orders/{order_id}/authorize": {
      "post": {
        "summary": "Create confirmation credentials for for 3D-Secure",
        "description": "Creates confirmation credentials for payments that require online authorization",
        "operationId": "create-authorization-credentials",
        "tags": [
          "Orders"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/OrderID"
          }
        ],
        "responses": {
          "200": {
            "description": "Payment authorization credentials, if the payment is pending",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirect_to_url": {
                      "type": "object",
                      "description": "URL information to complete the payment.",
                      "properties": {
                        "return_url": {
                          "type": "string",
                          "description": "Return URL after payment completion."
                        },
                        "url": {
                          "type": "string",
                          "description": "URL for payment finalization."
                        }
                      }
                    },
                    "type": {
                      "type": "string",
                      "description": "Required payment action type."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request when no authorization is required.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/records/plan": {
      "get": {
        "summary": "List plan records",
        "description": "Retrieves plan records for the specified organization.",
        "operationId": "list-org-plan-records",
        "tags": [
          "Records"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/filter_subscription_id"
          },
          {
            "$ref": "#/components/parameters/filter_subscription_plan"
          },
          {
            "$ref": "#/components/parameters/record_status"
          },
          {
            "$ref": "#/components/parameters/record_start"
          },
          {
            "$ref": "#/components/parameters/record_end"
          },
          {
            "$ref": "#/components/parameters/record_started_at"
          },
          {
            "$ref": "#/components/parameters/record_ended_at"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PlanRecords"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/records/usage": {
      "get": {
        "summary": "List usage records",
        "description": "Retrieves usage records for the specified organization.",
        "operationId": "list-org-usage-records",
        "tags": [
          "Records"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/filter_subscription_id"
          },
          {
            "$ref": "#/components/parameters/record_usage_group"
          },
          {
            "$ref": "#/components/parameters/record_start"
          },
          {
            "$ref": "#/components/parameters/record_started_at"
          },
          {
            "$ref": "#/components/parameters/page"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Usage"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/estimate": {
      "get": {
        "summary": "Estimate the price of a new subscription",
        "operationId": "estimate-new-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "in": "query",
            "name": "plan",
            "description": "The plan type of the subscription.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "environments",
            "description": "The maximum number of environments which can be provisioned on the project.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "storage",
            "description": "The total storage available to each environment, in MiB.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "user_licenses",
            "description": "The number of user licenses.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "description": "The format of the estimation output.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "formatted",
                "complex"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimationObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/can-create": {
      "get": {
        "summary": "Checks if the user is able to create a new project.",
        "operationId": "can-create-new-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "can_create": {
                      "description": "Boolean result of the check.",
                      "type": "boolean"
                    },
                    "message": {
                      "description": "Details in case of negative check result.",
                      "type": "string"
                    },
                    "required_action": {
                      "description": "Required action impending project creation.",
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "action": {
                          "description": "Machine readable definition of requirement.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Specification of the type of action.",
                          "type": "string"
                        }
                      }
                    }
                  },
                  "type": "object"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/{subscription_id}/estimate": {
      "get": {
        "summary": "Estimate the price of a subscription",
        "operationId": "estimate-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          },
          {
            "in": "query",
            "name": "plan",
            "description": "The plan type of the subscription.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "environments",
            "description": "The maximum number of environments which can be provisioned on the project.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "storage",
            "description": "The total storage available to each environment, in MiB.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "user_licenses",
            "description": "The number of user licenses.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "format",
            "description": "The format of the estimation output.",
            "schema": {
              "type": "string",
              "enum": [
                "formatted",
                "complex"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimationObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/{subscription_id}/current_usage": {
      "get": {
        "summary": "Get current usage for a subscription",
        "operationId": "get-org-subscription-current-usage",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          },
          {
            "in": "query",
            "name": "usage_groups",
            "description": "A list of usage groups to retrieve current usage for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "include_not_charged",
            "description": "Whether to include not charged usage groups.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionCurrentUsageObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/{subscription_id}/addons": {
      "get": {
        "summary": "List addons for a subscription",
        "operationId": "list-subscription-addons",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionAddonsObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/vouchers": {
      "get": {
        "summary": "List vouchers",
        "description": "Retrieves vouchers for the specified organization.",
        "operationId": "list-org-vouchers",
        "tags": [
          "Vouchers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Vouchers"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/vouchers/apply": {
      "post": {
        "summary": "Apply voucher",
        "description": "Applies a voucher for the specified organization, and refreshes the currently open order.",
        "operationId": "apply-org-voucher",
        "tags": [
          "Vouchers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The voucher code."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/estimate": {
      "get": {
        "summary": "Estimate total spend",
        "description": "Estimates the total spend for the specified organization.",
        "operationId": "estimate-org",
        "tags": [
          "Organization Management"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationEstimationObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/addons": {
      "get": {
        "summary": "Get add-ons",
        "description": "Retrieves information about the add-ons for an organization.",
        "operationId": "get-org-addons",
        "tags": [
          "Add-ons"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAddonsObject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/alerts/billing": {
      "get": {
        "summary": "Get billing alert configuration",
        "description": "Retrieves billing alert configuration for the specified organization.",
        "operationId": "get-org-billing-alert-config",
        "tags": [
          "Organization Management"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAlertConfig"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      },
      "patch": {
        "summary": "Update billing alert configuration",
        "description": "Updates billing alert configuration for the specified organization.",
        "operationId": "update-org-billing-alert-config",
        "tags": [
          "Organization Management"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "active": {
                    "type": "boolean",
                    "description": "Whether the billing alert should be active or not."
                  },
                  "config": {
                    "type": "object",
                    "description": "The configuration for billing alerts.",
                    "properties": {
                      "threshold": {
                        "type": "integer",
                        "description": "The amount after which a billing alert should be triggered."
                      },
                      "mode": {
                        "type": "string",
                        "description": "The mode in which the alert is triggered."
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAlertConfig"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/alerts/subscriptions/{subscription_id}/usage": {
      "get": {
        "summary": "Get usage alerts",
        "description": "Retrieves current and available usage alerts.",
        "operationId": "get-subscription-usage-alerts",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current": {
                      "type": "array",
                      "description": "The list of currently set usage alerts.",
                      "items": {
                        "$ref": "#/components/schemas/UsageAlert"
                      }
                    },
                    "available": {
                      "type": "array",
                      "description": "The list of available usage alerts.",
                      "items": {
                        "$ref": "#/components/schemas/UsageAlert"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update usage alerts.",
        "description": "Updates usage alerts for a subscription.",
        "operationId": "update-subscription-usage-alerts",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "alerts": {
                    "type": "array",
                    "description": "The list of alerts to update.",
                    "items": {
                      "type": "object",
                      "description": "An alert object.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "The usage alert identifier."
                        },
                        "active": {
                          "type": "boolean",
                          "description": "Whether the alert is activated."
                        },
                        "config": {
                          "type": "object",
                          "description": "The configuration for the usage alerts.",
                          "properties": {
                            "threshold": {
                              "type": "integer",
                              "description": "The amount after which an alert should be triggered."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "current": {
                      "type": "array",
                      "description": "The list of currently set usage alerts.",
                      "items": {
                        "$ref": "#/components/schemas/UsageAlert"
                      }
                    },
                    "available": {
                      "type": "array",
                      "description": "The list of available usage alerts.",
                      "items": {
                        "$ref": "#/components/schemas/UsageAlert"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/discounts": {
      "get": {
        "summary": "List organization discounts",
        "description": "Retrieves all applicable discounts granted to the specified organization.",
        "operationId": "list-org-discounts",
        "tags": [
          "Discounts"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationIDName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Discount"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/prepayment": {
      "get": {
        "summary": "Get organization prepayment information",
        "description": "Retrieves prepayment information for the specified organization, if applicable.",
        "operationId": "get-org-prepayment-info",
        "tags": [
          "Organization Management"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "prepayment": {
                      "$ref": "#/components/schemas/PrepaymentObject"
                    },
                    "_links": {
                      "type": "object",
                      "properties": {
                        "self": {
                          "type": "object",
                          "description": "Link to the current resource.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link."
                            }
                          }
                        },
                        "transactions": {
                          "type": "object",
                          "description": "Link to the prepayment transactions resource.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/prepayment/transactions": {
      "get": {
        "summary": "List organization prepayment transactions",
        "description": "Retrieves a list of prepayment transactions for the specified organization, if applicable.",
        "operationId": "list-org-prepayment-transactions",
        "tags": [
          "Organization Management"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer",
                      "description": "Total number of items across pages."
                    },
                    "transactions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PrepaymentTransactionObject"
                      }
                    },
                    "_links": {
                      "type": "object",
                      "properties": {
                        "self": {
                          "type": "object",
                          "description": "Link to the current set of items.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link."
                            }
                          }
                        },
                        "previous": {
                          "type": "object",
                          "description": "Link to the previous set of items.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link."
                            }
                          }
                        },
                        "next": {
                          "type": "object",
                          "description": "Link to the next set of items.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link"
                            }
                          }
                        },
                        "prepayment": {
                          "type": "object",
                          "description": "Link to the prepayment resource.",
                          "properties": {
                            "href": {
                              "type": "string",
                              "description": "URL of the link."
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-vendor": "upsun"
      }
    },
    "/organizations/{organization_id}/projects": {
      "get": {
        "summary": "List projects",
        "description": "Retrieves a list of projects for the specified organization.",
        "operationId": "list-org-projects",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "in": "query",
            "name": "filter[id]",
            "description": "Allows filtering by `id` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[title]",
            "description": "Allows filtering by `title` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[status]",
            "description": "Allows filtering by `status` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[updated_at]",
            "description": "Allows filtering by `updated_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[created_at]",
            "description": "Allows filtering by `created_at` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/DateTimeFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `id`, `created_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationProject"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create project",
        "description": "Creates a new project in the specified organization.",
        "operationId": "create-org-project",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "region"
                ],
                "properties": {
                  "organization_id": {
                    "$ref": "#/components/schemas/OrganizationID"
                  },
                  "region": {
                    "$ref": "#/components/schemas/RegionID"
                  },
                  "title": {
                    "$ref": "#/components/schemas/ProjectTitle"
                  },
                  "type": {
                    "$ref": "#/components/schemas/ProjectType"
                  },
                  "plan": {
                    "$ref": "#/components/schemas/ProjectPlan"
                  },
                  "default_branch": {
                    "$ref": "#/components/schemas/ProjectDefaultBranch"
                  },
                  "cse_notes": {
                    "$ref": "#/components/schemas/ProjectCSENotes"
                  },
                  "dedicated_tag": {
                    "$ref": "#/components/schemas/ProjectDedicatedTag"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationProject"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/projects/{project_id}": {
      "get": {
        "summary": "Get project",
        "description": "Retrieves the specified project.",
        "operationId": "get-org-project",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/ProjectID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationProject"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update project",
        "description": "Updates the specified project.",
        "operationId": "update-org-project",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/ProjectID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/ProjectTitle"
                  },
                  "plan": {
                    "$ref": "#/components/schemas/ProjectPlan"
                  },
                  "timezone": {
                    "$ref": "#/components/schemas/ProjectTimeZone"
                  },
                  "cse_notes": {
                    "$ref": "#/components/schemas/ProjectCSENotes"
                  },
                  "dedicated_tag": {
                    "$ref": "#/components/schemas/ProjectDedicatedTag"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationProject"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete project",
        "description": "Deletes the specified project.",
        "operationId": "delete-org-project",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/ProjectID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/metrics/carbon": {
      "get": {
        "summary": "Query project carbon emissions metrics for an entire organization",
        "description": "Queries the carbon emission data for all projects owned by the specified organiation.",
        "operationId": "query-organiation-carbon",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/from"
          },
          {
            "$ref": "#/components/parameters/to"
          },
          {
            "$ref": "#/components/parameters/interval"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCarbon"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/projects/{project_id}/metrics/carbon": {
      "get": {
        "summary": "Query project carbon emissions metrics",
        "description": "Queries the carbon emission data for the specified project using the supplied parameters.",
        "operationId": "query-project-carbon",
        "tags": [
          "Organization Projects"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/ProjectID"
          },
          {
            "$ref": "#/components/parameters/from"
          },
          {
            "$ref": "#/components/parameters/to"
          },
          {
            "$ref": "#/components/parameters/interval"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectCarbon"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions": {
      "get": {
        "summary": "List subscriptions",
        "description": "Retrieves subscriptions for the specified organization.",
        "operationId": "list-org-subscriptions",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/subscription_status"
          },
          {
            "$ref": "#/components/parameters/id"
          },
          {
            "$ref": "#/components/parameters/project_id"
          },
          {
            "$ref": "#/components/parameters/project_title"
          },
          {
            "$ref": "#/components/parameters/region"
          },
          {
            "$ref": "#/components/parameters/updated_at"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_before"
          },
          {
            "$ref": "#/components/parameters/page_after"
          },
          {
            "$ref": "#/components/parameters/subscription_sort"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Subscription"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Create subscription",
        "description": "Creates a subscription for the specified organization.",
        "operationId": "create-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "project_region"
                ],
                "properties": {
                  "plan": {
                    "$ref": "#/components/schemas/ProjectPlan"
                  },
                  "project_region": {
                    "type": "string",
                    "description": "The machine name of the region where the project is located. Cannot be changed after project creation."
                  },
                  "project_title": {
                    "type": "string",
                    "description": "The name given to the project. Appears as the title in the UI."
                  },
                  "options_url": {
                    "type": "string",
                    "description": "The URL of the project options file."
                  },
                  "default_branch": {
                    "type": "string",
                    "description": "The default Git branch name for the project."
                  },
                  "environments": {
                    "type": "integer",
                    "description": "The maximum number of active environments on the project."
                  },
                  "storage": {
                    "type": "integer",
                    "description": "The total storage available to each environment, in MiB. Only multiples of 1024 are accepted as legal values."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_id}/subscriptions/{subscription_id}": {
      "get": {
        "summary": "Get subscription",
        "description": "Retrieves a subscription for the specified organization.",
        "operationId": "get-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update subscription",
        "description": "Updates a subscription for the specified organization.",
        "operationId": "update-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "project_title": {
                    "$ref": "#/components/schemas/ProjectTitle"
                  },
                  "plan": {
                    "$ref": "#/components/schemas/ProjectPlan"
                  },
                  "timezone": {
                    "$ref": "#/components/schemas/ProjectTimeZone"
                  },
                  "environments": {
                    "type": "integer",
                    "description": "The maximum number of environments which can be provisioned on the project."
                  },
                  "storage": {
                    "type": "integer",
                    "description": "The total storage available to each environment, in MiB."
                  },
                  "big_dev": {
                    "type": "string",
                    "description": "The development environment plan."
                  },
                  "big_dev_service": {
                    "type": "string",
                    "description": "The development service plan."
                  },
                  "backups": {
                    "type": "string",
                    "description": "The backups plan."
                  },
                  "observability_suite": {
                    "type": "string",
                    "description": "The observability suite option."
                  },
                  "blackfire": {
                    "type": "string",
                    "description": "The Blackfire integration option."
                  },
                  "continuous_profiling": {
                    "type": "string",
                    "description": "The Blackfire continuous profiling option."
                  },
                  "project_support_level": {
                    "type": "string",
                    "description": "The project uptime option."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete subscription",
        "description": "Deletes a subscription for the specified organization.",
        "operationId": "delete-org-subscription",
        "tags": [
          "Subscriptions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationID"
          },
          {
            "$ref": "#/components/parameters/SubscriptionID"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/regions": {
      "get": {
        "summary": "List regions",
        "description": "Retrieves a list of available regions.",
        "operationId": "list-regions",
        "tags": [
          "Regions"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[available]",
            "description": "Allows filtering by `available` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[private]",
            "description": "Allows filtering by `private` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "filter[zone]",
            "description": "Allows filtering by `zone` using one or more operators.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `id`, `created_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "regions": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Region"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/regions/{region_id}": {
      "get": {
        "summary": "Get region",
        "description": "Retrieves the specified region.",
        "operationId": "get-region",
        "tags": [
          "Regions"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RegionID"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Region"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/ref/projects": {
      "get": {
        "summary": "List referenced projects",
        "description": "Retrieves a list of projects referenced by a trusted service. Clients cannot construct the URL themselves. The correct URL will be provided in the HAL links of another API response, in the <code>_links</code> object with a key like <code>ref:projects:0</code>.",
        "operationId": "list-referenced-projects",
        "tags": [
          "References"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "in",
            "description": "The list of comma-separated project IDs generated by a trusted service.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "sig",
            "description": "The signature of this request generated by a trusted service.",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A map of referenced projects indexed by the organization ID.",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/ProjectReference"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/ref/regions": {
      "get": {
        "summary": "List referenced regions",
        "description": "Retrieves a list of regions referenced by a trusted service. Clients cannot construct the URL themselves. The correct URL will be provided in the HAL links of another API response, in the <code>_links</code> object with a key like <code>ref:regions:0</code>.",
        "operationId": "list-referenced-regions",
        "tags": [
          "References"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "in",
            "description": "The list of comma-separated region IDs generated by a trusted service.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "sig",
            "description": "The signature of this request generated by a trusted service.",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "A map of referenced projects indexed by the organization ID.",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/RegionReference"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{project_id}/team-access": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        }
      ],
      "get": {
        "summary": "List team access for a project",
        "description": "Returns a list of items representing the project access.",
        "operationId": "list-project-team-access",
        "tags": [
          "Team Access"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `granted_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TeamProjectAccess"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Grant team access to a project",
        "description": "Grants one or more team access to a specific project.",
        "operationId": "grant-project-team-access",
        "tags": [
          "Team Access"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "team_id": {
                      "type": "string",
                      "description": "ID of the team."
                    }
                  },
                  "required": [
                    "team_id"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{project_id}/team-access/{team_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        },
        {
          "$ref": "#/components/parameters/TeamID"
        }
      ],
      "get": {
        "summary": "Get team access for a project",
        "description": "Retrieves the team's permissions for the current project.",
        "operationId": "get-project-team-access",
        "tags": [
          "Team Access"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamProjectAccess"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove team access for a project",
        "description": "Removes the team from the current project.",
        "operationId": "remove-project-team-access",
        "tags": [
          "Team Access"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{project_id}/user-access": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        }
      ],
      "get": {
        "summary": "List user access for a project",
        "description": "Returns a list of items representing the project access.",
        "operationId": "list-project-user-access",
        "tags": [
          "User Access"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `granted_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UserProjectAccess"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Grant user access to a project",
        "description": "Grants one or more users access to a specific project.",
        "operationId": "grant-project-user-access",
        "tags": [
          "User Access"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "user_id": {
                      "type": "string",
                      "description": "ID of the user."
                    },
                    "permissions": {
                      "$ref": "#/components/schemas/ProjectPermissions"
                    },
                    "auto_add_member": {
                      "type": "boolean",
                      "description": "If the specified user is not a member of the project's organization, add it automatically."
                    }
                  },
                  "required": [
                    "user_id",
                    "permissions"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{project_id}/user-access/{user_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectID"
        },
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "Get user access for a project",
        "description": "Retrieves the user's permissions for the current project.",
        "operationId": "get-project-user-access",
        "tags": [
          "User Access"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProjectAccess"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update user access for a project",
        "description": "Updates the user's permissions for the current project.",
        "operationId": "update-project-user-access",
        "tags": [
          "User Access"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "permissions"
                ],
                "properties": {
                  "permissions": {
                    "$ref": "#/components/schemas/ProjectPermissions"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove user access for a project",
        "description": "Removes the user from the current project.",
        "operationId": "remove-project-user-access",
        "tags": [
          "User Access"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/project-access": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        }
      ],
      "get": {
        "summary": "List project access for a user",
        "description": "Returns a list of items representing the user's project access.",
        "operationId": "list-user-project-access",
        "tags": [
          "User Access"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "filter[organization_id]",
            "description": "Allows filtering by `organization_id`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `project_title`, `granted_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UserProjectAccess"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Grant project access to a user",
        "description": "Adds the user to one or more specified projects.",
        "operationId": "grant-user-project-access",
        "tags": [
          "User Access"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "project_id": {
                      "type": "string",
                      "description": "ID of the project."
                    },
                    "permissions": {
                      "$ref": "#/components/schemas/ProjectPermissions"
                    }
                  },
                  "required": [
                    "project_id",
                    "permissions"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/users/{user_id}/project-access/{project_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/UserID"
        },
        {
          "$ref": "#/components/parameters/ProjectID"
        }
      ],
      "get": {
        "summary": "Get project access for a user",
        "description": "Retrieves the user's permissions for the current project.",
        "operationId": "get-user-project-access",
        "tags": [
          "User Access"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProjectAccess"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "summary": "Update project access for a user",
        "description": "Updates the user's permissions for the current project.",
        "operationId": "update-user-project-access",
        "tags": [
          "User Access"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "permissions"
                ],
                "properties": {
                  "permissions": {
                    "$ref": "#/components/schemas/ProjectPermissions"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove project access for a user",
        "description": "Removes the user from the current project.",
        "operationId": "remove-user-project-access",
        "tags": [
          "User Access"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/teams/{team_id}/project-access": {
      "parameters": [
        {
          "$ref": "#/components/parameters/TeamID"
        }
      ],
      "get": {
        "summary": "List project access for a team",
        "description": "Returns a list of items representing the team's project access.",
        "operationId": "list-team-project-access",
        "tags": [
          "Team Access"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "page[size]",
            "description": "Determines the number of items to show.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": null
            }
          },
          {
            "in": "query",
            "name": "page[before]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "page[after]",
            "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `project_title`, `granted_at`, `updated_at`.\n",
            "schema": {
              "type": "string",
              "example": "-updated_at"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TeamProjectAccess"
                      }
                    },
                    "_links": {
                      "$ref": "#/components/schemas/ListLinks"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Grant project access to a team",
        "description": "Adds the team to one or more specified projects.",
        "operationId": "grant-team-project-access",
        "tags": [
          "Team Access"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "project_id": {
                      "type": "string",
                      "description": "ID of the project."
                    }
                  },
                  "required": [
                    "project_id"
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/teams/{team_id}/project-access/{project_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/TeamID"
        },
        {
          "$ref": "#/components/parameters/ProjectID"
        }
      ],
      "get": {
        "summary": "Get project access for a team",
        "description": "Retrieves the team's permissions for the current project.",
        "operationId": "get-team-project-access",
        "tags": [
          "Team Access"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TeamProjectAccess"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove project access for a team",
        "description": "Removes the team from the current project.",
        "operationId": "remove-team-project-access",
        "tags": [
          "Team Access"
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Alert": {
        "description": "The alert object.",
        "properties": {
          "id": {
            "description": "The identification of the alert type.",
            "type": "string"
          },
          "active": {
            "description": "Whether the alert is currently active.",
            "type": "boolean"
          },
          "alerts_sent": {
            "description": "The amount of alerts of this type that have been sent so far.",
            "type": "integer"
          },
          "last_alert_at": {
            "description": "The time the last alert has been sent.",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "description": "The time the alert has last been updated.",
            "type": "string",
            "format": "date-time"
          },
          "config": {
            "description": "The alert type specific configuration.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "LineItem": {
        "description": "A line item in an order.",
        "properties": {
          "type": {
            "description": "The type of line item.",
            "type": "string",
            "enum": [
              "project_plan",
              "project_feature",
              "project_subtotal",
              "organization_plan",
              "organization_feature",
              "organization_subtotal"
            ]
          },
          "license_id": {
            "description": "The associated subscription identifier.",
            "type": "number",
            "nullable": true
          },
          "project_id": {
            "description": "The associated project identifier.",
            "type": "string",
            "nullable": true
          },
          "product": {
            "description": "Display name of the line item product.",
            "type": "string"
          },
          "sku": {
            "description": "The line item product SKU.",
            "type": "string"
          },
          "total": {
            "description": "Total price as a decimal.",
            "type": "number"
          },
          "total_formatted": {
            "description": "Total price, formatted with currency.",
            "type": "string"
          },
          "components": {
            "description": "The price components for the line item, keyed by type.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/LineItemComponent"
            }
          },
          "exclude_from_invoice": {
            "description": "Line item should not be considered billable.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "LineItemComponent": {
        "description": "A price component for a line item.",
        "properties": {
          "amount": {
            "description": "The price as a decimal.",
            "type": "number"
          },
          "amount_formatted": {
            "description": "The price formatted with currency.",
            "type": "string"
          },
          "display_title": {
            "description": "The display title for the component.",
            "type": "string"
          },
          "currency": {
            "description": "The currency code for the component.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Address": {
        "description": "The address of the user.",
        "properties": {
          "country": {
            "description": "Two-letter country codes are used to represent countries and states",
            "type": "string",
            "format": "ISO ALPHA-2"
          },
          "name_line": {
            "description": "The full name of the user",
            "type": "string"
          },
          "premise": {
            "description": "Premise (i.e. Apt, Suite, Bldg.)",
            "type": "string"
          },
          "sub_premise": {
            "description": "Sub Premise (i.e. Suite, Apartment, Floor, Unknown.",
            "type": "string"
          },
          "thoroughfare": {
            "description": "The address of the user",
            "type": "string"
          },
          "administrative_area": {
            "description": "The administrative area of the user address",
            "type": "string",
            "format": "ISO ALPHA-2"
          },
          "sub_administrative_area": {
            "description": "The sub-administrative area of the user address",
            "type": "string"
          },
          "locality": {
            "description": "The locality of the user address",
            "type": "string"
          },
          "dependent_locality": {
            "description": "The dependant_locality area of the user address",
            "type": "string"
          },
          "postal_code": {
            "description": "The postal code area of the user address",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Components": {
        "description": "The components of the project",
        "properties": {
          "voucher/vat/baseprice": {
            "description": "stub",
            "type": "object"
          }
        },
        "type": "object"
      },
      "Discount": {
        "description": "The discount object.",
        "properties": {
          "id": {
            "description": "The ID of the organization discount.",
            "type": "integer"
          },
          "organization_id": {
            "description": "The ULID of the organization the discount applies to.",
            "type": "string"
          },
          "type": {
            "description": "The machine name of the discount type.",
            "type": "string",
            "enum": [
              "allowance",
              "startup",
              "enterprise"
            ]
          },
          "type_label": {
            "description": "The label of the discount type.",
            "type": "string"
          },
          "status": {
            "description": "The status of the discount.",
            "type": "string",
            "enum": [
              "inactive",
              "active",
              "expired",
              "deactivated"
            ]
          },
          "commitment": {
            "description": "The minimum commitment associated with the discount (if applicable).",
            "properties": {
              "months": {
                "description": "Commitment period length in months.",
                "type": "integer"
              },
              "amount": {
                "description": "Commitment amounts.",
                "properties": {
                  "monthly": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  },
                  "commitment_period": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  },
                  "contract_total": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  }
                },
                "type": "object"
              },
              "net": {
                "description": "Net commitment amounts (discount deducted).",
                "properties": {
                  "monthly": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  },
                  "commitment_period": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  },
                  "contract_total": {
                    "$ref": "#/components/schemas/CurrencyAmount"
                  }
                },
                "type": "object"
              }
            },
            "type": "object",
            "nullable": true
          },
          "total_months": {
            "description": "The contract length in months (if applicable).",
            "type": "integer",
            "nullable": true
          },
          "discount": {
            "description": "Discount value per relevant time periods.",
            "properties": {
              "monthly": {
                "$ref": "#/components/schemas/CurrencyAmount"
              },
              "commitment_period": {
                "$ref": "#/components/schemas/CurrencyAmountNullable"
              },
              "contract_total": {
                "$ref": "#/components/schemas/CurrencyAmountNullable"
              }
            },
            "type": "object"
          },
          "config": {
            "description": "The discount type specific configuration.",
            "type": "object"
          },
          "start_at": {
            "description": "The start time of the discount period.",
            "type": "string",
            "format": "date-time"
          },
          "end_at": {
            "description": "The end time of the discount period (if applicable).",
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "type": "object"
      },
      "CurrencyAmount": {
        "description": "Currency amount with detailed components.",
        "properties": {
          "formatted": {
            "description": "Formatted currency value.",
            "type": "string"
          },
          "amount": {
            "description": "Plain amount.",
            "type": "number",
            "format": "float"
          },
          "currency_code": {
            "description": "Currency code.",
            "type": "string"
          },
          "currency_symbol": {
            "description": "Currency symbol.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CurrencyAmountNullable": {
        "description": "Currency amount with detailed components.",
        "properties": {
          "formatted": {
            "description": "Formatted currency value.",
            "type": "string"
          },
          "amount": {
            "description": "Plain amount.",
            "type": "number",
            "format": "float"
          },
          "currency_code": {
            "description": "Currency code.",
            "type": "string"
          },
          "currency_symbol": {
            "description": "Currency symbol.",
            "type": "string"
          }
        },
        "type": "object",
        "nullable": true
      },
      "OwnerInfo": {
        "description": "Project owner information that can be exposed to collaborators.",
        "properties": {
          "type": {
            "description": "Type of the owner, usually 'user'.",
            "type": "string"
          },
          "username": {
            "description": "The username of the owner.",
            "type": "string"
          },
          "display_name": {
            "description": "The full name of the owner.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SSHKey": {
        "description": "The ssh key object.",
        "properties": {
          "key_id": {
            "description": "The ID of the public key.",
            "type": "integer"
          },
          "uid": {
            "description": "The internal user ID.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "The fingerprint of the public key.",
            "type": "string"
          },
          "title": {
            "description": "The title of the public key.",
            "type": "string"
          },
          "value": {
            "description": "The actual value of the public key.",
            "type": "string"
          },
          "changed": {
            "description": "The time of the last key modification (ISO 8601)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Plan": {
        "description": "The hosting plan.",
        "properties": {
          "name": {
            "description": "The machine name of the plan.",
            "type": "string"
          },
          "label": {
            "description": "The human-readable name of the plan.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Region": {
        "description": "The hosting region.",
        "properties": {
          "id": {
            "description": "The ID of the region.",
            "type": "string"
          },
          "label": {
            "description": "The human-readable name of the region.",
            "type": "string"
          },
          "zone": {
            "description": "Geographical zone of the region",
            "type": "string"
          },
          "selection_label": {
            "description": "The label to display when choosing between regions for new projects.",
            "type": "string"
          },
          "project_label": {
            "description": "The label to display on existing projects.",
            "type": "string"
          },
          "timezone": {
            "description": "Default timezone of the region",
            "type": "string"
          },
          "available": {
            "description": "Indicator whether or not this region is selectable during the checkout. Not available regions will never show up during checkout.",
            "type": "boolean"
          },
          "private": {
            "description": "Indicator whether or not this platform is for private use only.",
            "type": "boolean"
          },
          "endpoint": {
            "description": "Link to the region API endpoint.",
            "type": "string"
          },
          "provider": {
            "description": "Information about the region provider.",
            "properties": {
              "name": {
                "type": "string"
              },
              "logo": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "datacenter": {
            "description": "Information about the region provider data center.",
            "properties": {
              "name": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "location": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "environmental_impact": {
            "description": "Information about the region provider's environmental impact.",
            "properties": {
              "zone": {
                "type": "string"
              },
              "carbon_intensity": {
                "type": "string"
              },
              "green": {
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Subscription": {
        "description": "The subscription object.",
        "properties": {
          "id": {
            "description": "The internal ID of the subscription.",
            "type": "string"
          },
          "status": {
            "description": "The status of the subscription.",
            "type": "string",
            "enum": [
              "requested",
              "provisioning failure",
              "provisioning",
              "active",
              "suspended",
              "deleted"
            ]
          },
          "created_at": {
            "description": "The date and time when the subscription was created.",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "description": "The date and time when the subscription was last updated.",
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "description": "The UUID of the owner.",
            "type": "string",
            "format": "uuid"
          },
          "owner_info": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "vendor": {
            "description": "The machine name of the vendor the subscription belongs to.",
            "type": "string"
          },
          "plan": {
            "description": "The plan type of the subscription.",
            "type": "string"
          },
          "environments": {
            "description": "The number of environments which can be provisioned on the project.",
            "type": "integer"
          },
          "storage": {
            "description": "The total storage available to each environment, in MiB. Only multiples of 1024 are accepted as legal values.",
            "type": "integer"
          },
          "user_licenses": {
            "description": "The number of chargeable users who currently have access to the project. Manage this value by adding and removing users through the Platform project API. Staff and billing/administrative contacts can be added to a project for no charge. Contact support for questions about user licenses.",
            "type": "integer"
          },
          "project_id": {
            "description": "The unique ID string of the project.",
            "type": "string"
          },
          "project_endpoint": {
            "description": "The project API endpoint for the project.",
            "type": "string"
          },
          "project_title": {
            "description": "The name given to the project. Appears as the title in the UI.",
            "type": "string"
          },
          "project_region": {
            "description": "The machine name of the region where the project is located. Cannot be changed after project creation.",
            "type": "string"
          },
          "project_region_label": {
            "description": "The human-readable name of the region where the project is located.",
            "type": "string"
          },
          "project_ui": {
            "description": "The URL for the project's user interface.",
            "type": "string"
          },
          "project_options": {
            "$ref": "#/components/schemas/ProjectOptions"
          },
          "agency_site": {
            "description": "True if the project is an agency site.",
            "type": "boolean"
          },
          "invoiced": {
            "description": "Whether the subscription is invoiced.",
            "type": "boolean"
          },
          "hipaa": {
            "description": "Whether the project is marked as HIPAA.",
            "type": "boolean"
          },
          "is_trial_plan": {
            "description": "Whether the project is currently on a trial plan.",
            "type": "boolean"
          },
          "services": {
            "description": "Details of the attached services.",
            "type": "array",
            "items": {
              "description": "Details of a service",
              "type": "object"
            }
          },
          "green": {
            "description": "Whether the subscription is considered green (on a green region, belonging to a green vendor) for billing purposes.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ProjectOptions": {
        "description": "The project options object.",
        "properties": {
          "defaults": {
            "description": "The initial values applied to the project.",
            "properties": {
              "settings": {
                "description": "The project settings.",
                "type": "object"
              },
              "variables": {
                "description": "The project variables.",
                "type": "object"
              },
              "access": {
                "description": "The project access list.",
                "type": "object"
              },
              "capabilities": {
                "description": "The project capabilities.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "enforced": {
            "description": "The enforced values applied to the project.",
            "properties": {
              "settings": {
                "description": "The project settings.",
                "type": "object"
              },
              "capabilities": {
                "description": "The project capabilities.",
                "type": "object"
              }
            },
            "type": "object"
          },
          "regions": {
            "description": "The available regions.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "plans": {
            "description": "The available plans.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "billing": {
            "description": "The billing settings.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "SubscriptionCurrentUsageObject": {
        "description": "A subscription's usage group current usage object.",
        "properties": {
          "cpu_app": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "storage_app_services": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "memory_app": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "cpu_services": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "memory_services": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "backup_storage": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "build_cpu": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "build_memory": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "egress_bandwidth": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "ingress_requests": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "logs_fwd_content_size": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "fastly_bandwidth": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          },
          "fastly_requests": {
            "$ref": "#/components/schemas/UsageGroupCurrentUsageProperties"
          }
        },
        "type": "object"
      },
      "UsageGroupCurrentUsageProperties": {
        "description": "Current usage info for a usage group.",
        "properties": {
          "title": {
            "description": "The title of the usage group.",
            "type": "string"
          },
          "type": {
            "description": "The usage group type.",
            "type": "boolean"
          },
          "current_usage": {
            "description": "The value of current usage for the group.",
            "type": "number"
          },
          "current_usage_formatted": {
            "description": "The formatted value of current usage for the group.",
            "type": "string"
          },
          "not_charged": {
            "description": "Whether the group is not charged for the subscription.",
            "type": "boolean"
          },
          "free_quantity": {
            "description": "The amount of free usage for the group.",
            "type": "number"
          },
          "free_quantity_formatted": {
            "description": "The formatted amount of free usage for the group.",
            "type": "string"
          },
          "daily_average": {
            "description": "The daily average usage calculated for the group.",
            "type": "number"
          },
          "daily_average_formatted": {
            "description": "The formatted daily average usage calculated for the group.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "HalLinks": {
        "description": "Links to _self, and previous or next page, given that they exist.",
        "properties": {
          "self": {
            "description": "The cardinal link to the self resource.",
            "properties": {
              "title": {
                "description": "Title of the link",
                "type": "string"
              },
              "href": {
                "description": "URL of the link",
                "type": "string"
              }
            },
            "type": "object"
          },
          "previous": {
            "description": "The link to the previous resource page, given that it exists.",
            "properties": {
              "title": {
                "description": "Title of the link",
                "type": "string"
              },
              "href": {
                "description": "URL of the link",
                "type": "string"
              }
            },
            "type": "object"
          },
          "next": {
            "description": "The link to the next resource page, given that it exists.",
            "properties": {
              "title": {
                "description": "Title of the link",
                "type": "string"
              },
              "href": {
                "description": "URL of the link",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Profile": {
        "description": "The user profile.",
        "properties": {
          "id": {
            "description": "The user's unique ID.",
            "type": "string",
            "format": "uuid"
          },
          "display_name": {
            "description": "The user's display name.",
            "type": "string"
          },
          "email": {
            "description": "The user's email address.",
            "type": "string",
            "format": "email"
          },
          "username": {
            "description": "The user's username.",
            "type": "string"
          },
          "type": {
            "description": "The user's type (user/organization).",
            "type": "string",
            "enum": [
              "user",
              "organization"
            ]
          },
          "picture": {
            "description": "The URL of the user's picture.",
            "type": "string",
            "format": "url"
          },
          "company_type": {
            "description": "The company type.",
            "type": "string"
          },
          "company_name": {
            "description": "The name of the company.",
            "type": "string"
          },
          "currency": {
            "description": "A 3-letter ISO 4217 currency code (assigned according to the billing address).",
            "type": "string"
          },
          "vat_number": {
            "description": "The vat number of the user.",
            "type": "string"
          },
          "company_role": {
            "description": "The role of the user in the company.",
            "type": "string"
          },
          "website_url": {
            "description": "The user or company website.",
            "type": "string"
          },
          "new_ui": {
            "description": "Whether the new UI features are enabled for this user.",
            "type": "boolean"
          },
          "ui_colorscheme": {
            "description": "The user's chosen color scheme for user interfaces.",
            "type": "string"
          },
          "default_catalog": {
            "description": "The URL of a catalog file which overrides the default.",
            "type": "string"
          },
          "project_options_url": {
            "description": "The URL of an account-wide project options file.",
            "type": "string"
          },
          "marketing": {
            "description": "Flag if the user agreed to receive marketing communication.",
            "type": "boolean"
          },
          "created_at": {
            "description": "The timestamp representing when the user account was created.",
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "description": "The timestamp representing when the user account was last modified.",
            "type": "string",
            "format": "date-time"
          },
          "billing_contact": {
            "description": "The e-mail address of a contact to whom billing notices will be sent.",
            "type": "string",
            "format": "email"
          },
          "security_contact": {
            "description": "The e-mail address of a contact to whom security notices will be sent.",
            "type": "string",
            "format": "email"
          },
          "current_trial": {
            "description": "The current trial for the profile.",
            "properties": {
              "active": {
                "description": "The trial active status.",
                "type": "boolean"
              },
              "created": {
                "description": "The trial creation date.",
                "type": "string",
                "format": "date-time"
              },
              "description": {
                "description": "The trial description.",
                "type": "string"
              },
              "expiration": {
                "description": "The trial expiration-date.",
                "type": "string",
                "format": "date-time"
              },
              "current": {
                "description": "The total amount spent by the trial user at this point in time.",
                "properties": {
                  "formatted": {
                    "description": "The total amount formatted.",
                    "type": "string"
                  },
                  "amount": {
                    "description": "The total amount.",
                    "type": "string"
                  },
                  "currency": {
                    "description": "The currency.",
                    "type": "string"
                  },
                  "currency_symbol": {
                    "description": "Currency symbol.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "spend": {
                "description": "The total amount available for the trial.",
                "properties": {
                  "formatted": {
                    "description": "The total amount formatted.",
                    "type": "string"
                  },
                  "amount": {
                    "description": "The total amount.",
                    "type": "string"
                  },
                  "currency": {
                    "description": "The currency.",
                    "type": "string"
                  },
                  "currency_symbol": {
                    "description": "Currency symbol.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "spend_remaining": {
                "description": "The remaining amount available for the trial.",
                "properties": {
                  "formatted": {
                    "description": "The total amount formatted.",
                    "type": "string"
                  },
                  "amount": {
                    "description": "The total amount.",
                    "type": "string"
                  },
                  "currency": {
                    "description": "The currency.",
                    "type": "string"
                  },
                  "currency_symbol": {
                    "description": "Currency symbol.",
                    "type": "string"
                  },
                  "unlimited": {
                    "description": "Spend limit is ignored (in favor of resource limitations).",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "projects": {
                "description": "Projects active under trial",
                "properties": {
                  "id": {
                    "description": "Trial project ID",
                    "type": "string"
                  },
                  "name": {
                    "description": "Trial project name",
                    "type": "string"
                  },
                  "total": {
                    "properties": {
                      "amount": {
                        "description": "Trial project cost",
                        "type": "integer"
                      },
                      "currency_code": {
                        "description": "Currency code",
                        "type": "string"
                      },
                      "currency_symbol": {
                        "description": "Currency symbol",
                        "type": "string"
                      },
                      "formatted": {
                        "description": "Trial project cost formatted with currency sign",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "pending_verification": {
                "description": "Required verification method (if applicable).",
                "type": "string",
                "enum": [
                  "credit-card"
                ],
                "nullable": true,
                "deprecated": true
              },
              "model": {
                "description": "The trial trial model.",
                "type": "string"
              },
              "days_remaining": {
                "description": "The amount of days until the trial expires.",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "invoiced": {
            "description": "The customer is invoiced.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AddressMetadata": {
        "description": "Information about fields required to express an address.",
        "properties": {
          "metadata": {
            "description": "Address field metadata.",
            "properties": {
              "required_fields": {
                "description": "Fields required to express the address.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "field_labels": {
                "description": "Localized labels for address fields.",
                "type": "object"
              },
              "show_vat": {
                "description": "Whether this country supports a VAT number.",
                "type": "boolean"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Ticket": {
        "description": "The support ticket object.",
        "properties": {
          "ticket_id": {
            "description": "The ID of the ticket.",
            "type": "integer"
          },
          "created": {
            "description": "The time when the support ticket was created.",
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "description": "The time when the support ticket was updated.",
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "description": "A type of the ticket.",
            "type": "string",
            "enum": [
              "problem",
              "task",
              "incident",
              "question"
            ]
          },
          "subject": {
            "description": "A title of the ticket.",
            "type": "string"
          },
          "description": {
            "description": "The description body of the support ticket.",
            "type": "string"
          },
          "priority": {
            "description": "A priority of the ticket.",
            "type": "string",
            "enum": [
              "low",
              "normal",
              "high",
              "urgent"
            ]
          },
          "followup_tid": {
            "description": "Followup ticket ID. The unique ID of the ticket which this ticket is a follow-up to.",
            "type": "string"
          },
          "status": {
            "description": "The status of the support ticket.",
            "type": "string",
            "enum": [
              "closed",
              "deleted",
              "hold",
              "new",
              "open",
              "pending",
              "solved"
            ]
          },
          "recipient": {
            "description": "Email address of the ticket recipient, defaults to support@platform.sh.",
            "type": "string"
          },
          "requester_id": {
            "description": "UUID of the ticket requester.",
            "type": "string",
            "format": "uuid"
          },
          "submitter_id": {
            "description": "UUID of the ticket submitter.",
            "type": "string",
            "format": "uuid"
          },
          "assignee_id": {
            "description": "UUID of the ticket assignee.",
            "type": "string",
            "format": "uuid"
          },
          "organization_id": {
            "description": "A reference id that is usable to find the commerce license.",
            "type": "string"
          },
          "collaborator_ids": {
            "description": "A list of the collaborators uuids for this ticket.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "has_incidents": {
            "description": "Whether or not this ticket has incidents.",
            "type": "boolean"
          },
          "due": {
            "description": "A time that the ticket is due at.",
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "description": "A list of tags assigned to the ticket.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "subscription_id": {
            "description": "The internal ID of the subscription.",
            "type": "string"
          },
          "ticket_group": {
            "description": "Maps to zendesk field 'Request group'.",
            "type": "string"
          },
          "support_plan": {
            "description": "Maps to zendesk field 'The support plan associated with this ticket.",
            "type": "string"
          },
          "affected_url": {
            "description": "The affected URL associated with the support ticket.",
            "type": "string",
            "format": "url"
          },
          "queue": {
            "description": "The queue the support ticket is in.",
            "type": "string"
          },
          "issue_type": {
            "description": "The issue type of the support ticket.",
            "type": "string"
          },
          "resolution_time": {
            "description": "Maps to zendesk field 'Resolution Time'.",
            "type": "string",
            "format": "date-time"
          },
          "response_time": {
            "description": "Maps to zendesk field 'Response Time (time from request to reply).",
            "type": "string",
            "format": "date-time"
          },
          "project_url": {
            "description": "Maps to zendesk field 'Project URL'.",
            "type": "string",
            "format": "url"
          },
          "region": {
            "description": "Maps to zendesk field 'Region'.",
            "type": "string"
          },
          "category": {
            "description": "Maps to zendesk field 'Category'.",
            "type": "string",
            "enum": [
              "access",
              "billing_question",
              "complaint",
              "compliance_question",
              "configuration_change",
              "general_question",
              "incident_outage",
              "bug_report",
              "onboarding",
              "report_a_gui_bug",
              "close_my_account"
            ]
          },
          "environment": {
            "description": "Maps to zendesk field 'Environment'.",
            "type": "string",
            "enum": [
              "env_development",
              "env_staging",
              "env_production"
            ]
          },
          "ticket_sharing_status": {
            "description": "Maps to zendesk field 'Ticket Sharing Status'.",
            "type": "string",
            "enum": [
              "ts_sent_to_platform",
              "ts_accepted_by_platform",
              "ts_returned_from_platform",
              "ts_solved_by_platform",
              "ts_rejected_by_platform"
            ]
          },
          "application_ticket_url": {
            "description": "Maps to zendesk field 'Application Ticket URL'.",
            "type": "string",
            "format": "url"
          },
          "infrastructure_ticket_url": {
            "description": "Maps to zendesk field 'Infrastructure Ticket URL'.",
            "type": "string",
            "format": "url"
          },
          "jira": {
            "description": "A list of JIRA issues related to the support ticket.",
            "type": "array",
            "items": {
              "properties": {
                "id": {
                  "description": "The id of the query.",
                  "type": "integer"
                },
                "ticket_id": {
                  "description": "The id of the ticket.",
                  "type": "integer"
                },
                "issue_id": {
                  "description": "The issue id number.",
                  "type": "integer"
                },
                "issue_key": {
                  "description": "The issue key.",
                  "type": "string"
                },
                "created_at": {
                  "description": "The created at timestamp.",
                  "type": "number",
                  "format": "float"
                },
                "updated_at": {
                  "description": "The updated at timestamp.",
                  "type": "number",
                  "format": "float"
                }
              },
              "type": "object"
            }
          },
          "zd_ticket_url": {
            "description": "URL to the customer-facing ticket in Zendesk.",
            "type": "string",
            "format": "url"
          }
        },
        "type": "object"
      },
      "CurrentUser": {
        "description": "The user object.",
        "properties": {
          "id": {
            "description": "The UUID of the owner.",
            "type": "string",
            "format": "uuid"
          },
          "uuid": {
            "description": "The UUID of the owner.",
            "type": "string",
            "format": "uuid"
          },
          "username": {
            "description": "The username of the owner.",
            "type": "string"
          },
          "display_name": {
            "description": "The full name of the owner.",
            "type": "string"
          },
          "status": {
            "description": "Status of the user. 0 = blocked; 1 = active.",
            "type": "integer"
          },
          "mail": {
            "description": "The email address of the owner.",
            "type": "string",
            "format": "email"
          },
          "ssh_keys": {
            "description": "The list of user's public SSH keys.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSHKey"
            }
          },
          "has_key": {
            "description": "The indicator whether the user has a public ssh key on file or not.",
            "type": "boolean"
          },
          "projects": {
            "type": "array",
            "items": {
              "properties": {
                "id": {
                  "description": "The unique ID string of the project.",
                  "type": "string"
                },
                "name": {
                  "description": "The name given to the project. Appears as the title in the user interface.",
                  "type": "string"
                },
                "title": {
                  "description": "The name given to the project. Appears as the title in the user interface.",
                  "type": "string"
                },
                "cluster": {
                  "description": "The machine name of the region where the project is located. Cannot be changed after project creation.",
                  "type": "string"
                },
                "cluster_label": {
                  "description": "The human-readable name of the region where the project is located.",
                  "type": "string"
                },
                "region": {
                  "description": "The machine name of the region where the project is located. Cannot be changed after project creation.",
                  "type": "string"
                },
                "region_label": {
                  "description": "The human-readable name of the region where the project is located.",
                  "type": "string"
                },
                "uri": {
                  "description": "The URL for the project's user interface.",
                  "type": "string"
                },
                "endpoint": {
                  "description": "The project API endpoint for the project.",
                  "type": "string"
                },
                "license_id": {
                  "description": "The ID of the subscription.",
                  "type": "integer"
                },
                "owner": {
                  "description": "The UUID of the owner.",
                  "type": "string",
                  "format": "uuid"
                },
                "owner_info": {
                  "$ref": "#/components/schemas/OwnerInfo"
                },
                "plan": {
                  "description": "The plan type of the subscription.",
                  "type": "string"
                },
                "subscription_id": {
                  "description": "The ID of the subscription.",
                  "type": "integer"
                },
                "status": {
                  "description": "The status of the project.",
                  "type": "string"
                },
                "vendor": {
                  "description": "The machine name of the vendor the subscription belongs to.",
                  "type": "string"
                },
                "vendor_label": {
                  "description": "The machine name of the vendor the subscription belongs to.",
                  "type": "string"
                },
                "vendor_website": {
                  "description": "The URL of the vendor the subscription belongs to.",
                  "type": "string",
                  "format": "url"
                },
                "vendor_resources": {
                  "description": "The link to the resources of the vendor the subscription belongs to.",
                  "type": "string"
                },
                "created_at": {
                  "description": "The creation date of the subscription.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "type": "object"
            }
          },
          "sequence": {
            "description": "The sequential ID of the user.",
            "type": "integer"
          },
          "roles": {
            "type": "array",
            "items": {
              "description": "The user role name.",
              "type": "string"
            }
          },
          "picture": {
            "description": "The URL of the user image.",
            "type": "string",
            "format": "url"
          },
          "tickets": {
            "description": "Number of support tickets by status.",
            "type": "object"
          },
          "trial": {
            "description": "The indicator whether the user is in trial or not.",
            "type": "boolean"
          },
          "current_trial": {
            "type": "array",
            "items": {
              "properties": {
                "created": {
                  "description": "The ISO timestamp of the trial creation date time.",
                  "type": "string",
                  "format": "date-time"
                },
                "description": {
                  "description": "The human readable trial description",
                  "type": "string"
                },
                "spend_remaining": {
                  "description": "Total spend amount of the voucher minus existing project costs for the existing billing cycle.",
                  "type": "string"
                },
                "expiration": {
                  "description": "Date the trial expires.",
                  "type": "string",
                  "format": "date-time"
                }
              },
              "type": "object"
            }
          }
        },
        "type": "object"
      },
      "OrganizationInvitation": {
        "title": "OrganizationInvitation",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the invitation."
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "accepted",
              "cancelled",
              "error"
            ],
            "description": "The invitation state."
          },
          "organization_id": {
            "type": "string",
            "description": "The ID of the organization."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The email address of the invitee."
          },
          "owner": {
            "type": "object",
            "description": "The inviter.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The ID of the user."
              },
              "display_name": {
                "type": "string",
                "description": "The user's display name."
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "The date and time when the invitation was created.",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the invitation was last updated."
          },
          "finished_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the invitation was finished.",
            "nullable": true
          },
          "permissions": {
            "$ref": "#/components/schemas/OrganizationPermissions"
          }
        },
        "x-examples": {
          "example-1": {
            "id": "97f46eca-6276-4993-bfeb-bbb53cba6f08",
            "state": "pending",
            "organization_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
            "email": "bob@example.com",
            "owner": {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "display_name": "Alice"
            },
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z",
            "finished_at": null,
            "permissions": [
              "members"
            ]
          }
        }
      },
      "OrganizationPermissions": {
        "type": "array",
        "description": "The permissions the invitee should be given on the organization.",
        "items": {
          "type": "string",
          "enum": [
            "admin",
            "billing",
            "plans",
            "members",
            "project:create",
            "projects:list"
          ]
        }
      },
      "ProjectInvitation": {
        "title": "",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the invitation."
          },
          "state": {
            "type": "string",
            "enum": [
              "pending",
              "processing",
              "accepted",
              "cancelled",
              "error"
            ],
            "description": "The invitation state."
          },
          "project_id": {
            "type": "string",
            "description": "The ID of the project."
          },
          "role": {
            "type": "string",
            "enum": [
              "admin",
              "viewer"
            ],
            "description": "The project role."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The email address of the invitee."
          },
          "owner": {
            "type": "object",
            "description": "The inviter.",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "The ID of the user."
              },
              "display_name": {
                "type": "string",
                "description": "The user's display name."
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the invitation was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the invitation was last updated."
          },
          "finished_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the invitation was finished."
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The ID of the environment."
                },
                "type": {
                  "type": "string",
                  "description": "The environment type."
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "admin",
                    "viewer",
                    "contributor"
                  ],
                  "description": "The environment role."
                },
                "title": {
                  "type": "string",
                  "description": "The environment title."
                }
              }
            }
          }
        },
        "x-examples": {
          "example-1": {
            "id": "97f46eca-6276-4993-bfeb-bbb53cba6f08",
            "state": "pending",
            "project_id": "652soceglkw4u",
            "role": "admin",
            "email": "bob@example.com",
            "owner": {
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "display_name": "Alice"
            },
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z",
            "finished_at": null,
            "environments": []
          }
        }
      },
      "User": {
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user."
          },
          "deactivated": {
            "type": "boolean",
            "description": "Whether the user has been deactivated."
          },
          "namespace": {
            "type": "string",
            "description": "The namespace in which the user's username is unique."
          },
          "username": {
            "type": "string",
            "description": "The user's username."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The user's email address."
          },
          "email_verified": {
            "type": "boolean",
            "description": "Whether the user's email address has been verified."
          },
          "first_name": {
            "type": "string",
            "description": "The user's first name."
          },
          "last_name": {
            "type": "string",
            "description": "The user's last name."
          },
          "picture": {
            "type": "string",
            "format": "uri",
            "description": "The user's picture."
          },
          "company": {
            "type": "string",
            "description": "The user's company."
          },
          "website": {
            "type": "string",
            "format": "uri",
            "description": "The user's website."
          },
          "country": {
            "type": "string",
            "maxLength": 2,
            "minLength": 2,
            "description": "The user's ISO 3166-1 alpha-2 country code."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the user was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the user was last updated."
          },
          "consented_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the user consented to the Terms of Service."
          },
          "consent_method": {
            "type": "string",
            "description": "The method by which the user consented to the Terms of Service.",
            "enum": [
              "opt-in",
              "text-ref"
            ]
          }
        },
        "required": [
          "id",
          "deactivated",
          "namespace",
          "username",
          "email",
          "email_verified",
          "first_name",
          "last_name",
          "picture",
          "company",
          "website",
          "country",
          "created_at",
          "updated_at"
        ],
        "x-examples": {
          "example-1": {
            "company": "Platform.sh SAS",
            "country": "FR",
            "created_at": "2010-04-19T10:00:00Z",
            "deactivated": false,
            "email": "hello@platform.sh",
            "email_verified": true,
            "first_name": "Hello",
            "id": "d81c8ee2-44b3-429f-b944-a33ad7437690",
            "last_name": "World",
            "namespace": "platformsh",
            "picture": "https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png",
            "updated_at": "2021-01-27T13:58:38.06968Z",
            "username": "platform-sh",
            "website": "https://platform.sh",
            "consented_at": "2010-04-19T10:00:00Z",
            "consent_method": "opt-in"
          }
        }
      },
      "Error": {
        "description": "",
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "code": {
            "type": "number"
          },
          "detail": {
            "type": "object"
          },
          "title": {
            "type": "string"
          }
        },
        "title": "",
        "x-examples": {
          "example-1": {
            "status": "Invalid input",
            "message": "This field is required.",
            "code": 400,
            "detail": {
              "field": [
                "This field is required."
              ]
            },
            "title": "Bad Request"
          }
        }
      },
      "ListLinks": {
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/Link"
          },
          "previous": {
            "$ref": "#/components/schemas/Link"
          },
          "next": {
            "$ref": "#/components/schemas/Link"
          }
        }
      },
      "Link": {
        "type": "object",
        "title": "Link",
        "description": "A hypermedia link to the {current, next, previous} set of items.",
        "properties": {
          "href": {
            "type": "string",
            "description": "URL of the link"
          }
        }
      },
      "APIToken": {
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the token."
          },
          "name": {
            "type": "string",
            "description": "The token name."
          },
          "mfa_on_creation": {
            "type": "boolean",
            "description": "Whether the user had multi-factor authentication (MFA) enabled when they created the token."
          },
          "token": {
            "type": "string",
            "description": "The token in plain text (available only when created)."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the token was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the token was last updated."
          },
          "last_used_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The date and time when the token was last exchanged for an access token. This will be <code>null</code> for a token which has never been used, or not used since this API property was added. <strong>Note:</strong> After an API token is used, the derived access token may continue to be used until its expiry. This also applies to SSH certificate(s) derived from the access token.\n"
          }
        },
        "x-examples": {
          "example-1": {
            "created_at": "2019-01-29T08:17:47Z",
            "id": "660aa36d-23cf-402b-8889-63af71967f2b",
            "name": "Token for CI",
            "updated_at": "2019-01-29T08:17:47Z"
          }
        }
      },
      "Connection": {
        "description": "",
        "type": "object",
        "properties": {
          "provider": {
            "type": "string",
            "description": "The name of the federation provider."
          },
          "provider_type": {
            "type": "string",
            "description": "The type of the federation provider."
          },
          "is_mandatory": {
            "type": "boolean",
            "description": "Whether the federated login connection is mandatory."
          },
          "subject": {
            "type": "string",
            "description": "The identity on the federation provider."
          },
          "email_address": {
            "type": "string",
            "description": "The email address presented on the federated login connection."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the connection was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the connection was last updated."
          }
        },
        "x-examples": {
          "example-1": {
            "created_at": "2021-05-24T07:20:35.683264Z",
            "provider": "acme-inc-oidc",
            "provider_type": "okta",
            "subject": "1621840835647277693",
            "email_address": "name@example.com",
            "updated_at": "2021-05-24T07:20:35.683264Z"
          }
        }
      },
      "OrganizationMFAEnforcement": {
        "description": "The MFA enforcement for the organization.",
        "type": "object",
        "properties": {
          "enforce_mfa": {
            "type": "boolean",
            "description": "Whether the MFA enforcement is enabled."
          }
        },
        "x-examples": {
          "example-1": {
            "enforce_mfa": true
          }
        }
      },
      "OrganizationSSOConfig": {
        "description": "The SSO configuration for the organization.",
        "type": "object",
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/GoogleSSOConfig"
              }
            ]
          },
          {
            "type": "object",
            "properties": {
              "organization_id": {
                "type": "string",
                "description": "Organization ID."
              },
              "enforced": {
                "type": "boolean",
                "description": "Whether the configuration is enforced for all the organization members."
              },
              "created_at": {
                "type": "string",
                "description": "The date and time when the SSO configuration was created.",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time",
                "description": "The date and time when the SSO configuration was last updated."
              }
            }
          }
        ],
        "x-examples": {
          "example-1": {
            "organization_id": "01EY8BWRSQ56EY1TDC32PARAJS",
            "provider_type": "google",
            "domain": "example.com",
            "enforced": true,
            "created_at": "2021-05-24T07:20:35.683264Z",
            "updated_at": "2021-05-24T07:20:35.683264Z"
          }
        }
      },
      "GoogleSSOConfig": {
        "type": "object",
        "title": "GoogleSSO",
        "properties": {
          "provider_type": {
            "type": "string",
            "description": "SSO provider type.",
            "enum": [
              "google"
            ]
          },
          "domain": {
            "type": "string",
            "description": "Google hosted domain."
          }
        }
      },
      "Team": {
        "description": "",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the team."
          },
          "organization_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the parent organization."
          },
          "label": {
            "type": "string",
            "description": "The human-readable label of the team."
          },
          "project_permissions": {
            "type": "array",
            "description": "Project permissions that are granted to the team.",
            "items": {
              "type": "string",
              "enum": [
                "admin",
                "viewer",
                "development:admin",
                "development:contributor",
                "development:viewer",
                "staging:admin",
                "staging:contributor",
                "staging:viewer",
                "production:admin",
                "production:contributor",
                "production:viewer"
              ]
            }
          },
          "counts": {
            "type": "object",
            "properties": {
              "member_count": {
                "type": "integer",
                "description": "Total count of members of the team."
              },
              "project_count": {
                "type": "integer",
                "description": "Total count of projects that the team has access to."
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team was last updated."
          }
        },
        "x-examples": {
          "example-1": {
            "id": "01FVMKN9KHVWWVY488AVKDWHR3",
            "organization_id": "01EY8BWRSQ56EY1TDC32PARAJS",
            "counts": {
              "member_count": 12,
              "project_count": 5
            },
            "label": "Contractors",
            "created_at": "2021-05-24T07:20:35.683264Z",
            "updated_at": "2021-05-24T07:20:35.683264Z",
            "project_permissions": [
              "viewer",
              "staging:contributor",
              "development:admin"
            ]
          }
        }
      },
      "TeamMember": {
        "type": "object",
        "properties": {
          "team_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the team."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team member was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team member was last updated."
          }
        }
      },
      "UserReference": {
        "description": "The referenced user, or null if it no longer exists.",
        "type": "object",
        "nullable": true,
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user."
          },
          "username": {
            "type": "string",
            "description": "The user's username."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "The user's email address."
          },
          "first_name": {
            "type": "string",
            "description": "The user's first name."
          },
          "last_name": {
            "type": "string",
            "description": "The user's last name."
          },
          "picture": {
            "type": "string",
            "format": "uri",
            "description": "The user's picture."
          },
          "mfa_enabled": {
            "type": "boolean",
            "description": "Whether the user has enabled MFA. Note: the built-in MFA feature may not be necessary if the user is linked to a mandatory SSO provider that itself supports MFA (see \"sso_enabled\\\")."
          },
          "sso_enabled": {
            "type": "boolean",
            "description": "Whether the user is linked to a mandatory SSO provider."
          }
        },
        "x-examples": {
          "example-1": {
            "email": "hello@platform.sh",
            "first_name": "Hello",
            "id": "d81c8ee2-44b3-429f-b944-a33ad7437690",
            "last_name": "World",
            "picture": "https://accounts.platform.sh/profiles/blimp_profile/themes/platformsh_theme/images/mail/logo.png",
            "username": "platform-sh",
            "mfa_enabled": true,
            "sso_enabled": true
          }
        }
      },
      "TeamReference": {
        "description": "The referenced team, or null if it no longer exists.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the team."
          },
          "organization_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the parent organization."
          },
          "label": {
            "type": "string",
            "description": "The human-readable label of the team."
          },
          "project_permissions": {
            "type": "array",
            "description": "Project permissions that are granted to the team.",
            "items": {
              "type": "string",
              "enum": [
                "admin",
                "viewer",
                "development:admin",
                "development:contributor",
                "development:viewer",
                "staging:admin",
                "staging:contributor",
                "staging:viewer",
                "production:admin",
                "production:contributor",
                "production:viewer"
              ]
            }
          },
          "counts": {
            "type": "object",
            "properties": {
              "member_count": {
                "type": "integer",
                "description": "Total count of members of the team."
              },
              "project_count": {
                "type": "integer",
                "description": "Total count of projects that the team has access to."
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the team was last updated."
          }
        },
        "x-examples": {
          "example-1": {
            "id": "01FVMKN9KHVWWVY488AVKDWHR3",
            "organization_id": "01EY8BWRSQ56EY1TDC32PARAJS",
            "counts": {
              "member_count": 12,
              "project_count": 5
            },
            "label": "Contractors",
            "project_permissions": [
              "viewer",
              "staging:contributor",
              "development:admin"
            ],
            "created_at": "2021-05-24T07:20:35.683264Z",
            "updated_at": "2021-05-24T07:20:35.683264Z"
          }
        }
      },
      "DateTimeFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "description": "Equal"
          },
          "ne": {
            "type": "string",
            "description": "Not equal"
          },
          "between": {
            "type": "string",
            "description": "Between (comma-separated list)"
          },
          "gt": {
            "type": "string",
            "description": "Greater than"
          },
          "gte": {
            "type": "string",
            "description": "Greater than or equal"
          },
          "lt": {
            "type": "string",
            "description": "Less than"
          },
          "lte": {
            "type": "string",
            "description": "Less than or equal"
          }
        }
      },
      "StringFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "description": "Equal"
          },
          "ne": {
            "type": "string",
            "description": "Not equal"
          },
          "in": {
            "type": "string",
            "description": "In (comma-separated list)"
          },
          "nin": {
            "type": "string",
            "description": "Not in (comma-separated list)"
          },
          "between": {
            "type": "string",
            "description": "Between (comma-separated list)"
          },
          "contains": {
            "type": "string",
            "description": "Contains"
          },
          "starts": {
            "type": "string",
            "description": "Starts with"
          },
          "ends": {
            "type": "string",
            "description": "Ends with"
          }
        }
      },
      "AcceptedResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "title": "The status text of the response"
          },
          "code": {
            "type": "integer",
            "title": "The status code of the response"
          }
        },
        "required": [
          "status",
          "code"
        ],
        "additionalProperties": false
      },
      "Activity": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "parameters": {
            "type": "object",
            "title": "Parameters"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "integration": {
            "type": "string",
            "title": "Integration"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Environments"
          },
          "state": {
            "type": "string",
            "enum": [
              "cancelled",
              "complete",
              "in_progress",
              "pending",
              "scheduled",
              "staged"
            ],
            "title": "State"
          },
          "result": {
            "type": "string",
            "enum": [
              "failure",
              "success"
            ],
            "nullable": true,
            "title": "Result"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Start date"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Completion date"
          },
          "completion_percent": {
            "type": "integer",
            "title": "Completion percentage"
          },
          "cancelled_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Cancellation date"
          },
          "timings": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "float"
            },
            "title": "Timings related to different phases of the activity"
          },
          "log": {
            "type": "string",
            "title": "Log",
            "deprecated": true,
            "x-stability": "DEPRECATED"
          },
          "payload": {
            "type": "object",
            "title": "Payload"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "title": "The description of the activity, formatted with HTML"
          },
          "text": {
            "type": "string",
            "nullable": true,
            "title": "The description of the activity, formatted as plain text"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "The date at which the activity will expire."
          },
          "commands": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "app": {
                  "type": "string",
                  "title": "Application"
                },
                "type": {
                  "type": "string",
                  "title": "Type"
                },
                "exit_code": {
                  "type": "integer",
                  "title": "Exit status code"
                }
              },
              "required": [
                "app",
                "type",
                "exit_code"
              ],
              "additionalProperties": false
            },
            "title": "Commands"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "parameters",
          "project",
          "state",
          "result",
          "started_at",
          "completed_at",
          "completion_percent",
          "cancelled_at",
          "timings",
          "log",
          "payload",
          "description",
          "text",
          "expires_at",
          "commands"
        ],
        "additionalProperties": false
      },
      "ActivityCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Activity"
        }
      },
      "Backup": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "id": {
            "type": "string",
            "title": "The backup name/id (used for purging)"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "status": {
            "type": "string",
            "enum": [
              "CREATED",
              "DELETING"
            ],
            "title": "The status of the backup"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Expiration date of the backup"
          },
          "index": {
            "type": "integer",
            "nullable": true,
            "title": "The index of this automated backup"
          },
          "commit_id": {
            "type": "string",
            "title": "The ID of the code commit attached to the backup"
          },
          "environment": {
            "type": "string",
            "title": "The environment the backup belongs to"
          },
          "safe": {
            "type": "boolean",
            "title": "Whether this backup was taken in a safe way"
          },
          "size_of_volumes": {
            "type": "integer",
            "nullable": true,
            "title": "Total size of volumes backed up"
          },
          "size_used": {
            "type": "integer",
            "nullable": true,
            "title": "Total size of space used on volumes backed up"
          },
          "deployment": {
            "type": "string",
            "nullable": true,
            "title": "The current deployment at the time of backup."
          },
          "restorable": {
            "type": "boolean",
            "title": "Whether the backup is restorable"
          },
          "automated": {
            "type": "boolean",
            "title": "Whether the backup is automated"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "id",
          "attributes",
          "status",
          "expires_at",
          "index",
          "commit_id",
          "environment",
          "safe",
          "size_of_volumes",
          "size_used",
          "deployment",
          "restorable",
          "automated"
        ],
        "additionalProperties": false
      },
      "BackupCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Backup"
        }
      },
      "BitbucketIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "app_credentials": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "title": "The OAuth consumer key."
              }
            },
            "required": [
              "key"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The OAuth2 consumer information (optional)."
          },
          "addon_credentials": {
            "type": "object",
            "properties": {
              "addon_key": {
                "type": "string",
                "title": "The addon key (public identifier)."
              },
              "client_key": {
                "type": "string",
                "title": "The client key (public identifier)."
              }
            },
            "required": [
              "addon_key",
              "client_key"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The addon credential information (optional)."
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          },
          "resync_pull_requests": {
            "type": "boolean",
            "title": "Whether or not pull request environment data should be re-synced on every build."
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "fetch_branches",
          "prune_branches",
          "environment_init_resources",
          "repository",
          "build_pull_requests",
          "pull_requests_clone_parent_data",
          "resync_pull_requests"
        ],
        "additionalProperties": false
      },
      "BitbucketIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "app_credentials": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "title": "The OAuth consumer key."
              },
              "secret": {
                "type": "string",
                "title": "The OAuth consumer secret."
              }
            },
            "required": [
              "key",
              "secret"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The OAuth2 consumer information (optional)."
          },
          "addon_credentials": {
            "type": "object",
            "properties": {
              "addon_key": {
                "type": "string",
                "title": "The addon key (public identifier)."
              },
              "client_key": {
                "type": "string",
                "title": "The client key (public identifier)."
              },
              "shared_secret": {
                "type": "string",
                "title": "The secret of the client."
              }
            },
            "required": [
              "addon_key",
              "client_key",
              "shared_secret"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The addon credential information (optional)."
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          },
          "resync_pull_requests": {
            "type": "boolean",
            "title": "Whether or not pull request environment data should be re-synced on every build."
          }
        },
        "required": [
          "type",
          "repository"
        ],
        "additionalProperties": false
      },
      "BitbucketIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "app_credentials": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "title": "The OAuth consumer key."
              },
              "secret": {
                "type": "string",
                "title": "The OAuth consumer secret."
              }
            },
            "required": [
              "key",
              "secret"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The OAuth2 consumer information (optional)."
          },
          "addon_credentials": {
            "type": "object",
            "properties": {
              "addon_key": {
                "type": "string",
                "title": "The addon key (public identifier)."
              },
              "client_key": {
                "type": "string",
                "title": "The client key (public identifier)."
              },
              "shared_secret": {
                "type": "string",
                "title": "The secret of the client."
              }
            },
            "required": [
              "addon_key",
              "client_key",
              "shared_secret"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The addon credential information (optional)."
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          },
          "resync_pull_requests": {
            "type": "boolean",
            "title": "Whether or not pull request environment data should be re-synced on every build."
          }
        },
        "required": [
          "type",
          "repository"
        ],
        "additionalProperties": false
      },
      "BitbucketServerIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "url": {
            "type": "string",
            "title": "The base URL of the Bitbucket Server installation."
          },
          "username": {
            "type": "string",
            "title": "The Bitbucket Server user."
          },
          "project": {
            "type": "string",
            "title": "The Bitbucket Server project"
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket Server repository"
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "fetch_branches",
          "prune_branches",
          "environment_init_resources",
          "url",
          "username",
          "project",
          "repository",
          "build_pull_requests",
          "pull_requests_clone_parent_data"
        ],
        "additionalProperties": false
      },
      "BitbucketServerIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "url": {
            "type": "string",
            "title": "The base URL of the Bitbucket Server installation."
          },
          "username": {
            "type": "string",
            "title": "The Bitbucket Server user."
          },
          "token": {
            "type": "string",
            "title": "The Bitbucket Server personal access token."
          },
          "project": {
            "type": "string",
            "title": "The Bitbucket Server project"
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket Server repository"
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "type",
          "url",
          "username",
          "token",
          "project",
          "repository"
        ],
        "additionalProperties": false
      },
      "BitbucketServerIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "url": {
            "type": "string",
            "title": "The base URL of the Bitbucket Server installation."
          },
          "username": {
            "type": "string",
            "title": "The Bitbucket Server user."
          },
          "token": {
            "type": "string",
            "title": "The Bitbucket Server personal access token."
          },
          "project": {
            "type": "string",
            "title": "The Bitbucket Server project"
          },
          "repository": {
            "type": "string",
            "title": "The Bitbucket Server repository"
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "type",
          "url",
          "username",
          "token",
          "project",
          "repository"
        ],
        "additionalProperties": false
      },
      "BlackfireIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "environments_credentials": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "server_uuid": {
                  "type": "string",
                  "title": "Environment server UUID"
                },
                "server_token": {
                  "type": "string",
                  "title": "Environment server token"
                }
              },
              "required": [
                "server_uuid",
                "server_token"
              ],
              "additionalProperties": false
            },
            "title": "Blackfire environments credentials"
          },
          "continuous_profiling": {
            "type": "boolean",
            "title": "Whether continuous profiling is enabled for the project"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "environments_credentials",
          "continuous_profiling"
        ],
        "additionalProperties": false
      },
      "BlackfireIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "BlackfireIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "Blob": {
        "type": "object",
        "properties": {
          "sha": {
            "type": "string",
            "title": "The identifier of the tag"
          },
          "size": {
            "type": "integer",
            "title": "The size of the blob"
          },
          "encoding": {
            "type": "string",
            "enum": [
              "base64",
              "utf-8"
            ],
            "title": "The encoding of the contents"
          },
          "content": {
            "type": "string",
            "title": "The contents"
          }
        },
        "required": [
          "sha",
          "size",
          "encoding",
          "content"
        ],
        "additionalProperties": false
      },
      "Certificate": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "certificate": {
            "type": "string",
            "title": "The PEM-encoded certificate"
          },
          "chain": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Certificate chain"
          },
          "is_provisioned": {
            "type": "boolean",
            "title": "Whether this certificate is automatically provisioned"
          },
          "is_invalid": {
            "type": "boolean",
            "title": "Whether this certificate should be skipped during provisioning"
          },
          "is_root": {
            "type": "boolean",
            "title": "Whether this certificate is root type"
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The domains covered by this certificate"
          },
          "auth_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The type of authentication the certificate supports"
          },
          "issuer": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "oid": {
                  "type": "string",
                  "title": "The OID of the attribute"
                },
                "alias": {
                  "type": "string",
                  "nullable": true,
                  "title": "The alias of the attribute, if known"
                },
                "value": {
                  "type": "string",
                  "title": "The value"
                }
              },
              "required": [
                "oid",
                "alias",
                "value"
              ],
              "additionalProperties": false
            },
            "title": "The issuer of the certificate"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "title": "Expiration date"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "certificate",
          "chain",
          "is_provisioned",
          "is_invalid",
          "is_root",
          "domains",
          "auth_type",
          "issuer",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "CertificateCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Certificate"
        }
      },
      "CertificateCreateInput": {
        "type": "object",
        "properties": {
          "certificate": {
            "type": "string",
            "title": "The PEM-encoded certificate"
          },
          "key": {
            "type": "string",
            "title": "The PEM-encoded private key"
          },
          "chain": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Certificate chain"
          },
          "is_invalid": {
            "type": "boolean",
            "title": "Whether this certificate should be skipped during provisioning"
          }
        },
        "required": [
          "certificate",
          "key"
        ],
        "additionalProperties": false
      },
      "CertificatePatch": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Certificate chain"
          },
          "is_invalid": {
            "type": "boolean",
            "title": "Whether this certificate should be skipped during provisioning"
          }
        },
        "additionalProperties": false
      },
      "CertificateProvisioner": {
        "type": "object",
        "properties": {
          "directory_url": {
            "type": "string",
            "title": "ACME directory url"
          },
          "email": {
            "type": "string",
            "title": "Contacted email address"
          },
          "eab_kid": {
            "type": "string",
            "nullable": true,
            "title": "Eab Kid"
          },
          "eab_hmac_key": {
            "type": "string",
            "nullable": true,
            "title": "Eab Hmac Key"
          }
        },
        "required": [
          "directory_url",
          "email",
          "eab_kid",
          "eab_hmac_key"
        ],
        "additionalProperties": false
      },
      "CertificateProvisionerCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CertificateProvisioner"
        }
      },
      "CertificateProvisionerPatch": {
        "type": "object",
        "properties": {
          "directory_url": {
            "type": "string",
            "title": "ACME directory url"
          },
          "email": {
            "type": "string",
            "title": "Contacted email address"
          },
          "eab_kid": {
            "type": "string",
            "nullable": true,
            "title": "Eab Kid"
          },
          "eab_hmac_key": {
            "type": "string",
            "nullable": true,
            "title": "Eab Hmac Key"
          }
        },
        "additionalProperties": false
      },
      "Commit": {
        "type": "object",
        "properties": {
          "sha": {
            "type": "string",
            "title": "The identifier of the commit"
          },
          "author": {
            "type": "object",
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time",
                "title": "The time of the author or committer"
              },
              "name": {
                "type": "string",
                "title": "The name of the author or committer"
              },
              "email": {
                "type": "string",
                "title": "The email of the author or committer"
              }
            },
            "required": [
              "date",
              "name",
              "email"
            ],
            "additionalProperties": false,
            "title": "The information about the author"
          },
          "committer": {
            "type": "object",
            "properties": {
              "date": {
                "type": "string",
                "format": "date-time",
                "title": "The time of the author or committer"
              },
              "name": {
                "type": "string",
                "title": "The name of the author or committer"
              },
              "email": {
                "type": "string",
                "title": "The email of the author or committer"
              }
            },
            "required": [
              "date",
              "name",
              "email"
            ],
            "additionalProperties": false,
            "title": "The information about the committer"
          },
          "message": {
            "type": "string",
            "title": "The commit message"
          },
          "tree": {
            "type": "string",
            "title": "The identifier of the tree"
          },
          "parents": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The identifiers of the parents of the commit"
          }
        },
        "required": [
          "sha",
          "author",
          "committer",
          "message",
          "tree",
          "parents"
        ],
        "additionalProperties": false
      },
      "DedicatedDeploymentTarget": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "deploy_host": {
            "type": "string",
            "nullable": true,
            "title": "The host to deploy to."
          },
          "deploy_port": {
            "type": "integer",
            "nullable": true,
            "title": "The port to deploy to."
          },
          "ssh_host": {
            "type": "string",
            "nullable": true,
            "title": "The host to use to SSH to app containers."
          },
          "hosts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true,
                  "title": "The identifier of the host."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "core",
                    "satellite"
                  ],
                  "title": "The type of the deployment to this host."
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "title": "The services assigned to this host"
                }
              },
              "required": [
                "id",
                "type",
                "services"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "The hosts of the deployment target."
          },
          "auto_mounts": {
            "type": "boolean",
            "title": "Whether to take application mounts from the pushed data or the deployment target."
          },
          "excluded_mounts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Directories that should not be mounted"
          },
          "enforced_mounts": {
            "type": "object",
            "title": "Mounts which are always injected into pushed (e.g. enforce /var/log to be a local mount)."
          },
          "auto_crons": {
            "type": "boolean",
            "title": "Whether to take application crons from the pushed data or the deployment target."
          },
          "auto_nginx": {
            "type": "boolean",
            "title": "Whether to take application crons from the pushed data or the deployment target."
          },
          "maintenance_mode": {
            "type": "boolean",
            "title": "Whether to perform deployments or not"
          },
          "guardrails_phase": {
            "type": "integer",
            "title": "which phase of guardrails are we in"
          }
        },
        "required": [
          "type",
          "name",
          "deploy_host",
          "deploy_port",
          "ssh_host",
          "hosts",
          "auto_mounts",
          "excluded_mounts",
          "enforced_mounts",
          "auto_crons",
          "auto_nginx",
          "maintenance_mode",
          "guardrails_phase"
        ],
        "additionalProperties": false
      },
      "DedicatedDeploymentTargetCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "enforced_mounts": {
            "type": "object",
            "title": "Mounts which are always injected into pushed (e.g. enforce /var/log to be a local mount)."
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "DedicatedDeploymentTargetPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "enforced_mounts": {
            "type": "object",
            "title": "Mounts which are always injected into pushed (e.g. enforce /var/log to be a local mount)."
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "Deployment": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "fingerprint": {
            "type": "string",
            "title": "The fingerprint of the deployment"
          },
          "cluster_name": {
            "type": "string",
            "title": "The name of the cluster."
          },
          "project_info": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "title": "Title"
              },
              "name": {
                "type": "string",
                "title": "Name"
              },
              "namespace": {
                "type": "string",
                "nullable": true,
                "title": "Namespace"
              },
              "organization": {
                "type": "string",
                "nullable": true,
                "title": "Organization"
              },
              "capabilities": {
                "type": "object",
                "title": "Capabilities"
              },
              "settings": {
                "type": "object",
                "title": "Settings"
              }
            },
            "required": [
              "title",
              "name",
              "namespace",
              "organization",
              "capabilities",
              "settings"
            ],
            "additionalProperties": false,
            "title": "Project Info"
          },
          "environment_info": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "title": "The machine name of the environment"
              },
              "status": {
                "type": "string",
                "title": "The enviroment status"
              },
              "is_main": {
                "type": "boolean",
                "title": "Is this environment the main environment"
              },
              "is_production": {
                "type": "boolean",
                "title": "Is this environment a production environment"
              },
              "constraints": {
                "type": "object",
                "title": "Constraints of the environment's deployment"
              },
              "reference": {
                "type": "string",
                "title": "The reference in Git for this environment"
              },
              "machine_name": {
                "type": "string",
                "title": "The machine name of the environment"
              },
              "environment_type": {
                "type": "string",
                "title": "The type of environment (Production, Staging or Development)"
              },
              "links": {
                "type": "object",
                "title": "Links"
              }
            },
            "required": [
              "name",
              "status",
              "is_main",
              "is_production",
              "constraints",
              "reference",
              "machine_name",
              "environment_type",
              "links"
            ],
            "additionalProperties": false,
            "title": "Environment Info"
          },
          "deployment_target": {
            "type": "string",
            "title": "The deployment target."
          },
          "vpn": {
            "type": "object",
            "properties": {
              "version": {
                "type": "integer",
                "enum": [
                  1,
                  2
                ],
                "title": "The IKE version to use (1 or 2)"
              },
              "aggressive": {
                "type": "string",
                "enum": [
                  "no",
                  "yes"
                ],
                "title": "Whether to use IKEv1 Aggressive or Main Mode"
              },
              "modeconfig": {
                "type": "string",
                "enum": [
                  "pull",
                  "push"
                ],
                "title": "Defines which mode is used to assign a virtual IP (must be the same on both sides)"
              },
              "authentication": {
                "type": "string",
                "title": "The authentication scheme"
              },
              "gateway_ip": {
                "type": "string",
                "title": "Remote gateway IP"
              },
              "identity": {
                "type": "string",
                "nullable": true,
                "title": "The identity of the ipsec participant"
              },
              "second_identity": {
                "type": "string",
                "nullable": true,
                "title": "The second identity of the ipsec participant"
              },
              "remote_identity": {
                "type": "string",
                "nullable": true,
                "title": "The identity of the remote ipsec participant"
              },
              "remote_subnets": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Remote subnets (CIDR notation)"
              },
              "ike": {
                "type": "string",
                "title": "The IKE algorithms to negotiate for this VPN connection."
              },
              "esp": {
                "type": "string",
                "title": "The ESP algorithms to negotiate for this VPN connection."
              },
              "ikelifetime": {
                "type": "string",
                "title": "The lifetime of the IKE exchange."
              },
              "lifetime": {
                "type": "string",
                "title": "The lifetime of the ESP exchange."
              },
              "margintime": {
                "type": "string",
                "title": "The margin time for re-keying."
              }
            },
            "required": [
              "version",
              "aggressive",
              "modeconfig",
              "authentication",
              "gateway_ip",
              "identity",
              "second_identity",
              "remote_identity",
              "remote_subnets",
              "ike",
              "esp",
              "ikelifetime",
              "lifetime",
              "margintime"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "VPN configuration"
          },
          "http_access": {
            "type": "object",
            "properties": {
              "is_enabled": {
                "type": "boolean",
                "title": "Whether http_access control is enabled"
              },
              "addresses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "permission": {
                      "type": "string",
                      "enum": [
                        "allow",
                        "deny"
                      ],
                      "title": "Permission"
                    },
                    "address": {
                      "type": "string",
                      "title": "IP address or CIDR"
                    }
                  },
                  "required": [
                    "permission",
                    "address"
                  ],
                  "additionalProperties": false
                },
                "title": "Address grants"
              },
              "basic_auth": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "title": "Basic auth grants"
              }
            },
            "required": [
              "is_enabled",
              "addresses",
              "basic_auth"
            ],
            "additionalProperties": false,
            "title": "HTTP access permissions"
          },
          "enable_smtp": {
            "type": "boolean",
            "title": "Whether to configure SMTP for this environment."
          },
          "restrict_robots": {
            "type": "boolean",
            "title": "Whether to restrict robots for this environment."
          },
          "variables": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "title": "Name of the variable"
                },
                "value": {
                  "type": "string",
                  "title": "Value of the variable"
                },
                "is_sensitive": {
                  "type": "boolean",
                  "title": "The variable is sensitive"
                },
                "is_json": {
                  "type": "boolean",
                  "title": "The variable is a JSON string"
                },
                "visible_build": {
                  "type": "boolean",
                  "title": "The variable is visible during build"
                },
                "visible_runtime": {
                  "type": "boolean",
                  "title": "The variable is visible at runtime"
                }
              },
              "required": [
                "name",
                "is_sensitive",
                "is_json",
                "visible_build",
                "visible_runtime"
              ],
              "additionalProperties": false
            },
            "title": "The variables applying to this environment"
          },
          "access": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "entity_id": {
                  "type": "string",
                  "title": "Entity ID"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "admin",
                    "contributor",
                    "viewer"
                  ],
                  "title": "Role"
                }
              },
              "required": [
                "entity_id",
                "role"
              ],
              "additionalProperties": false
            },
            "title": "Access control definition for this enviroment"
          },
          "subscription": {
            "type": "object",
            "properties": {
              "license_uri": {
                "type": "string",
                "title": "URI of the subscription"
              },
              "plan": {
                "type": "string",
                "enum": [
                  "2xlarge",
                  "2xlarge-high-memory",
                  "4xlarge",
                  "8xlarge",
                  "development",
                  "large",
                  "large-high-memory",
                  "medium",
                  "medium-high-memory",
                  "standard",
                  "standard-high-memory",
                  "xlarge",
                  "xlarge-high-memory"
                ],
                "title": "Plan level"
              },
              "environments": {
                "type": "integer",
                "title": "Number of environments"
              },
              "storage": {
                "type": "integer",
                "title": "Size of storage (in MB)"
              },
              "included_users": {
                "type": "integer",
                "title": "Number of users"
              },
              "subscription_management_uri": {
                "type": "string",
                "title": "URI for managing the subscription"
              },
              "restricted": {
                "type": "boolean",
                "title": "True if subscription attributes, like number of users, are frozen"
              },
              "suspended": {
                "type": "boolean",
                "title": "Whether or not the subscription is suspended"
              },
              "user_licenses": {
                "type": "integer",
                "title": "Current number of users"
              },
              "resources": {
                "type": "object",
                "properties": {
                  "container_profiles": {
                    "type": "boolean",
                    "title": "Enable support for customizable container profiles."
                  },
                  "production": {
                    "type": "object",
                    "properties": {
                      "legacy_development": {
                        "type": "boolean",
                        "title": "Enable legacy development sizing for this environment type."
                      },
                      "max_cpu": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "title": "Maximum number of allocated CPU units."
                      },
                      "max_memory": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum amount of allocated RAM."
                      },
                      "max_environments": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum number of environments"
                      }
                    },
                    "required": [
                      "legacy_development",
                      "max_cpu",
                      "max_memory",
                      "max_environments"
                    ],
                    "additionalProperties": false,
                    "title": "Resources for production environments"
                  },
                  "development": {
                    "type": "object",
                    "properties": {
                      "legacy_development": {
                        "type": "boolean",
                        "title": "Enable legacy development sizing for this environment type."
                      },
                      "max_cpu": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "title": "Maximum number of allocated CPU units."
                      },
                      "max_memory": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum amount of allocated RAM."
                      },
                      "max_environments": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum number of environments"
                      }
                    },
                    "required": [
                      "legacy_development",
                      "max_cpu",
                      "max_memory",
                      "max_environments"
                    ],
                    "additionalProperties": false,
                    "title": "Resources for development environments"
                  }
                },
                "required": [
                  "container_profiles",
                  "production",
                  "development"
                ],
                "additionalProperties": false,
                "title": "Resources limits"
              },
              "resource_validation_url": {
                "type": "string",
                "title": "URL for resources validation"
              },
              "image_types": {
                "type": "object",
                "properties": {
                  "only": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "title": "Image types to be allowed use."
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "title": "Image types to be denied use."
                  }
                },
                "additionalProperties": false,
                "title": "Restricted and denied image types"
              }
            },
            "required": [
              "license_uri",
              "storage",
              "included_users",
              "subscription_management_uri",
              "restricted",
              "suspended",
              "user_licenses"
            ],
            "additionalProperties": false,
            "title": "Subscription"
          },
          "services": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "The service type."
                },
                "size": {
                  "type": "string",
                  "enum": [
                    "2XL",
                    "4XL",
                    "AUTO",
                    "L",
                    "M",
                    "S",
                    "XL"
                  ],
                  "title": "The service size."
                },
                "disk": {
                  "type": "integer",
                  "nullable": true,
                  "title": "The size of the disk."
                },
                "access": {
                  "type": "object",
                  "title": "The configuration of the service."
                },
                "configuration": {
                  "type": "object",
                  "title": "The configuration of the service."
                },
                "relationships": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "The relationships of the service to other services."
                },
                "firewall": {
                  "type": "object",
                  "properties": {
                    "outbound": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "protocol": {
                            "type": "string",
                            "enum": [
                              "tcp"
                            ],
                            "title": "The IP protocol to apply the restriction on."
                          },
                          "ips": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "The IP range in CIDR notation to apply the restriction on."
                          },
                          "domains": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "Domains of the restriction."
                          },
                          "ports": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            },
                            "title": "The port to apply the restriction on."
                          }
                        },
                        "required": [
                          "protocol",
                          "ips",
                          "domains",
                          "ports"
                        ],
                        "additionalProperties": false
                      },
                      "title": "Outbound firewall restrictions"
                    }
                  },
                  "required": [
                    "outbound"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Firewall"
                },
                "resources": {
                  "type": "object",
                  "properties": {
                    "base_memory": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The base memory for the container"
                    },
                    "memory_ratio": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The amount of memory to allocate per units of CPU"
                    },
                    "profile_size": {
                      "type": "string",
                      "nullable": true,
                      "title": "Selected size from container profile"
                    },
                    "minimum": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The minimum resources for this service"
                    },
                    "default": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The default resources for this service"
                    },
                    "disk": {
                      "type": "object",
                      "properties": {
                        "temporary": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Temporary"
                        },
                        "instance": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Instance"
                        },
                        "storage": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Storage"
                        }
                      },
                      "required": [
                        "temporary",
                        "instance",
                        "storage"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The disks resources"
                    }
                  },
                  "required": [
                    "base_memory",
                    "memory_ratio",
                    "profile_size",
                    "minimum",
                    "default",
                    "disk"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Resources"
                },
                "container_profile": {
                  "type": "string",
                  "nullable": true,
                  "title": "Selected container profile for the service"
                },
                "endpoints": {
                  "type": "object",
                  "nullable": true,
                  "title": "Endpoints"
                },
                "instance_count": {
                  "type": "integer",
                  "nullable": true,
                  "title": "Instance replication count of this service"
                }
              },
              "required": [
                "type",
                "size",
                "disk",
                "access",
                "configuration",
                "relationships",
                "firewall",
                "resources",
                "container_profile",
                "endpoints",
                "instance_count"
              ],
              "additionalProperties": false
            },
            "title": "Services"
          },
          "routes": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ProxyRoute"
                },
                {
                  "$ref": "#/components/schemas/RedirectRoute"
                },
                {
                  "$ref": "#/components/schemas/UpstreamRoute"
                }
              ]
            },
            "title": "Routes"
          },
          "webapps": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "resources": {
                  "type": "object",
                  "properties": {
                    "base_memory": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The base memory for the container"
                    },
                    "memory_ratio": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The amount of memory to allocate per units of CPU"
                    },
                    "profile_size": {
                      "type": "string",
                      "nullable": true,
                      "title": "Selected size from container profile"
                    },
                    "minimum": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The minimum resources for this service"
                    },
                    "default": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The default resources for this service"
                    },
                    "disk": {
                      "type": "object",
                      "properties": {
                        "temporary": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Temporary"
                        },
                        "instance": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Instance"
                        },
                        "storage": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Storage"
                        }
                      },
                      "required": [
                        "temporary",
                        "instance",
                        "storage"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The disks resources"
                    }
                  },
                  "required": [
                    "base_memory",
                    "memory_ratio",
                    "profile_size",
                    "minimum",
                    "default",
                    "disk"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Resources"
                },
                "size": {
                  "type": "string",
                  "enum": [
                    "2XL",
                    "4XL",
                    "AUTO",
                    "L",
                    "M",
                    "S",
                    "XL",
                    "XS"
                  ],
                  "title": "The container size for this application in production. Leave blank to allow it to be set dynamically."
                },
                "disk": {
                  "type": "integer",
                  "nullable": true,
                  "title": "The size of the disk."
                },
                "access": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "contributor",
                      "viewer"
                    ]
                  },
                  "title": "Access information, a mapping between access type and roles."
                },
                "relationships": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "service": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the service."
                      },
                      "endpoint": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the endpoint on the service."
                      }
                    },
                    "required": [
                      "service",
                      "endpoint"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "title": "The relationships of the application to defined services."
                },
                "additional_hosts": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "A mapping of hostname to ip address to be added to the container's hosts file"
                },
                "mounts": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "enum": [
                          "instance",
                          "local",
                          "service",
                          "storage",
                          "temporary",
                          "tmp"
                        ],
                        "title": "The type of mount that will provide the data."
                      },
                      "source_path": {
                        "type": "string",
                        "title": "The path to be mounted, relative to the root directory of the volume that's being mounted from."
                      },
                      "service": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the service that the volume will be mounted from. Must be a service in `services.yaml` of type `network-storage`."
                      }
                    },
                    "required": [
                      "source",
                      "source_path"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Filesystem mounts of this application.  If not specified the application will have no writeable disk space."
                },
                "timezone": {
                  "type": "string",
                  "nullable": true,
                  "title": "The timezone of the application.  This primarily affects the timezone in which cron tasks will run.  It will not affect the application itself. Defaults to UTC if not specified."
                },
                "variables": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "title": "Variables provide environment-sensitive information to control how your application behaves.  To set a Unix environment variable, specify a key of `env:`, and then each sub-item of that is a key/value pair that will be injected into the environment."
                },
                "firewall": {
                  "type": "object",
                  "properties": {
                    "outbound": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "protocol": {
                            "type": "string",
                            "enum": [
                              "tcp"
                            ],
                            "title": "The IP protocol to apply the restriction on."
                          },
                          "ips": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "The IP range in CIDR notation to apply the restriction on."
                          },
                          "domains": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "Domains of the restriction."
                          },
                          "ports": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            },
                            "title": "The port to apply the restriction on."
                          }
                        },
                        "required": [
                          "protocol",
                          "ips",
                          "domains",
                          "ports"
                        ],
                        "additionalProperties": false
                      },
                      "title": "Outbound firewall restrictions"
                    }
                  },
                  "required": [
                    "outbound"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Firewall"
                },
                "container_profile": {
                  "type": "string",
                  "nullable": true,
                  "title": "Selected container profile for the application"
                },
                "operations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "commands": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string",
                            "title": "The command used to start the operation."
                          },
                          "stop": {
                            "type": "string",
                            "nullable": true,
                            "title": "The command used to stop the operation."
                          }
                        },
                        "required": [
                          "start"
                        ],
                        "additionalProperties": false,
                        "title": "The commands definition."
                      },
                      "timeout": {
                        "type": "integer",
                        "nullable": true,
                        "title": "The maximum timeout in seconds after which the operation will be forcefully killed."
                      },
                      "role": {
                        "type": "string",
                        "enum": [
                          "admin",
                          "contributor",
                          "viewer"
                        ],
                        "title": "The minimum role necessary to trigger this operation."
                      }
                    },
                    "required": [
                      "commands",
                      "timeout",
                      "role"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Operations that can be triggered on this application"
                },
                "name": {
                  "type": "string",
                  "title": "The name of the application. Must be unique within a project."
                },
                "type": {
                  "type": "string",
                  "title": "The base runtime and version to use for this worker."
                },
                "preflight": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "title": "Whether the preflight security blocks are enabled."
                    },
                    "ignored_rules": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "title": "Specific rules to ignore during preflight security checks. See the documentation for options."
                    }
                  },
                  "required": [
                    "enabled",
                    "ignored_rules"
                  ],
                  "additionalProperties": false,
                  "title": "Configuration for pre-flight checks."
                },
                "tree_id": {
                  "type": "string",
                  "title": "The identifier of the source tree of the application"
                },
                "app_dir": {
                  "type": "string",
                  "title": "The path of the application in the container"
                },
                "endpoints": {
                  "type": "object",
                  "nullable": true,
                  "title": "Endpoints"
                },
                "runtime": {
                  "type": "object",
                  "title": "Runtime-specific configuration."
                },
                "web": {
                  "type": "object",
                  "properties": {
                    "locations": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "root": {
                            "type": "string",
                            "nullable": true,
                            "title": "The folder from which to serve static assets for this location relative to the application root."
                          },
                          "expires": {
                            "type": "string",
                            "title": "Amount of time to cache static assets."
                          },
                          "passthru": {
                            "type": "string",
                            "title": "Whether to forward disallowed and missing resources from this location to the application. On PHP, set to the PHP front controller script, as a URL fragment. Otherwise set to `true`/`false`."
                          },
                          "scripts": {
                            "type": "boolean",
                            "title": "Whether to execute scripts in this location (for script based runtimes)."
                          },
                          "index": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "nullable": true,
                            "title": "Files to look for to serve directories."
                          },
                          "allow": {
                            "type": "boolean",
                            "title": "Whether to allow access to this location by default."
                          },
                          "headers": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            },
                            "title": "A set of header fields set to the HTTP response. Applies only to static files, not responses from the application."
                          },
                          "rules": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "object",
                              "properties": {
                                "expires": {
                                  "type": "string",
                                  "nullable": true,
                                  "title": "Amount of time to cache static assets."
                                },
                                "passthru": {
                                  "type": "string",
                                  "title": "Whether to forward disallowed and missing resources from this location to the application. On PHP, set to the PHP front controller script, as a URL fragment. Otherwise set to `true`/`false`."
                                },
                                "scripts": {
                                  "type": "boolean",
                                  "title": "Whether to execute scripts in this location (for script based runtimes)."
                                },
                                "allow": {
                                  "type": "boolean",
                                  "title": "Whether to allow access to this location by default."
                                },
                                "headers": {
                                  "type": "object",
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "title": "A set of header fields set to the HTTP response. Replaces headers set on the location block."
                                }
                              },
                              "additionalProperties": false
                            },
                            "title": "Specific overrides."
                          },
                          "request_buffering": {
                            "type": "object",
                            "properties": {
                              "enabled": {
                                "type": "boolean",
                                "title": "Enable request buffering."
                              },
                              "max_request_size": {
                                "type": "string",
                                "nullable": true,
                                "title": "The maximum size request that can be buffered. Supports K, M, and G suffixes."
                              }
                            },
                            "required": [
                              "enabled",
                              "max_request_size"
                            ],
                            "additionalProperties": false,
                            "title": "Configuration for supporting request buffering."
                          }
                        },
                        "required": [
                          "root",
                          "expires",
                          "passthru",
                          "scripts",
                          "allow",
                          "headers",
                          "rules"
                        ],
                        "additionalProperties": false
                      },
                      "title": "The specification of the web locations served by this application."
                    },
                    "commands": {
                      "type": "object",
                      "properties": {
                        "pre_start": {
                          "type": "string",
                          "nullable": true,
                          "title": "A command executed before the application is started"
                        },
                        "start": {
                          "type": "string",
                          "nullable": true,
                          "title": "The command used to start the application.  It will be restarted if it terminates. Do not use on PHP unless using a custom persistent process like React PHP."
                        },
                        "post_start": {
                          "type": "string",
                          "nullable": true,
                          "title": "A command executed after the application is started"
                        }
                      },
                      "additionalProperties": false,
                      "title": "Commands to manage the application's lifecycle."
                    },
                    "upstream": {
                      "type": "object",
                      "properties": {
                        "socket_family": {
                          "type": "string",
                          "enum": [
                            "tcp",
                            "unix"
                          ],
                          "title": "If `tcp`, check the PORT environment variable on application startup. If `unix`, check SOCKET."
                        },
                        "protocol": {
                          "type": "string",
                          "enum": [
                            "fastcgi",
                            "http"
                          ],
                          "nullable": true,
                          "title": "Protocol"
                        }
                      },
                      "required": [
                        "socket_family",
                        "protocol"
                      ],
                      "additionalProperties": false,
                      "title": "Configuration on how the web server communicates with the application."
                    },
                    "document_root": {
                      "type": "string",
                      "nullable": true,
                      "title": "The document root of this application, relative to its root."
                    },
                    "passthru": {
                      "type": "string",
                      "nullable": true,
                      "title": "The URL to use as a passthru if a file doesn't match the whitelist."
                    },
                    "index_files": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "title": "Files to look for to serve directories."
                    },
                    "whitelist": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "title": "Whitelisted entries."
                    },
                    "blacklist": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "nullable": true,
                      "title": "Blacklisted entries."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "Amount of time to cache static assets."
                    },
                    "move_to_root": {
                      "type": "boolean",
                      "title": "Whether to move the whole root of the app to the document root."
                    }
                  },
                  "required": [
                    "locations",
                    "move_to_root"
                  ],
                  "additionalProperties": false,
                  "title": "Configuration for accessing this application via HTTP."
                },
                "hooks": {
                  "type": "object",
                  "properties": {
                    "build": {
                      "type": "string",
                      "nullable": true,
                      "title": "Hook executed after the build process."
                    },
                    "deploy": {
                      "type": "string",
                      "nullable": true,
                      "title": "Hook executed after the deployment of new code."
                    },
                    "post_deploy": {
                      "type": "string",
                      "nullable": true,
                      "title": "Hook executed after an environment is fully deployed."
                    }
                  },
                  "required": [
                    "build",
                    "deploy",
                    "post_deploy"
                  ],
                  "additionalProperties": false,
                  "title": "Hooks executed at various point in the lifecycle of the application."
                },
                "crons": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "spec": {
                        "type": "string",
                        "title": "The cron schedule specification."
                      },
                      "commands": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string",
                            "title": "The command used to start the operation."
                          },
                          "stop": {
                            "type": "string",
                            "nullable": true,
                            "title": "The command used to stop the operation."
                          }
                        },
                        "required": [
                          "start"
                        ],
                        "additionalProperties": false,
                        "title": "The commands definition."
                      },
                      "shutdown_timeout": {
                        "type": "integer",
                        "nullable": true,
                        "title": "The timeout in seconds after which the cron job will be forcefully killed."
                      },
                      "timeout": {
                        "type": "integer",
                        "title": "The maximum timeout in seconds after which the cron job will be forcefully killed."
                      },
                      "cmd": {
                        "type": "string",
                        "title": "The command to execute."
                      }
                    },
                    "required": [
                      "spec",
                      "commands",
                      "timeout"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Scheduled cron tasks executed by this application."
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "root": {
                      "type": "string",
                      "nullable": true,
                      "title": "The root of the application relative to the repository root."
                    },
                    "operations": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "command": {
                            "type": "string",
                            "nullable": true,
                            "title": "The command to use to update this application."
                          }
                        },
                        "required": [
                          "command"
                        ],
                        "additionalProperties": false
                      },
                      "title": "Operations that can be applied to the source code."
                    }
                  },
                  "required": [
                    "root",
                    "operations"
                  ],
                  "additionalProperties": false,
                  "title": "Configuration related to the source code of the application."
                },
                "build": {
                  "type": "object",
                  "properties": {
                    "flavor": {
                      "type": "string",
                      "nullable": true,
                      "title": "The pre-set build tasks to use for this application."
                    },
                    "caches": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "properties": {
                          "directory": {
                            "type": "string",
                            "nullable": true,
                            "title": "The directory, relative to the application root, that should be cached."
                          },
                          "watch": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "The file or files whose hashed contents should be considered part of the cache key."
                          },
                          "allow_stale": {
                            "type": "boolean",
                            "title": "If true, on a cache miss the last cache version will be used and can be updated in place."
                          },
                          "share_between_apps": {
                            "type": "boolean",
                            "title": "Whether multiple applications in the project should share cached directories."
                          }
                        },
                        "required": [
                          "directory",
                          "watch",
                          "allow_stale",
                          "share_between_apps"
                        ],
                        "additionalProperties": false
                      },
                      "title": "The configuration of paths managed by the build cache."
                    }
                  },
                  "required": [
                    "flavor",
                    "caches"
                  ],
                  "additionalProperties": false,
                  "title": "The build configuration of the application."
                },
                "dependencies": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  },
                  "title": "External global dependencies of this application. They will be downloaded by the language's package manager."
                },
                "stack": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "nullable": true,
                  "title": "Composable images"
                },
                "is_across_submodule": {
                  "type": "boolean",
                  "title": "Is this application coming from a submodule"
                },
                "instance_count": {
                  "type": "integer",
                  "nullable": true,
                  "title": "Instance replication count of this application"
                },
                "config_id": {
                  "type": "string",
                  "title": "Config Id"
                },
                "slug_id": {
                  "type": "string",
                  "title": "The identifier of the built artifact of the application"
                }
              },
              "required": [
                "resources",
                "size",
                "disk",
                "access",
                "relationships",
                "additional_hosts",
                "mounts",
                "timezone",
                "variables",
                "firewall",
                "container_profile",
                "operations",
                "name",
                "type",
                "preflight",
                "tree_id",
                "app_dir",
                "endpoints",
                "runtime",
                "web",
                "hooks",
                "crons",
                "source",
                "build",
                "dependencies",
                "stack",
                "is_across_submodule",
                "instance_count",
                "config_id",
                "slug_id"
              ],
              "additionalProperties": false
            },
            "title": "Web applications"
          },
          "workers": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "resources": {
                  "type": "object",
                  "properties": {
                    "base_memory": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The base memory for the container"
                    },
                    "memory_ratio": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The amount of memory to allocate per units of CPU"
                    },
                    "profile_size": {
                      "type": "string",
                      "nullable": true,
                      "title": "Selected size from container profile"
                    },
                    "minimum": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The minimum resources for this service"
                    },
                    "default": {
                      "type": "object",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "format": "float",
                          "title": "Cpu value"
                        },
                        "memory": {
                          "type": "integer",
                          "title": "Memory in MB"
                        },
                        "cpu_type": {
                          "type": "string",
                          "enum": [
                            "guaranteed",
                            "shared"
                          ],
                          "title": "resource type"
                        },
                        "disk": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Disk size in MB"
                        },
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "The closest profile size that matches the resources"
                        }
                      },
                      "required": [
                        "cpu",
                        "memory",
                        "cpu_type",
                        "disk",
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The default resources for this service"
                    },
                    "disk": {
                      "type": "object",
                      "properties": {
                        "temporary": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Temporary"
                        },
                        "instance": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Instance"
                        },
                        "storage": {
                          "type": "integer",
                          "nullable": true,
                          "title": "Storage"
                        }
                      },
                      "required": [
                        "temporary",
                        "instance",
                        "storage"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "The disks resources"
                    }
                  },
                  "required": [
                    "base_memory",
                    "memory_ratio",
                    "profile_size",
                    "minimum",
                    "default",
                    "disk"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Resources"
                },
                "size": {
                  "type": "string",
                  "enum": [
                    "2XL",
                    "4XL",
                    "AUTO",
                    "L",
                    "M",
                    "S",
                    "XL",
                    "XS"
                  ],
                  "title": "The container size for this application in production. Leave blank to allow it to be set dynamically."
                },
                "disk": {
                  "type": "integer",
                  "nullable": true,
                  "title": "The writeable disk size to reserve on this application container."
                },
                "access": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "contributor",
                      "viewer"
                    ]
                  },
                  "title": "Access information, a mapping between access type and roles."
                },
                "relationships": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "service": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the service."
                      },
                      "endpoint": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the endpoint on the service."
                      }
                    },
                    "required": [
                      "service",
                      "endpoint"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "title": "The relationships of the application to defined services."
                },
                "additional_hosts": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "A mapping of hostname to ip address to be added to the container's hosts file"
                },
                "mounts": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "enum": [
                          "instance",
                          "local",
                          "service",
                          "storage",
                          "temporary",
                          "tmp"
                        ],
                        "title": "The type of mount that will provide the data."
                      },
                      "source_path": {
                        "type": "string",
                        "title": "The path to be mounted, relative to the root directory of the volume that's being mounted from."
                      },
                      "service": {
                        "type": "string",
                        "nullable": true,
                        "title": "The name of the service that the volume will be mounted from. Must be a service in `services.yaml` of type `network-storage`."
                      }
                    },
                    "required": [
                      "source",
                      "source_path"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Filesystem mounts of this application.  If not specified the application will have no writeable disk space."
                },
                "timezone": {
                  "type": "string",
                  "nullable": true,
                  "title": "The timezone of the application.  This primarily affects the timezone in which cron tasks will run.  It will not affect the application itself. Defaults to UTC if not specified."
                },
                "variables": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "title": "Variables provide environment-sensitive information to control how your application behaves.  To set a Unix environment variable, specify a key of `env:`, and then each sub-item of that is a key/value pair that will be injected into the environment."
                },
                "firewall": {
                  "type": "object",
                  "properties": {
                    "outbound": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "protocol": {
                            "type": "string",
                            "enum": [
                              "tcp"
                            ],
                            "title": "The IP protocol to apply the restriction on."
                          },
                          "ips": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "The IP range in CIDR notation to apply the restriction on."
                          },
                          "domains": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "title": "Domains of the restriction."
                          },
                          "ports": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            },
                            "title": "The port to apply the restriction on."
                          }
                        },
                        "required": [
                          "protocol",
                          "ips",
                          "domains",
                          "ports"
                        ],
                        "additionalProperties": false
                      },
                      "title": "Outbound firewall restrictions"
                    }
                  },
                  "required": [
                    "outbound"
                  ],
                  "additionalProperties": false,
                  "nullable": true,
                  "title": "Firewall"
                },
                "container_profile": {
                  "type": "string",
                  "nullable": true,
                  "title": "Selected container profile for the application"
                },
                "operations": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "commands": {
                        "type": "object",
                        "properties": {
                          "start": {
                            "type": "string",
                            "title": "The command used to start the operation."
                          },
                          "stop": {
                            "type": "string",
                            "nullable": true,
                            "title": "The command used to stop the operation."
                          }
                        },
                        "required": [
                          "start"
                        ],
                        "additionalProperties": false,
                        "title": "The commands definition."
                      },
                      "timeout": {
                        "type": "integer",
                        "nullable": true,
                        "title": "The maximum timeout in seconds after which the operation will be forcefully killed."
                      },
                      "role": {
                        "type": "string",
                        "enum": [
                          "admin",
                          "contributor",
                          "viewer"
                        ],
                        "title": "The minimum role necessary to trigger this operation."
                      }
                    },
                    "required": [
                      "commands",
                      "timeout",
                      "role"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Operations that can be triggered on this application"
                },
                "name": {
                  "type": "string",
                  "title": "The name of the worker."
                },
                "type": {
                  "type": "string",
                  "title": "The base runtime and version to use for this worker."
                },
                "preflight": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean",
                      "title": "Whether the preflight security blocks are enabled."
                    },
                    "ignored_rules": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "title": "Specific rules to ignore during preflight security checks. See the documentation for options."
                    }
                  },
                  "required": [
                    "enabled",
                    "ignored_rules"
                  ],
                  "additionalProperties": false,
                  "title": "Configuration for pre-flight checks."
                },
                "tree_id": {
                  "type": "string",
                  "title": "The identifier of the source tree of the application"
                },
                "app_dir": {
                  "type": "string",
                  "title": "The path of the application in the container"
                },
                "endpoints": {
                  "type": "object",
                  "nullable": true,
                  "title": "Endpoints"
                },
                "runtime": {
                  "type": "object",
                  "title": "Runtime-specific configuration."
                },
                "worker": {
                  "type": "object",
                  "properties": {
                    "commands": {
                      "type": "object",
                      "properties": {
                        "pre_start": {
                          "type": "string",
                          "nullable": true,
                          "title": "A command executed before the worker is started"
                        },
                        "start": {
                          "type": "string",
                          "title": "The command used to start the worker."
                        },
                        "post_start": {
                          "type": "string",
                          "nullable": true,
                          "title": "A command executed after the worker is started"
                        }
                      },
                      "required": [
                        "start"
                      ],
                      "additionalProperties": false,
                      "title": "The commands to manage the worker."
                    },
                    "disk": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The writeable disk size to reserve on this application container."
                    }
                  },
                  "required": [
                    "commands"
                  ],
                  "additionalProperties": false,
                  "title": "Configuration of a worker container instance."
                },
                "app": {
                  "type": "string",
                  "title": "App"
                },
                "stack": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  },
                  "nullable": true,
                  "title": "Composable images"
                },
                "instance_count": {
                  "type": "integer",
                  "nullable": true,
                  "title": "Instance replication count of this worker"
                },
                "slug_id": {
                  "type": "string",
                  "title": "The identifier of the built artifact of the application"
                }
              },
              "required": [
                "resources",
                "size",
                "disk",
                "access",
                "relationships",
                "additional_hosts",
                "mounts",
                "timezone",
                "variables",
                "firewall",
                "container_profile",
                "operations",
                "name",
                "type",
                "preflight",
                "tree_id",
                "app_dir",
                "endpoints",
                "runtime",
                "worker",
                "app",
                "stack",
                "instance_count",
                "slug_id"
              ],
              "additionalProperties": false
            },
            "title": "Workers"
          },
          "container_profiles": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "cpu": {
                    "type": "number",
                    "format": "float",
                    "title": "Cpu value"
                  },
                  "memory": {
                    "type": "integer",
                    "title": "Memory in MB"
                  },
                  "cpu_type": {
                    "type": "string",
                    "enum": [
                      "guaranteed",
                      "shared"
                    ],
                    "title": "resource type"
                  }
                },
                "required": [
                  "cpu",
                  "memory",
                  "cpu_type"
                ],
                "additionalProperties": false
              }
            },
            "title": "Container profiles"
          }
        },
        "required": [
          "cluster_name",
          "project_info",
          "environment_info",
          "deployment_target",
          "vpn",
          "http_access",
          "enable_smtp",
          "restrict_robots",
          "variables",
          "access",
          "subscription",
          "services",
          "routes",
          "webapps",
          "workers",
          "container_profiles"
        ],
        "additionalProperties": false
      },
      "DeploymentCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Deployment"
        }
      },
      "DeploymentTarget": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DedicatedDeploymentTarget"
          },
          {
            "$ref": "#/components/schemas/EnterpriseDeploymentTarget"
          },
          {
            "$ref": "#/components/schemas/FoundationDeploymentTarget"
          }
        ]
      },
      "DeploymentTargetCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DeploymentTarget"
        }
      },
      "DeploymentTargetCreateInput": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DedicatedDeploymentTargetCreateInput"
          },
          {
            "$ref": "#/components/schemas/EnterpriseDeploymentTargetCreateInput"
          },
          {
            "$ref": "#/components/schemas/FoundationDeploymentTargetCreateInput"
          }
        ]
      },
      "DeploymentTargetPatch": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DedicatedDeploymentTargetPatch"
          },
          {
            "$ref": "#/components/schemas/EnterpriseDeploymentTargetPatch"
          },
          {
            "$ref": "#/components/schemas/FoundationDeploymentTargetPatch"
          }
        ]
      },
      "Domain": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProdDomainStorage"
          },
          {
            "$ref": "#/components/schemas/ReplacementDomainStorage"
          }
        ]
      },
      "DomainCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Domain"
        }
      },
      "DomainCreateInput": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProdDomainStorageCreateInput"
          },
          {
            "$ref": "#/components/schemas/ReplacementDomainStorageCreateInput"
          }
        ]
      },
      "DomainPatch": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProdDomainStoragePatch"
          },
          {
            "$ref": "#/components/schemas/ReplacementDomainStoragePatch"
          }
        ]
      },
      "EmailIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "from_address": {
            "type": "string",
            "nullable": true,
            "title": "The email address to use"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Recipients of the email"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "from_address",
          "recipients"
        ],
        "additionalProperties": false
      },
      "EmailIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "from_address": {
            "type": "string",
            "nullable": true,
            "title": "The email address to use"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Recipients of the email"
          }
        },
        "required": [
          "type",
          "recipients"
        ],
        "additionalProperties": false
      },
      "EmailIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "from_address": {
            "type": "string",
            "nullable": true,
            "title": "The email address to use"
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Recipients of the email"
          }
        },
        "required": [
          "type",
          "recipients"
        ],
        "additionalProperties": false
      },
      "EnterpriseDeploymentTarget": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "deploy_host": {
            "type": "string",
            "nullable": true,
            "title": "The host to deploy to."
          },
          "docroots": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "active_docroot": {
                  "type": "string",
                  "nullable": true,
                  "title": "The enterprise docroot, that is associated with this application/cluster."
                },
                "docroot_versions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "title": "Versions of the enterprise docroot. When a new environment version is created the active_docroot is updated from these values."
                }
              },
              "required": [
                "active_docroot",
                "docroot_versions"
              ],
              "additionalProperties": false
            },
            "title": "Mapping of clusters to Enterprise applications"
          },
          "site_urls": {
            "type": "object",
            "title": "Site URLs"
          },
          "ssh_hosts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "List of SSH Hosts."
          },
          "maintenance_mode": {
            "type": "boolean",
            "title": "Whether to perform deployments or not"
          },
          "enterprise_environments_mapping": {
            "type": "object",
            "title": "Mapping of clusters to Enterprise applications",
            "deprecated": true,
            "x-stability": "DEPRECATED"
          }
        },
        "required": [
          "type",
          "name",
          "deploy_host",
          "docroots",
          "site_urls",
          "ssh_hosts",
          "maintenance_mode"
        ],
        "additionalProperties": false
      },
      "EnterpriseDeploymentTargetCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "site_urls": {
            "type": "object",
            "title": "Site URLs"
          },
          "ssh_hosts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "List of SSH Hosts."
          },
          "enterprise_environments_mapping": {
            "type": "object",
            "title": "Mapping of clusters to Enterprise applications",
            "deprecated": true,
            "x-stability": "DEPRECATED"
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "EnterpriseDeploymentTargetPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "site_urls": {
            "type": "object",
            "title": "Site URLs"
          },
          "ssh_hosts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "List of SSH Hosts."
          },
          "enterprise_environments_mapping": {
            "type": "object",
            "title": "Mapping of clusters to Enterprise applications",
            "deprecated": true,
            "x-stability": "DEPRECATED"
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "Environment": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "machine_name": {
            "type": "string",
            "title": "Machine name"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "development",
              "production",
              "staging"
            ],
            "title": "The type of environment (`production`, `staging` or `development`). If not provided, a default will be calculated."
          },
          "parent": {
            "type": "string",
            "nullable": true,
            "title": "Parent environment"
          },
          "default_domain": {
            "type": "string",
            "nullable": true,
            "title": "Default domain"
          },
          "has_domains": {
            "type": "boolean",
            "title": "Whether the environment has domains"
          },
          "clone_parent_on_create": {
            "type": "boolean",
            "title": "Clone data when creating that environment"
          },
          "deployment_target": {
            "type": "string",
            "nullable": true,
            "title": "Deployment target of the environment"
          },
          "is_pr": {
            "type": "boolean",
            "title": "Is this environment a pull request / merge request"
          },
          "has_remote": {
            "type": "boolean",
            "title": "Does this environment have a remote repository"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "deleting",
              "dirty",
              "inactive",
              "paused"
            ],
            "title": "Status"
          },
          "http_access": {
            "type": "object",
            "properties": {
              "is_enabled": {
                "type": "boolean",
                "title": "Whether http_access control is enabled"
              },
              "addresses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "permission": {
                      "type": "string",
                      "enum": [
                        "allow",
                        "deny"
                      ],
                      "title": "Permission"
                    },
                    "address": {
                      "type": "string",
                      "title": "IP address or CIDR"
                    }
                  },
                  "required": [
                    "permission",
                    "address"
                  ],
                  "additionalProperties": false
                },
                "title": "Address grants"
              },
              "basic_auth": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "title": "Basic auth grants"
              }
            },
            "required": [
              "is_enabled",
              "addresses",
              "basic_auth"
            ],
            "additionalProperties": false,
            "title": "HTTP access permissions"
          },
          "enable_smtp": {
            "type": "boolean",
            "title": "Whether to configure SMTP for this environment."
          },
          "restrict_robots": {
            "type": "boolean",
            "title": "Whether to restrict robots for this environment."
          },
          "edge_hostname": {
            "type": "string",
            "title": "The hostname to use as the CNAME."
          },
          "deployment_state": {
            "type": "object",
            "properties": {
              "last_deployment_successful": {
                "type": "boolean",
                "title": "Whether the last deployment was successful"
              },
              "last_deployment_at": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "title": "Datetime of the last deployment"
              },
              "last_autoscale_up_at": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "title": "Datetime of the last autoscale up deployment"
              },
              "last_autoscale_down_at": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "title": "Datetime of the last autoscale down deployment"
              },
              "crons": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "title": "Enabled or disabled"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "paused",
                      "running",
                      "sleeping"
                    ],
                    "title": "The status of the crons"
                  }
                },
                "required": [
                  "enabled",
                  "status"
                ],
                "additionalProperties": false,
                "title": "The crons deployment state"
              }
            },
            "required": [
              "last_deployment_successful",
              "last_deployment_at",
              "last_autoscale_up_at",
              "last_autoscale_down_at",
              "crons"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The environment deployment state"
          },
          "sizing": {
            "type": "object",
            "properties": {
              "services": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "resources": {
                      "type": "object",
                      "properties": {
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "Profile size of the service."
                        }
                      },
                      "required": [
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "Resources"
                    },
                    "instance_count": {
                      "type": "integer",
                      "nullable": true,
                      "title": "Instance replication count of this application"
                    },
                    "disk": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The size of the disk."
                    }
                  },
                  "required": [
                    "resources",
                    "instance_count",
                    "disk"
                  ],
                  "additionalProperties": false
                },
                "title": "Services"
              },
              "webapps": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "resources": {
                      "type": "object",
                      "properties": {
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "Profile size of the service."
                        }
                      },
                      "required": [
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "Resources"
                    },
                    "instance_count": {
                      "type": "integer",
                      "nullable": true,
                      "title": "Instance replication count of this application"
                    },
                    "disk": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The size of the disk."
                    }
                  },
                  "required": [
                    "resources",
                    "instance_count",
                    "disk"
                  ],
                  "additionalProperties": false
                },
                "title": "Web applications"
              },
              "workers": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "resources": {
                      "type": "object",
                      "properties": {
                        "profile_size": {
                          "type": "string",
                          "nullable": true,
                          "title": "Profile size of the service."
                        }
                      },
                      "required": [
                        "profile_size"
                      ],
                      "additionalProperties": false,
                      "nullable": true,
                      "title": "Resources"
                    },
                    "instance_count": {
                      "type": "integer",
                      "nullable": true,
                      "title": "Instance replication count of this application"
                    },
                    "disk": {
                      "type": "integer",
                      "nullable": true,
                      "title": "The size of the disk."
                    }
                  },
                  "required": [
                    "resources",
                    "instance_count",
                    "disk"
                  ],
                  "additionalProperties": false
                },
                "title": "Workers"
              }
            },
            "required": [
              "services",
              "webapps",
              "workers"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "The environment sizing configuration"
          },
          "resources_overrides": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "services": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "cpu": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "title": "CPU"
                      },
                      "memory": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Memory"
                      },
                      "disk": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Disk"
                      }
                    },
                    "required": [
                      "cpu",
                      "memory",
                      "disk"
                    ],
                    "additionalProperties": false
                  },
                  "title": "Per-service resources overrides."
                },
                "starts_at": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true,
                  "title": "Date when the override will apply. When null, don't do an auto redeployment but still be effective to redeploys initiated otherwise."
                },
                "ends_at": {
                  "type": "string",
                  "format": "date-time",
                  "nullable": true,
                  "title": "Date when the override will be reverted. When null, the overrides will never go out of effect."
                },
                "redeployed_start": {
                  "type": "boolean",
                  "title": "Whether the starting redeploy activity has been fired for this override."
                },
                "redeployed_end": {
                  "type": "boolean",
                  "title": "Whether the ending redeploy activity has been fired for this override."
                }
              },
              "required": [
                "services",
                "starts_at",
                "ends_at",
                "redeployed_start",
                "redeployed_end"
              ],
              "additionalProperties": false
            },
            "title": "Resources overrides"
          },
          "max_instance_count": {
            "type": "integer",
            "nullable": true,
            "title": "Max number of instances for this environment."
          },
          "last_active_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Last activity date"
          },
          "last_backup_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Last backup date"
          },
          "project": {
            "type": "string",
            "title": "Project"
          },
          "is_main": {
            "type": "boolean",
            "title": "Is this environment the main environment"
          },
          "is_dirty": {
            "type": "boolean",
            "title": "Is there any pending activity on this environment"
          },
          "has_staged_activities": {
            "type": "boolean",
            "title": "Is there any staged activity on this environment"
          },
          "can_rolling_deploy": {
            "type": "boolean",
            "title": "If the environment supports rolling deployments"
          },
          "has_code": {
            "type": "boolean",
            "title": "Does this environment have code"
          },
          "head_commit": {
            "type": "string",
            "nullable": true,
            "title": "The SHA of the head commit for this environment"
          },
          "merge_info": {
            "type": "object",
            "properties": {
              "commits_ahead": {
                "type": "integer",
                "nullable": true,
                "title": "The amount of commits that are in the environment but not in the parent"
              },
              "commits_behind": {
                "type": "integer",
                "nullable": true,
                "title": "The amount of commits that are in the parent but not in the environment"
              },
              "parent_ref": {
                "type": "string",
                "nullable": true,
                "title": "The reference in Git for the parent environment"
              }
            },
            "required": [
              "commits_ahead",
              "commits_behind",
              "parent_ref"
            ],
            "additionalProperties": false,
            "title": "The commit distance info between parent and child environments"
          },
          "has_deployment": {
            "type": "boolean",
            "title": "Whether this environment had a successful deployment."
          },
          "supports_restrict_robots": {
            "type": "boolean",
            "title": "Does this environment support configuring restrict_robots"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "name",
          "machine_name",
          "title",
          "attributes",
          "type",
          "parent",
          "default_domain",
          "has_domains",
          "clone_parent_on_create",
          "deployment_target",
          "is_pr",
          "has_remote",
          "status",
          "http_access",
          "enable_smtp",
          "restrict_robots",
          "edge_hostname",
          "deployment_state",
          "sizing",
          "resources_overrides",
          "max_instance_count",
          "last_active_at",
          "last_backup_at",
          "project",
          "is_main",
          "is_dirty",
          "has_staged_activities",
          "can_rolling_deploy",
          "has_code",
          "head_commit",
          "merge_info",
          "has_deployment",
          "supports_restrict_robots"
        ],
        "additionalProperties": false
      },
      "EnvironmentActivateInput": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "object",
            "properties": {
              "init": {
                "type": "string",
                "enum": [
                  "default",
                  "minimum",
                  "parent"
                ],
                "nullable": true,
                "title": "The resources used when activating an environment"
              }
            },
            "required": [
              "init"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "Resources"
          }
        },
        "required": [
          "resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentBackupInput": {
        "type": "object",
        "properties": {
          "safe": {
            "type": "boolean",
            "title": "Take a safe or a live backup"
          }
        },
        "required": [
          "safe"
        ],
        "additionalProperties": false
      },
      "EnvironmentBranchInput": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "title": "Title"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "clone_parent": {
            "type": "boolean",
            "title": "Clone data from the parent environment"
          },
          "type": {
            "type": "string",
            "enum": [
              "development",
              "staging"
            ],
            "title": "The type of environment (`staging` or `development`)"
          },
          "resources": {
            "type": "object",
            "properties": {
              "init": {
                "type": "string",
                "enum": [
                  "default",
                  "minimum",
                  "parent"
                ],
                "nullable": true,
                "title": "The resources used when initializing services of the new environment"
              }
            },
            "required": [
              "init"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "Resources"
          }
        },
        "required": [
          "title",
          "name",
          "clone_parent",
          "type",
          "resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Environment"
        }
      },
      "EnvironmentDeployInput": {
        "type": "object",
        "properties": {
          "strategy": {
            "type": "string",
            "enum": [
              "rolling",
              "stopstart"
            ],
            "title": "The deployment strategy (`rolling` or `stopstart`)"
          }
        },
        "required": [
          "strategy"
        ],
        "additionalProperties": false
      },
      "EnvironmentInitializeInput": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "title": "Name of the profile to show in the UI"
          },
          "repository": {
            "type": "string",
            "title": "Repository to clone from"
          },
          "config": {
            "type": "string",
            "nullable": true,
            "title": "Repository to clone the configuration files from"
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string",
                  "title": "The path to the file."
                },
                "mode": {
                  "type": "integer",
                  "title": "The octal value of the file protection mode."
                },
                "contents": {
                  "type": "string",
                  "title": "The contents of the file (base64 encoded)."
                }
              },
              "required": [
                "path",
                "mode",
                "contents"
              ],
              "additionalProperties": false
            },
            "title": "A list of files to add to the repository during initialization"
          },
          "resources": {
            "type": "object",
            "properties": {
              "init": {
                "type": "string",
                "enum": [
                  "default",
                  "minimum"
                ],
                "nullable": true,
                "title": "The resources used when initializing the environment"
              }
            },
            "required": [
              "init"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "Resources"
          }
        },
        "required": [
          "profile",
          "repository",
          "config",
          "files",
          "resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentMergeInput": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "object",
            "properties": {
              "init": {
                "type": "string",
                "enum": [
                  "child",
                  "default",
                  "manual",
                  "minimum"
                ],
                "nullable": true,
                "title": "The resources used when merging an environment"
              }
            },
            "required": [
              "init"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "Resources"
          }
        },
        "required": [
          "resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentOperationInput": {
        "type": "object",
        "properties": {
          "service": {
            "type": "string",
            "title": "The name of the application or worker to run the operation on"
          },
          "operation": {
            "type": "string",
            "title": "The name of the operation"
          },
          "parameters": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The parameters to run the operation with"
          }
        },
        "required": [
          "service",
          "operation",
          "parameters"
        ],
        "additionalProperties": false
      },
      "EnvironmentPatch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "development",
              "production",
              "staging"
            ],
            "title": "The type of environment (`production`, `staging` or `development`). If not provided, a default will be calculated."
          },
          "parent": {
            "type": "string",
            "nullable": true,
            "title": "Parent environment"
          },
          "clone_parent_on_create": {
            "type": "boolean",
            "title": "Clone data when creating that environment"
          },
          "http_access": {
            "type": "object",
            "properties": {
              "is_enabled": {
                "type": "boolean",
                "title": "Whether http_access control is enabled"
              },
              "addresses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "permission": {
                      "type": "string",
                      "enum": [
                        "allow",
                        "deny"
                      ],
                      "title": "Permission"
                    },
                    "address": {
                      "type": "string",
                      "title": "IP address or CIDR"
                    }
                  },
                  "required": [
                    "permission",
                    "address"
                  ],
                  "additionalProperties": false
                },
                "title": "Address grants"
              },
              "basic_auth": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "title": "Basic auth grants"
              }
            },
            "additionalProperties": false,
            "title": "HTTP access permissions"
          },
          "enable_smtp": {
            "type": "boolean",
            "title": "Whether to configure SMTP for this environment."
          },
          "restrict_robots": {
            "type": "boolean",
            "title": "Whether to restrict robots for this environment."
          }
        },
        "additionalProperties": false
      },
      "EnvironmentRestoreInput": {
        "type": "object",
        "properties": {
          "environment_name": {
            "type": "string",
            "nullable": true,
            "title": "Environment name"
          },
          "branch_from": {
            "type": "string",
            "nullable": true,
            "title": "Branch from"
          },
          "restore_code": {
            "type": "boolean",
            "title": "Whether we should restore the code or only the data"
          },
          "restore_resources": {
            "type": "boolean",
            "title": "Whether we should restore resources configuration from the backup"
          },
          "resources": {
            "type": "object",
            "properties": {
              "init": {
                "type": "string",
                "enum": [
                  "backup",
                  "default",
                  "minimum",
                  "parent"
                ],
                "nullable": true,
                "title": "The resources used when initializing services of the environment"
              }
            },
            "required": [
              "init"
            ],
            "additionalProperties": false,
            "nullable": true,
            "title": "Resources"
          }
        },
        "required": [
          "environment_name",
          "branch_from",
          "restore_code",
          "restore_resources",
          "resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentSourceOperation": {
        "type": "object",
        "properties": {
          "app": {
            "type": "string",
            "title": "The name of the application"
          },
          "operation": {
            "type": "string",
            "title": "The name of the source operation"
          },
          "command": {
            "type": "string",
            "title": "The command that will be triggered"
          }
        },
        "required": [
          "app",
          "operation",
          "command"
        ],
        "additionalProperties": false
      },
      "EnvironmentSourceOperationCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EnvironmentSourceOperation"
        }
      },
      "EnvironmentSourceOperationInput": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string",
            "title": "The name of the operation to execute"
          },
          "variables": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {}
            },
            "title": "The variables of the application."
          }
        },
        "required": [
          "operation",
          "variables"
        ],
        "additionalProperties": false
      },
      "EnvironmentSynchronizeInput": {
        "type": "object",
        "properties": {
          "synchronize_code": {
            "type": "boolean",
            "title": "Synchronize code?"
          },
          "rebase": {
            "type": "boolean",
            "title": "Synchronize code by rebasing instead of merging"
          },
          "synchronize_data": {
            "type": "boolean",
            "title": "Synchronize data?"
          },
          "synchronize_resources": {
            "type": "boolean",
            "title": "Synchronize resources?"
          }
        },
        "required": [
          "synchronize_code",
          "rebase",
          "synchronize_data",
          "synchronize_resources"
        ],
        "additionalProperties": false
      },
      "EnvironmentType": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          }
        },
        "required": [
          "attributes"
        ],
        "additionalProperties": false
      },
      "EnvironmentTypeCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EnvironmentType"
        }
      },
      "EnvironmentVariable": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          },
          "project": {
            "type": "string",
            "title": "Project name"
          },
          "environment": {
            "type": "string",
            "title": "Environment name"
          },
          "inherited": {
            "type": "boolean",
            "title": "The variable is inherited from a parent environment"
          },
          "is_enabled": {
            "type": "boolean",
            "title": "The variable is enabled on this environment"
          },
          "is_inheritable": {
            "type": "boolean",
            "title": "The variable is inheritable to child environments"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "name",
          "attributes",
          "is_json",
          "is_sensitive",
          "visible_build",
          "visible_runtime",
          "application_scope",
          "project",
          "environment",
          "inherited",
          "is_enabled",
          "is_inheritable"
        ],
        "additionalProperties": false
      },
      "EnvironmentVariableCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EnvironmentVariable"
        }
      },
      "EnvironmentVariableCreateInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          },
          "is_enabled": {
            "type": "boolean",
            "title": "The variable is enabled on this environment"
          },
          "is_inheritable": {
            "type": "boolean",
            "title": "The variable is inheritable to child environments"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false
      },
      "EnvironmentVariablePatch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          },
          "is_enabled": {
            "type": "boolean",
            "title": "The variable is enabled on this environment"
          },
          "is_inheritable": {
            "type": "boolean",
            "title": "The variable is inheritable to child environments"
          }
        },
        "additionalProperties": false
      },
      "FastlyIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "service_id": {
            "type": "string",
            "title": "Fastly Service ID"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "events",
          "environments",
          "excluded_environments",
          "states",
          "result",
          "service_id"
        ],
        "additionalProperties": false
      },
      "FastlyIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "token": {
            "type": "string",
            "title": "Fastly API Token"
          },
          "service_id": {
            "type": "string",
            "title": "Fastly Service ID"
          }
        },
        "required": [
          "type",
          "token",
          "service_id"
        ],
        "additionalProperties": false
      },
      "FastlyIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "token": {
            "type": "string",
            "title": "Fastly API Token"
          },
          "service_id": {
            "type": "string",
            "title": "Fastly Service ID"
          }
        },
        "required": [
          "type",
          "token",
          "service_id"
        ],
        "additionalProperties": false
      },
      "FoundationDeploymentTarget": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "hosts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true,
                  "title": "The identifier of the host."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "core",
                    "satellite"
                  ],
                  "title": "The type of the deployment to this host."
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "title": "The services assigned to this host"
                }
              },
              "required": [
                "id",
                "type",
                "services"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "The hosts of the deployment target."
          },
          "use_dedicated_grid": {
            "type": "boolean",
            "title": "Whether the deployment should target dedicated Grid hosts."
          },
          "storage_type": {
            "type": "string",
            "nullable": true,
            "title": "The storage type."
          }
        },
        "required": [
          "type",
          "name",
          "hosts",
          "use_dedicated_grid",
          "storage_type"
        ],
        "additionalProperties": false
      },
      "FoundationDeploymentTargetCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "hosts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true,
                  "title": "The identifier of the host."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "core",
                    "satellite"
                  ],
                  "title": "The type of the deployment to this host."
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "title": "The services assigned to this host"
                }
              },
              "required": [
                "id",
                "type"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "The hosts of the deployment target."
          },
          "use_dedicated_grid": {
            "type": "boolean",
            "title": "Whether the deployment should target dedicated Grid hosts."
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "FoundationDeploymentTargetPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dedicated",
              "enterprise",
              "local"
            ],
            "title": "The type of the deployment target."
          },
          "name": {
            "type": "string",
            "title": "The name of the deployment target."
          },
          "hosts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "nullable": true,
                  "title": "The identifier of the host."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "core",
                    "satellite"
                  ],
                  "title": "The type of the deployment to this host."
                },
                "services": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "title": "The services assigned to this host"
                }
              },
              "required": [
                "id",
                "type"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "The hosts of the deployment target."
          },
          "use_dedicated_grid": {
            "type": "boolean",
            "title": "Whether the deployment should target dedicated Grid hosts."
          }
        },
        "required": [
          "type",
          "name"
        ],
        "additionalProperties": false
      },
      "GitLabIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "base_url": {
            "type": "string",
            "title": "The base URL of the GitLab installation."
          },
          "project": {
            "type": "string",
            "title": "The GitLab project (in the form `namespace/repo`)."
          },
          "build_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build merge requests."
          },
          "build_wip_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build work in progress merge requests (requires `build_merge_requests`)."
          },
          "merge_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "fetch_branches",
          "prune_branches",
          "environment_init_resources",
          "base_url",
          "project",
          "build_merge_requests",
          "build_wip_merge_requests",
          "merge_requests_clone_parent_data"
        ],
        "additionalProperties": false
      },
      "GitLabIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "token": {
            "type": "string",
            "title": "The GitLab private token."
          },
          "base_url": {
            "type": "string",
            "title": "The base URL of the GitLab installation."
          },
          "project": {
            "type": "string",
            "title": "The GitLab project (in the form `namespace/repo`)."
          },
          "build_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build merge requests."
          },
          "build_wip_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build work in progress merge requests (requires `build_merge_requests`)."
          },
          "merge_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "type",
          "token",
          "project"
        ],
        "additionalProperties": false
      },
      "GitLabIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "token": {
            "type": "string",
            "title": "The GitLab private token."
          },
          "base_url": {
            "type": "string",
            "title": "The base URL of the GitLab installation."
          },
          "project": {
            "type": "string",
            "title": "The GitLab project (in the form `namespace/repo`)."
          },
          "build_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build merge requests."
          },
          "build_wip_merge_requests": {
            "type": "boolean",
            "title": "Whether or not to build work in progress merge requests (requires `build_merge_requests`)."
          },
          "merge_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building merge requests."
          }
        },
        "required": [
          "type",
          "token",
          "project"
        ],
        "additionalProperties": false
      },
      "GithubIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "base_url": {
            "type": "string",
            "nullable": true,
            "title": "The base URL of the Github API endpoint."
          },
          "repository": {
            "type": "string",
            "title": "The GitHub repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "build_draft_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build draft pull requests (requires `build_pull_requests`)."
          },
          "build_pull_requests_post_merge": {
            "type": "boolean",
            "title": "Whether to build pull requests post-merge (if true) or pre-merge (if false)."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building pull requests."
          },
          "token_type": {
            "type": "string",
            "enum": [
              "classic_personal_token",
              "github_app"
            ],
            "title": "The type of the token of this GitHub integration"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "fetch_branches",
          "prune_branches",
          "environment_init_resources",
          "base_url",
          "repository",
          "build_pull_requests",
          "build_draft_pull_requests",
          "build_pull_requests_post_merge",
          "pull_requests_clone_parent_data",
          "token_type"
        ],
        "additionalProperties": false
      },
      "GithubIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "token": {
            "type": "string",
            "title": "The GitHub token."
          },
          "base_url": {
            "type": "string",
            "nullable": true,
            "title": "The base URL of the Github API endpoint."
          },
          "repository": {
            "type": "string",
            "title": "The GitHub repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "build_draft_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build draft pull requests (requires `build_pull_requests`)."
          },
          "build_pull_requests_post_merge": {
            "type": "boolean",
            "title": "Whether to build pull requests post-merge (if true) or pre-merge (if false)."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building pull requests."
          }
        },
        "required": [
          "type",
          "token",
          "repository"
        ],
        "additionalProperties": false
      },
      "GithubIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "fetch_branches": {
            "type": "boolean",
            "title": "Whether or not to fetch branches."
          },
          "prune_branches": {
            "type": "boolean",
            "title": "Whether or not to remove branches that disappeared remotely (requires `fetch_branches`)."
          },
          "environment_init_resources": {
            "type": "string",
            "enum": [
              "default",
              "manual",
              "minimum",
              "parent"
            ],
            "title": "The resources used when initializing a new service"
          },
          "token": {
            "type": "string",
            "title": "The GitHub token."
          },
          "base_url": {
            "type": "string",
            "nullable": true,
            "title": "The base URL of the Github API endpoint."
          },
          "repository": {
            "type": "string",
            "title": "The GitHub repository (in the form `user/repo`)."
          },
          "build_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build pull requests."
          },
          "build_draft_pull_requests": {
            "type": "boolean",
            "title": "Whether or not to build draft pull requests (requires `build_pull_requests`)."
          },
          "build_pull_requests_post_merge": {
            "type": "boolean",
            "title": "Whether to build pull requests post-merge (if true) or pre-merge (if false)."
          },
          "pull_requests_clone_parent_data": {
            "type": "boolean",
            "title": "Whether or not to clone parent data when building pull requests."
          }
        },
        "required": [
          "type",
          "token",
          "repository"
        ],
        "additionalProperties": false
      },
      "HealthWebHookIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "HealthWebHookIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "shared_key": {
            "type": "string",
            "nullable": true,
            "title": "The JWS shared secret key"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "HealthWebHookIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "shared_key": {
            "type": "string",
            "nullable": true,
            "title": "The JWS shared secret key"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "HttpLogIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "HTTP endpoint"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "HTTP headers to use in POST requests"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "extra",
          "url",
          "headers",
          "tls_verify",
          "excluded_services"
        ],
        "additionalProperties": false
      },
      "HttpLogIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "HTTP endpoint"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "HTTP headers to use in POST requests"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "HttpLogIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "HTTP endpoint"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "HTTP headers to use in POST requests"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "Integration": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BitbucketIntegration"
          },
          {
            "$ref": "#/components/schemas/BitbucketServerIntegration"
          },
          {
            "$ref": "#/components/schemas/BlackfireIntegration"
          },
          {
            "$ref": "#/components/schemas/FastlyIntegration"
          },
          {
            "$ref": "#/components/schemas/GithubIntegration"
          },
          {
            "$ref": "#/components/schemas/GitLabIntegration"
          },
          {
            "$ref": "#/components/schemas/EmailIntegration"
          },
          {
            "$ref": "#/components/schemas/PagerDutyIntegration"
          },
          {
            "$ref": "#/components/schemas/SlackIntegration"
          },
          {
            "$ref": "#/components/schemas/HealthWebHookIntegration"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegration"
          },
          {
            "$ref": "#/components/schemas/NewRelicIntegration"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegration"
          },
          {
            "$ref": "#/components/schemas/ScriptIntegration"
          },
          {
            "$ref": "#/components/schemas/SplunkIntegration"
          },
          {
            "$ref": "#/components/schemas/SumologicIntegration"
          },
          {
            "$ref": "#/components/schemas/SyslogIntegration"
          },
          {
            "$ref": "#/components/schemas/WebHookIntegration"
          }
        ]
      },
      "IntegrationCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Integration"
        }
      },
      "IntegrationCreateInput": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BitbucketIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/BitbucketServerIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/BlackfireIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/FastlyIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/GithubIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/GitLabIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/EmailIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/PagerDutyIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/SlackIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/HealthWebHookIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/NewRelicIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/ScriptIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/SplunkIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/SumologicIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/SyslogIntegrationCreateInput"
          },
          {
            "$ref": "#/components/schemas/WebHookIntegrationCreateInput"
          }
        ]
      },
      "IntegrationPatch": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BitbucketIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/BitbucketServerIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/BlackfireIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/FastlyIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/GithubIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/GitLabIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/EmailIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/PagerDutyIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/SlackIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/HealthWebHookIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/NewRelicIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/HttpLogIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/ScriptIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/SplunkIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/SumologicIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/SyslogIntegrationPatch"
          },
          {
            "$ref": "#/components/schemas/WebHookIntegrationPatch"
          }
        ]
      },
      "NewRelicIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The NewRelic Logs endpoint"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "extra",
          "url",
          "tls_verify",
          "excluded_services"
        ],
        "additionalProperties": false
      },
      "NewRelicIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The NewRelic Logs endpoint"
          },
          "license_key": {
            "type": "string",
            "title": "The NewRelic Logs License Key"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url",
          "license_key"
        ],
        "additionalProperties": false
      },
      "NewRelicIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The NewRelic Logs endpoint"
          },
          "license_key": {
            "type": "string",
            "title": "The NewRelic Logs License Key"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url",
          "license_key"
        ],
        "additionalProperties": false
      },
      "PagerDutyIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "routing_key": {
            "type": "string",
            "title": "The PagerDuty routing key"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "routing_key"
        ],
        "additionalProperties": false
      },
      "PagerDutyIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "routing_key": {
            "type": "string",
            "title": "The PagerDuty routing key"
          }
        },
        "required": [
          "type",
          "routing_key"
        ],
        "additionalProperties": false
      },
      "PagerDutyIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "routing_key": {
            "type": "string",
            "title": "The PagerDuty routing key"
          }
        },
        "required": [
          "type",
          "routing_key"
        ],
        "additionalProperties": false
      },
      "ProdDomainStorage": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Domain type"
          },
          "project": {
            "type": "string",
            "title": "Project name"
          },
          "name": {
            "type": "string",
            "title": "Domain name"
          },
          "registered_name": {
            "type": "string",
            "title": "Claimed domain name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is this domain default"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "name",
          "attributes"
        ],
        "additionalProperties": false
      },
      "ProdDomainStorageCreateInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Domain name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is this domain default"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "ProdDomainStoragePatch": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "is_default": {
            "type": "boolean",
            "title": "Is this domain default"
          }
        },
        "additionalProperties": false
      },
      "Project": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "owner": {
            "type": "string",
            "title": "Owner",
            "deprecated": true,
            "x-stability": "DEPRECATED"
          },
          "namespace": {
            "type": "string",
            "nullable": true,
            "title": "The namespace the project belongs in",
            "x-stability": "EXPERIMENTAL"
          },
          "organization": {
            "type": "string",
            "nullable": true,
            "title": "The organization the project belongs in",
            "x-stability": "EXPERIMENTAL"
          },
          "default_branch": {
            "type": "string",
            "nullable": true,
            "title": "Default branch"
          },
          "status": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "title": "Status code"
              },
              "message": {
                "type": "string",
                "title": "Status text"
              }
            },
            "required": [
              "code",
              "message"
            ],
            "additionalProperties": false,
            "title": "Status"
          },
          "timezone": {
            "type": "string",
            "title": "Timezone of the project"
          },
          "region": {
            "type": "string",
            "title": "Region"
          },
          "repository": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "title": "Git URL"
              },
              "client_ssh_key": {
                "type": "string",
                "nullable": true,
                "title": "SSH Key used to access external private repositories."
              }
            },
            "required": [
              "url",
              "client_ssh_key"
            ],
            "additionalProperties": false,
            "title": "Repository information"
          },
          "default_domain": {
            "type": "string",
            "nullable": true,
            "title": "Default domain"
          },
          "subscription": {
            "type": "object",
            "properties": {
              "license_uri": {
                "type": "string",
                "title": "URI of the subscription"
              },
              "plan": {
                "type": "string",
                "enum": [
                  "2xlarge",
                  "2xlarge-high-memory",
                  "4xlarge",
                  "8xlarge",
                  "development",
                  "large",
                  "large-high-memory",
                  "medium",
                  "medium-high-memory",
                  "standard",
                  "standard-high-memory",
                  "xlarge",
                  "xlarge-high-memory"
                ],
                "title": "Plan level"
              },
              "environments": {
                "type": "integer",
                "title": "Number of environments"
              },
              "storage": {
                "type": "integer",
                "title": "Size of storage (in MB)"
              },
              "included_users": {
                "type": "integer",
                "title": "Number of users"
              },
              "subscription_management_uri": {
                "type": "string",
                "title": "URI for managing the subscription"
              },
              "restricted": {
                "type": "boolean",
                "title": "True if subscription attributes, like number of users, are frozen"
              },
              "suspended": {
                "type": "boolean",
                "title": "Whether or not the subscription is suspended"
              },
              "user_licenses": {
                "type": "integer",
                "title": "Current number of users"
              },
              "resources": {
                "type": "object",
                "properties": {
                  "container_profiles": {
                    "type": "boolean",
                    "title": "Enable support for customizable container profiles."
                  },
                  "production": {
                    "type": "object",
                    "properties": {
                      "legacy_development": {
                        "type": "boolean",
                        "title": "Enable legacy development sizing for this environment type."
                      },
                      "max_cpu": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "title": "Maximum number of allocated CPU units."
                      },
                      "max_memory": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum amount of allocated RAM."
                      },
                      "max_environments": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum number of environments"
                      }
                    },
                    "required": [
                      "legacy_development",
                      "max_cpu",
                      "max_memory",
                      "max_environments"
                    ],
                    "additionalProperties": false,
                    "title": "Resources for production environments"
                  },
                  "development": {
                    "type": "object",
                    "properties": {
                      "legacy_development": {
                        "type": "boolean",
                        "title": "Enable legacy development sizing for this environment type."
                      },
                      "max_cpu": {
                        "type": "number",
                        "format": "float",
                        "nullable": true,
                        "title": "Maximum number of allocated CPU units."
                      },
                      "max_memory": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum amount of allocated RAM."
                      },
                      "max_environments": {
                        "type": "integer",
                        "nullable": true,
                        "title": "Maximum number of environments"
                      }
                    },
                    "required": [
                      "legacy_development",
                      "max_cpu",
                      "max_memory",
                      "max_environments"
                    ],
                    "additionalProperties": false,
                    "title": "Resources for development environments"
                  }
                },
                "required": [
                  "container_profiles",
                  "production",
                  "development"
                ],
                "additionalProperties": false,
                "title": "Resources limits"
              },
              "resource_validation_url": {
                "type": "string",
                "title": "URL for resources validation"
              },
              "image_types": {
                "type": "object",
                "properties": {
                  "only": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "title": "Image types to be allowed use."
                  },
                  "exclude": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "title": "Image types to be denied use."
                  }
                },
                "additionalProperties": false,
                "title": "Restricted and denied image types"
              }
            },
            "required": [
              "license_uri",
              "storage",
              "included_users",
              "subscription_management_uri",
              "restricted",
              "suspended",
              "user_licenses"
            ],
            "additionalProperties": false,
            "title": "Subscription information"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "attributes",
          "title",
          "description",
          "owner",
          "namespace",
          "organization",
          "default_branch",
          "status",
          "timezone",
          "region",
          "repository",
          "default_domain",
          "subscription"
        ],
        "additionalProperties": false
      },
      "ProjectCapabilities": {
        "type": "object",
        "properties": {
          "custom_domains": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, custom domains can be added to the project."
              },
              "environments_with_domains_limit": {
                "type": "integer",
                "title": "Limit on the amount of non-production environments that can have domains set"
              }
            },
            "required": [
              "enabled",
              "environments_with_domains_limit"
            ],
            "additionalProperties": false,
            "title": "Custom Domains"
          },
          "source_operations": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, source operations can be triggered."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Source Operations"
          },
          "runtime_operations": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, runtime operations can be triggered."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Runtime Operations"
          },
          "outbound_firewall": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, outbound firewall can be used."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Outbound Firewall"
          },
          "metrics": {
            "type": "object",
            "properties": {
              "max_range": {
                "type": "string",
                "title": "Limit on the maximum time range allowed in metrics retrieval"
              }
            },
            "required": [
              "max_range"
            ],
            "additionalProperties": false,
            "title": "Metrics"
          },
          "logs_forwarding": {
            "type": "object",
            "properties": {
              "max_extra_payload_size": {
                "type": "integer",
                "title": "Limit on the maximum size for the custom extra attributes added to the forwarded logs payload"
              }
            },
            "required": [
              "max_extra_payload_size"
            ],
            "additionalProperties": false,
            "title": "Logs Forwarding"
          },
          "guaranteed_resources": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, guaranteed resources can be used"
              },
              "instance_limit": {
                "type": "integer",
                "title": "Instance limit for guaranteed resources"
              }
            },
            "required": [
              "enabled",
              "instance_limit"
            ],
            "additionalProperties": false,
            "title": "Guaranteed Resources"
          },
          "images": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "available": {
                    "type": "boolean",
                    "title": "The image is available for deployment"
                  }
                },
                "required": [
                  "available"
                ],
                "additionalProperties": false
              }
            },
            "title": "Images"
          },
          "instance_limit": {
            "type": "integer",
            "title": "Maximum number of instance per service"
          },
          "build_resources": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, build resources can be modified."
              },
              "max_cpu": {
                "type": "number",
                "format": "float",
                "title": "CPU"
              },
              "max_memory": {
                "type": "integer",
                "title": "Memory"
              }
            },
            "required": [
              "enabled",
              "max_cpu",
              "max_memory"
            ],
            "additionalProperties": false,
            "title": "Build Resources"
          },
          "data_retention": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, data retention configuration can be modified."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Data Retention"
          },
          "autoscaling": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, autoscaling can be configured."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Autoscaling"
          },
          "integrations": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "If true, integrations can be used"
              },
              "config": {
                "type": "object",
                "properties": {
                  "newrelic": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "New Relic log-forwarding integration configurations"
                  },
                  "sumologic": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Sumo Logic log-forwarding integration configurations"
                  },
                  "splunk": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Splunk log-forwarding integration configurations"
                  },
                  "httplog": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "HTTP log-forwarding integration configurations"
                  },
                  "syslog": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Syslog log-forwarding integration configurations"
                  },
                  "webhook": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Webhook integration configurations"
                  },
                  "script": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Script integration configurations"
                  },
                  "github": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "GitHub integration configurations"
                  },
                  "gitlab": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "GitLab integration configurations"
                  },
                  "bitbucket": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Bitbucket integration configurations"
                  },
                  "bitbucket_server": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Bitbucket server integration configurations"
                  },
                  "health.email": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Health Email notification integration configurations"
                  },
                  "health.webhook": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Health Webhook notification integration configurations"
                  },
                  "health.pagerduty": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Health PagerDuty notification integration configurations"
                  },
                  "health.slack": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Health Slack notification integration configurations"
                  },
                  "cdn.fastly": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Fastly CDN integration configurations"
                  },
                  "blackfire": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "Blackfire integration configurations"
                  },
                  "otlp": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "title": "The integration is enabled."
                      },
                      "role": {
                        "type": "string",
                        "title": "Minimum required role for creating the integration."
                      }
                    },
                    "additionalProperties": false,
                    "title": "OpenTelemetry log-forwarding integration configurations"
                  }
                },
                "additionalProperties": false,
                "title": "Config"
              },
              "allowed_integrations": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "List of integrations allowed to be created"
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Integrations"
          }
        },
        "required": [
          "metrics",
          "logs_forwarding",
          "guaranteed_resources",
          "images",
          "instance_limit",
          "build_resources",
          "data_retention",
          "autoscaling"
        ],
        "additionalProperties": false
      },
      "ProjectPatch": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "default_branch": {
            "type": "string",
            "nullable": true,
            "title": "Default branch"
          },
          "timezone": {
            "type": "string",
            "title": "Timezone of the project"
          },
          "region": {
            "type": "string",
            "title": "Region"
          },
          "default_domain": {
            "type": "string",
            "nullable": true,
            "title": "Default domain"
          }
        },
        "additionalProperties": false
      },
      "ProjectSettings": {
        "type": "object",
        "properties": {
          "initialize": {
            "type": "object",
            "title": "Initialization key"
          },
          "product_name": {
            "type": "string",
            "title": "The name of the product."
          },
          "product_code": {
            "type": "string",
            "title": "The lowercase ASCII code of the product."
          },
          "ui_uri_template": {
            "type": "string",
            "title": "The template of the project UI uri"
          },
          "variables_prefix": {
            "type": "string",
            "title": "The prefix of the generated environment variables."
          },
          "bot_email": {
            "type": "string",
            "title": "The email of the bot."
          },
          "application_config_file": {
            "type": "string",
            "title": "The name of the application-specific configuration file."
          },
          "project_config_dir": {
            "type": "string",
            "title": "The name of the project configuration directory."
          },
          "use_drupal_defaults": {
            "type": "boolean",
            "title": "Whether to use the default Drupal-centric configuration files when missing from the repository."
          },
          "use_legacy_subdomains": {
            "type": "boolean",
            "title": "Whether to use legacy subdomain scheme, that replaces `.` by `---` in development subdomains."
          },
          "development_service_size": {
            "type": "string",
            "enum": [
              "2XL",
              "4XL",
              "L",
              "M",
              "S",
              "XL"
            ],
            "title": "The size of development services."
          },
          "development_application_size": {
            "type": "string",
            "enum": [
              "2XL",
              "4XL",
              "L",
              "M",
              "S",
              "XL"
            ],
            "title": "The size of development applications."
          },
          "enable_certificate_provisioning": {
            "type": "boolean",
            "title": "Enable automatic certificate provisioning."
          },
          "certificate_style": {
            "type": "string",
            "enum": [
              "ecdsa",
              "rsa"
            ],
            "title": "Certificate Style"
          },
          "certificate_renewal_activity": {
            "type": "boolean",
            "title": "Create an activity for certificate renewal"
          },
          "development_domain_template": {
            "type": "string",
            "nullable": true,
            "title": "The template of the development domain, can include {project} and {environment} placeholders."
          },
          "enable_state_api_deployments": {
            "type": "boolean",
            "title": "Enable the State API-driven deployments on regions that support them."
          },
          "temporary_disk_size": {
            "type": "integer",
            "nullable": true,
            "title": "Set the size of the temporary disk (/tmp, in MB)."
          },
          "local_disk_size": {
            "type": "integer",
            "nullable": true,
            "title": "Set the size of the instance disk (in MB)."
          },
          "cron_minimum_interval": {
            "type": "integer",
            "title": "Minimum interval between cron runs (in minutes)"
          },
          "cron_maximum_jitter": {
            "type": "integer",
            "title": "Maximum jitter inserted in cron runs (in minutes)"
          },
          "cron_production_expiry_interval": {
            "type": "integer",
            "title": "The interval (in days) for which cron activity and logs are kept around"
          },
          "cron_non_production_expiry_interval": {
            "type": "integer",
            "title": "The interval (in days) for which cron activity and logs are kept around"
          },
          "concurrency_limits": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "nullable": true
            },
            "title": "The concurrency limits applied to different kind of activities"
          },
          "flexible_build_cache": {
            "type": "boolean",
            "title": "Enable the flexible build cache implementation"
          },
          "strict_configuration": {
            "type": "boolean",
            "title": "Strict configuration validation."
          },
          "has_sleepy_crons": {
            "type": "boolean",
            "title": "Enable sleepy crons."
          },
          "crons_in_git": {
            "type": "boolean",
            "title": "Enable crons from git."
          },
          "custom_error_template": {
            "type": "string",
            "nullable": true,
            "title": "Custom error template for the router."
          },
          "app_error_page_template": {
            "type": "string",
            "nullable": true,
            "title": "Custom error template for the application."
          },
          "environment_name_strategy": {
            "type": "string",
            "enum": [
              "hash",
              "name-and-hash"
            ],
            "title": "The strategy used to generate environment machine names"
          },
          "data_retention": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "max_backups": {
                  "type": "integer",
                  "title": "The maximum number of backups per environment"
                },
                "default_config": {
                  "type": "object",
                  "properties": {
                    "manual_count": {
                      "type": "integer",
                      "title": "The number of manual backups to keep."
                    },
                    "schedule": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "interval": {
                            "type": "string",
                            "title": "The policy interval specification."
                          },
                          "count": {
                            "type": "integer",
                            "title": "The number of backups to keep under this interval."
                          }
                        },
                        "required": [
                          "interval",
                          "count"
                        ],
                        "additionalProperties": false
                      },
                      "title": "The backup schedule specification."
                    }
                  },
                  "required": [
                    "manual_count",
                    "schedule"
                  ],
                  "additionalProperties": false,
                  "title": "Default Config",
                  "x-stability": "EXPERIMENTAL"
                }
              },
              "required": [
                "max_backups",
                "default_config"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "Data retention configuration"
          },
          "enable_codesource_integration_push": {
            "type": "boolean",
            "title": "Enable pushing commits to codesource integration."
          },
          "enforce_mfa": {
            "type": "boolean",
            "title": "Enforce multi-factor authentication."
          },
          "systemd": {
            "type": "boolean",
            "title": "Use systemd images."
          },
          "router_gen2": {
            "type": "boolean",
            "title": "Use the router v2 image."
          },
          "build_resources": {
            "type": "object",
            "properties": {
              "cpu": {
                "type": "number",
                "format": "float",
                "title": "CPU"
              },
              "memory": {
                "type": "integer",
                "title": "Memory"
              }
            },
            "required": [
              "cpu",
              "memory"
            ],
            "additionalProperties": false,
            "title": "Build Resources"
          },
          "outbound_restrictions_default_policy": {
            "type": "string",
            "enum": [
              "allow",
              "deny"
            ],
            "title": "The default policy for firewall outbound restrictions"
          },
          "self_upgrade": {
            "type": "boolean",
            "title": "Whether self-upgrades are enabled"
          },
          "additional_hosts": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "A mapping of hostname to ip address to be added to the container's hosts file"
          },
          "max_allowed_routes": {
            "type": "integer",
            "title": "Maximum number of routes allowed"
          },
          "max_allowed_redirects_paths": {
            "type": "integer",
            "title": "Maximum number of redirect paths allowed"
          },
          "enable_incremental_backups": {
            "type": "boolean",
            "title": "Enable incremental backups on regions that support them."
          },
          "sizing_api_enabled": {
            "type": "boolean",
            "title": "Enable sizing api."
          },
          "enable_cache_grace_period": {
            "type": "boolean",
            "title": "Enable cache grace period."
          },
          "enable_zero_downtime_deployments": {
            "type": "boolean",
            "title": "Enable zero-downtime deployments for resource-only changes."
          },
          "enable_admin_agent": {
            "type": "boolean",
            "title": "Enable admin agent"
          },
          "certifier_url": {
            "type": "string",
            "title": "The certifier url"
          },
          "centralized_permissions": {
            "type": "boolean",
            "title": "Whether centralized permissions are enabled"
          },
          "glue_server_max_request_size": {
            "type": "integer",
            "title": "Maximum size of request to glue-server (in MB)"
          },
          "persistent_endpoints_ssh": {
            "type": "boolean",
            "title": "Enable SSH access update with persistent endpoint"
          },
          "persistent_endpoints_ssl_certificates": {
            "type": "boolean",
            "title": "Enable SSL certificate update with persistent endpoint"
          },
          "enable_disk_health_monitoring": {
            "type": "boolean",
            "title": "Enable disk health monitoring"
          },
          "enable_paused_environments": {
            "type": "boolean",
            "title": "Enable paused environments"
          },
          "enable_unified_configuration": {
            "type": "boolean",
            "title": "Enable unified configuration files"
          },
          "enable_routes_tracing": {
            "type": "boolean",
            "title": "Enable tracing support in routes"
          },
          "image_deployment_validation": {
            "type": "boolean",
            "title": "Enable extended deployment validation by images"
          },
          "support_generic_images": {
            "type": "boolean",
            "title": "Support composable images"
          },
          "enable_github_app_token_exchange": {
            "type": "boolean",
            "title": "Enable fetching the GitHub App token from SIA."
          },
          "continuous_profiling": {
            "type": "object",
            "properties": {
              "supported_runtimes": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "List of images supported for continuous profiling"
              }
            },
            "required": [
              "supported_runtimes"
            ],
            "additionalProperties": false,
            "title": "The continuous profiling configuration"
          },
          "disable_agent_error_reporter": {
            "type": "boolean",
            "title": "Disable agent error reporter"
          },
          "requires_domain_ownership": {
            "type": "boolean",
            "title": "Require ownership proof before domains are added to environments."
          },
          "enable_guaranteed_resources": {
            "type": "boolean",
            "title": "Enable guaranteed resources feature"
          },
          "git_server": {
            "type": "object",
            "properties": {
              "push_size_hard_limit": {
                "type": "integer",
                "title": "Push Size Reject Limit"
              }
            },
            "required": [
              "push_size_hard_limit"
            ],
            "additionalProperties": false,
            "title": "Git Server configuration"
          },
          "activity_logs_max_size": {
            "type": "integer",
            "title": "The maximum size of activity logs in bytes. This limit is applied on the pre-compressed log size."
          },
          "allow_manual_deployments": {
            "type": "boolean",
            "title": "If deployments can be manual, i.e. explicitly triggered by user."
          },
          "allow_rolling_deployments": {
            "type": "boolean",
            "title": "If the project can use rolling deployments."
          },
          "allow_burst": {
            "type": "boolean",
            "title": "Allow burst"
          },
          "router_resources": {
            "type": "object",
            "properties": {
              "baseline_cpu": {
                "type": "number",
                "format": "float",
                "title": "Router baseline CPU for flex plan"
              },
              "baseline_memory": {
                "type": "integer",
                "title": "Router baseline memory (MB) for flex plan"
              },
              "max_cpu": {
                "type": "number",
                "format": "float",
                "title": "Router max CPU for flex plan"
              },
              "max_memory": {
                "type": "integer",
                "title": "Router max memory (MB) for flex plan"
              }
            },
            "required": [
              "baseline_cpu",
              "baseline_memory",
              "max_cpu",
              "max_memory"
            ],
            "additionalProperties": false,
            "title": "Router resource settings for flex plan"
          }
        },
        "required": [
          "initialize",
          "product_name",
          "product_code",
          "ui_uri_template",
          "variables_prefix",
          "bot_email",
          "application_config_file",
          "project_config_dir",
          "use_drupal_defaults",
          "use_legacy_subdomains",
          "development_service_size",
          "development_application_size",
          "enable_certificate_provisioning",
          "certificate_style",
          "certificate_renewal_activity",
          "development_domain_template",
          "enable_state_api_deployments",
          "temporary_disk_size",
          "local_disk_size",
          "cron_minimum_interval",
          "cron_maximum_jitter",
          "cron_production_expiry_interval",
          "cron_non_production_expiry_interval",
          "concurrency_limits",
          "flexible_build_cache",
          "strict_configuration",
          "has_sleepy_crons",
          "crons_in_git",
          "custom_error_template",
          "app_error_page_template",
          "environment_name_strategy",
          "data_retention",
          "enable_codesource_integration_push",
          "enforce_mfa",
          "systemd",
          "router_gen2",
          "build_resources",
          "outbound_restrictions_default_policy",
          "self_upgrade",
          "additional_hosts",
          "max_allowed_routes",
          "max_allowed_redirects_paths",
          "enable_incremental_backups",
          "sizing_api_enabled",
          "enable_cache_grace_period",
          "enable_zero_downtime_deployments",
          "enable_admin_agent",
          "certifier_url",
          "centralized_permissions",
          "glue_server_max_request_size",
          "persistent_endpoints_ssh",
          "persistent_endpoints_ssl_certificates",
          "enable_disk_health_monitoring",
          "enable_paused_environments",
          "enable_unified_configuration",
          "enable_routes_tracing",
          "image_deployment_validation",
          "support_generic_images",
          "enable_github_app_token_exchange",
          "continuous_profiling",
          "disable_agent_error_reporter",
          "requires_domain_ownership",
          "enable_guaranteed_resources",
          "git_server",
          "activity_logs_max_size",
          "allow_manual_deployments",
          "allow_rolling_deployments",
          "allow_burst",
          "router_resources"
        ],
        "additionalProperties": false
      },
      "ProjectSettingsPatch": {
        "type": "object",
        "properties": {
          "initialize": {
            "type": "object",
            "title": "Initialization key"
          },
          "data_retention": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "max_backups": {
                  "type": "integer",
                  "title": "The maximum number of backups per environment"
                },
                "default_config": {
                  "type": "object",
                  "properties": {
                    "manual_count": {
                      "type": "integer",
                      "title": "The number of manual backups to keep."
                    },
                    "schedule": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "interval": {
                            "type": "string",
                            "title": "The policy interval specification."
                          },
                          "count": {
                            "type": "integer",
                            "title": "The number of backups to keep under this interval."
                          }
                        },
                        "required": [
                          "interval",
                          "count"
                        ],
                        "additionalProperties": false
                      },
                      "title": "The backup schedule specification."
                    }
                  },
                  "additionalProperties": false,
                  "title": "Default Config",
                  "x-stability": "EXPERIMENTAL"
                }
              },
              "required": [
                "default_config"
              ],
              "additionalProperties": false
            },
            "nullable": true,
            "title": "Data retention configuration"
          },
          "build_resources": {
            "type": "object",
            "properties": {
              "cpu": {
                "type": "number",
                "format": "float",
                "title": "CPU"
              },
              "memory": {
                "type": "integer",
                "title": "Memory"
              }
            },
            "additionalProperties": false,
            "title": "Build Resources"
          }
        },
        "additionalProperties": false
      },
      "ProjectVariable": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "name",
          "attributes",
          "is_json",
          "is_sensitive",
          "visible_build",
          "visible_runtime",
          "application_scope"
        ],
        "additionalProperties": false
      },
      "ProjectVariableCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProjectVariable"
        }
      },
      "ProjectVariableCreateInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "additionalProperties": false
      },
      "ProjectVariablePatch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "is_json": {
            "type": "boolean",
            "title": "The variable is a JSON string"
          },
          "is_sensitive": {
            "type": "boolean",
            "title": "The variable is sensitive"
          },
          "visible_build": {
            "type": "boolean",
            "title": "The variable is visible during build"
          },
          "visible_runtime": {
            "type": "boolean",
            "title": "The variable is visible at runtime"
          },
          "application_scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Applications that have access to this variable"
          }
        },
        "additionalProperties": false
      },
      "ProxyRoute": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "required": [
                  "enabled",
                  "include_subdomains",
                  "preload"
                ],
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "required": [
              "strict_transport_security",
              "min_version",
              "client_authentication",
              "client_certificate_authorities"
            ],
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Proxy destination"
          }
        },
        "required": [
          "primary",
          "id",
          "production_url",
          "attributes",
          "type",
          "tls",
          "to"
        ],
        "additionalProperties": false
      },
      "ProxyRouteCreateInput": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Proxy destination"
          }
        },
        "required": [
          "type",
          "to"
        ],
        "additionalProperties": false
      },
      "ProxyRoutePatch": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Proxy destination"
          }
        },
        "required": [
          "type",
          "to"
        ],
        "additionalProperties": false
      },
      "RedirectRoute": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "required": [
                  "enabled",
                  "include_subdomains",
                  "preload"
                ],
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "required": [
              "strict_transport_security",
              "min_version",
              "client_authentication",
              "client_certificate_authorities"
            ],
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Redirect destination"
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "regexp",
                    "to",
                    "prefix",
                    "append_suffix",
                    "code",
                    "expires"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "expires",
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          }
        },
        "required": [
          "primary",
          "id",
          "production_url",
          "attributes",
          "type",
          "tls",
          "to",
          "redirects"
        ],
        "additionalProperties": false
      },
      "RedirectRouteCreateInput": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Redirect destination"
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "to"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          }
        },
        "required": [
          "type",
          "to"
        ],
        "additionalProperties": false
      },
      "RedirectRoutePatch": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "to": {
            "type": "string",
            "title": "Redirect destination"
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "to"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          }
        },
        "required": [
          "type",
          "to"
        ],
        "additionalProperties": false
      },
      "Ref": {
        "type": "object",
        "properties": {
          "ref": {
            "type": "string",
            "title": "The name of the reference"
          },
          "object": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "title": "The type of object pointed to"
              },
              "sha": {
                "type": "string",
                "title": "The SHA of the object pointed to"
              }
            },
            "required": [
              "type",
              "sha"
            ],
            "additionalProperties": false,
            "title": "The object the reference points to"
          },
          "sha": {
            "type": "string",
            "title": "The commit sha of the ref"
          }
        },
        "required": [
          "ref",
          "object",
          "sha"
        ],
        "additionalProperties": false
      },
      "RefCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Ref"
        }
      },
      "ReplacementDomainStorage": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Domain type"
          },
          "project": {
            "type": "string",
            "title": "Project name"
          },
          "name": {
            "type": "string",
            "title": "Domain name"
          },
          "registered_name": {
            "type": "string",
            "title": "Claimed domain name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "replacement_for": {
            "type": "string",
            "title": "Prod domain which will be replaced by this domain."
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "name",
          "attributes"
        ],
        "additionalProperties": false
      },
      "ReplacementDomainStorageCreateInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "title": "Domain name"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "replacement_for": {
            "type": "string",
            "title": "Prod domain which will be replaced by this domain."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "ReplacementDomainStoragePatch": {
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          }
        },
        "additionalProperties": false
      },
      "Route": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProxyRoute"
          },
          {
            "$ref": "#/components/schemas/RedirectRoute"
          },
          {
            "$ref": "#/components/schemas/UpstreamRoute"
          }
        ]
      },
      "RouteCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Route"
        }
      },
      "RouteCreateInput": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProxyRouteCreateInput"
          },
          {
            "$ref": "#/components/schemas/RedirectRouteCreateInput"
          },
          {
            "$ref": "#/components/schemas/UpstreamRouteCreateInput"
          }
        ]
      },
      "RoutePatch": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ProxyRoutePatch"
          },
          {
            "$ref": "#/components/schemas/RedirectRoutePatch"
          },
          {
            "$ref": "#/components/schemas/UpstreamRoutePatch"
          }
        ]
      },
      "ScriptIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "script": {
            "type": "string",
            "title": "The script to run"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "events",
          "environments",
          "excluded_environments",
          "states",
          "result",
          "script"
        ],
        "additionalProperties": false
      },
      "ScriptIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "script": {
            "type": "string",
            "title": "The script to run"
          }
        },
        "required": [
          "type",
          "script"
        ],
        "additionalProperties": false
      },
      "ScriptIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "script": {
            "type": "string",
            "title": "The script to run"
          }
        },
        "required": [
          "type",
          "script"
        ],
        "additionalProperties": false
      },
      "SlackIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "channel": {
            "type": "string",
            "title": "The Slack channel to post messages to"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "channel"
        ],
        "additionalProperties": false
      },
      "SlackIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "token": {
            "type": "string",
            "title": "The Slack token to use"
          },
          "channel": {
            "type": "string",
            "title": "The Slack channel to post messages to"
          }
        },
        "required": [
          "type",
          "token",
          "channel"
        ],
        "additionalProperties": false
      },
      "SlackIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "token": {
            "type": "string",
            "title": "The Slack token to use"
          },
          "channel": {
            "type": "string",
            "title": "The Slack channel to post messages to"
          }
        },
        "required": [
          "type",
          "token",
          "channel"
        ],
        "additionalProperties": false
      },
      "SplunkIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Splunk HTTP Event Connector REST API endpoint"
          },
          "index": {
            "type": "string",
            "title": "The Splunk Index"
          },
          "sourcetype": {
            "type": "string",
            "title": "The event 'sourcetype'"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "extra",
          "url",
          "index",
          "sourcetype",
          "tls_verify",
          "excluded_services"
        ],
        "additionalProperties": false
      },
      "SplunkIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Splunk HTTP Event Connector REST API endpoint"
          },
          "index": {
            "type": "string",
            "title": "The Splunk Index"
          },
          "token": {
            "type": "string",
            "title": "The Splunk Authorization Token"
          },
          "sourcetype": {
            "type": "string",
            "title": "The event 'sourcetype'"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url",
          "index",
          "token"
        ],
        "additionalProperties": false
      },
      "SplunkIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Splunk HTTP Event Connector REST API endpoint"
          },
          "index": {
            "type": "string",
            "title": "The Splunk Index"
          },
          "token": {
            "type": "string",
            "title": "The Splunk Authorization Token"
          },
          "sourcetype": {
            "type": "string",
            "title": "The event 'sourcetype'"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url",
          "index",
          "token"
        ],
        "additionalProperties": false
      },
      "SumologicIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Sumologic HTTPS endpoint"
          },
          "category": {
            "type": "string",
            "title": "The Category used to easy filtering (sent as X-Sumo-Category header)"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "extra",
          "url",
          "category",
          "tls_verify",
          "excluded_services"
        ],
        "additionalProperties": false
      },
      "SumologicIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Sumologic HTTPS endpoint"
          },
          "category": {
            "type": "string",
            "title": "The Category used to easy filtering (sent as X-Sumo-Category header)"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "SumologicIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "url": {
            "type": "string",
            "title": "The Sumologic HTTPS endpoint"
          },
          "category": {
            "type": "string",
            "title": "The Category used to easy filtering (sent as X-Sumo-Category header)"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "SyslogIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "host": {
            "type": "string",
            "title": "Syslog relay/collector host"
          },
          "port": {
            "type": "integer",
            "title": "Syslog relay/collector port"
          },
          "protocol": {
            "type": "string",
            "enum": [
              "tcp",
              "tls",
              "udp"
            ],
            "title": "Transport protocol"
          },
          "facility": {
            "type": "integer",
            "title": "Syslog facility"
          },
          "message_format": {
            "type": "string",
            "enum": [
              "rfc3164",
              "rfc5424"
            ],
            "title": "Syslog message format"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "extra",
          "host",
          "port",
          "protocol",
          "facility",
          "message_format",
          "tls_verify",
          "excluded_services"
        ],
        "additionalProperties": false
      },
      "SyslogIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "host": {
            "type": "string",
            "title": "Syslog relay/collector host"
          },
          "port": {
            "type": "integer",
            "title": "Syslog relay/collector port"
          },
          "protocol": {
            "type": "string",
            "enum": [
              "tcp",
              "tls",
              "udp"
            ],
            "title": "Transport protocol"
          },
          "facility": {
            "type": "integer",
            "title": "Syslog facility"
          },
          "message_format": {
            "type": "string",
            "enum": [
              "rfc3164",
              "rfc5424"
            ],
            "title": "Syslog message format"
          },
          "auth_token": {
            "type": "string",
            "title": "Authentication token"
          },
          "auth_mode": {
            "type": "string",
            "enum": [
              "prefix",
              "structured_data"
            ],
            "title": "Authentication mode"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "SyslogIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary key/value pairs to include with forwarded logs"
          },
          "host": {
            "type": "string",
            "title": "Syslog relay/collector host"
          },
          "port": {
            "type": "integer",
            "title": "Syslog relay/collector port"
          },
          "protocol": {
            "type": "string",
            "enum": [
              "tcp",
              "tls",
              "udp"
            ],
            "title": "Transport protocol"
          },
          "facility": {
            "type": "integer",
            "title": "Syslog facility"
          },
          "message_format": {
            "type": "string",
            "enum": [
              "rfc3164",
              "rfc5424"
            ],
            "title": "Syslog message format"
          },
          "auth_token": {
            "type": "string",
            "title": "Authentication token"
          },
          "auth_mode": {
            "type": "string",
            "enum": [
              "prefix",
              "structured_data"
            ],
            "title": "Authentication mode"
          },
          "tls_verify": {
            "type": "boolean",
            "title": "Enable/Disable HTTPS certificate verification"
          },
          "excluded_services": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Comma separated list of service and application names to exclude from logging"
          }
        },
        "required": [
          "type"
        ],
        "additionalProperties": false
      },
      "SystemInformation": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "title": "The version of this project server"
          },
          "image": {
            "type": "string",
            "title": "The image version of the project server"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Started At"
          }
        },
        "required": [
          "version",
          "image",
          "started_at"
        ],
        "additionalProperties": false
      },
      "Tree": {
        "type": "object",
        "properties": {
          "sha": {
            "type": "string",
            "title": "The identifier of the tree"
          },
          "tree": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "path": {
                  "type": "string",
                  "title": "The path of the item"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "040000",
                    "100644",
                    "100755",
                    "120000",
                    "160000"
                  ],
                  "title": "The mode of the item"
                },
                "type": {
                  "type": "string",
                  "title": "The type of the item (blob or tree)"
                },
                "sha": {
                  "type": "string",
                  "nullable": true,
                  "title": "The sha of the item"
                }
              },
              "required": [
                "path",
                "mode",
                "type",
                "sha"
              ],
              "additionalProperties": false
            },
            "title": "The tree items"
          }
        },
        "required": [
          "sha",
          "tree"
        ],
        "additionalProperties": false
      },
      "UpstreamRoute": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "required": [
                  "enabled",
                  "include_subdomains",
                  "preload"
                ],
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "required": [
              "strict_transport_security",
              "min_version",
              "client_authentication",
              "client_certificate_authorities"
            ],
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "cache": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether the cache is enabled."
              },
              "default_ttl": {
                "type": "integer",
                "title": "The TTL to apply when the response doesn't specify one. Only applies to static files."
              },
              "cookies": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The cookies to take into account for the cache key."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The headers to take into account for the cache key."
              }
            },
            "required": [
              "enabled",
              "default_ttl",
              "cookies",
              "headers"
            ],
            "additionalProperties": false,
            "title": "Cache configuration."
          },
          "ssi": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether SSI include is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Server-Side Include configuration."
          },
          "upstream": {
            "type": "string",
            "title": "The upstream to use for this route."
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "regexp",
                    "to",
                    "prefix",
                    "append_suffix",
                    "code",
                    "expires"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "expires",
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          },
          "sticky": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether sticky routing is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Sticky routing configuration."
          }
        },
        "required": [
          "primary",
          "id",
          "production_url",
          "attributes",
          "type",
          "tls",
          "cache",
          "ssi",
          "upstream",
          "redirects",
          "sticky"
        ],
        "additionalProperties": false
      },
      "UpstreamRouteCreateInput": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "cache": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether the cache is enabled."
              },
              "default_ttl": {
                "type": "integer",
                "title": "The TTL to apply when the response doesn't specify one. Only applies to static files."
              },
              "cookies": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The cookies to take into account for the cache key."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The headers to take into account for the cache key."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Cache configuration."
          },
          "ssi": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether SSI include is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Server-Side Include configuration."
          },
          "upstream": {
            "type": "string",
            "title": "The upstream to use for this route."
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "to"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          },
          "sticky": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether sticky routing is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Sticky routing configuration."
          }
        },
        "required": [
          "type",
          "upstream"
        ],
        "additionalProperties": false
      },
      "UpstreamRoutePatch": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean",
            "nullable": true,
            "title": "This route is the primary route of the environment"
          },
          "id": {
            "type": "string",
            "nullable": true,
            "title": "Route Identifier"
          },
          "production_url": {
            "type": "string",
            "nullable": true,
            "title": "How this URL route would look on production environment"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Arbitrary attributes attached to this resource"
          },
          "type": {
            "type": "string",
            "enum": [
              "proxy",
              "redirect",
              "upstream"
            ],
            "title": "Route type."
          },
          "tls": {
            "type": "object",
            "properties": {
              "strict_transport_security": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether strict transport security is enabled or not."
                  },
                  "include_subdomains": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should include all subdomains."
                  },
                  "preload": {
                    "type": "boolean",
                    "nullable": true,
                    "title": "Whether the strict transport security policy should be preloaded in browsers."
                  }
                },
                "additionalProperties": false,
                "title": "Strict-Transport-Security options."
              },
              "min_version": {
                "type": "string",
                "enum": [
                  "TLSv1.0",
                  "TLSv1.1",
                  "TLSv1.2",
                  "TLSv1.3"
                ],
                "nullable": true,
                "title": "The minimum TLS version to support."
              },
              "client_authentication": {
                "type": "string",
                "enum": [
                  "request",
                  "require"
                ],
                "nullable": true,
                "title": "The type of client authentication to request."
              },
              "client_certificate_authorities": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "Certificate authorities to validate the client certificate against. If not specified, a default set of trusted CAs will be used."
              }
            },
            "additionalProperties": false,
            "title": "TLS settings for the route."
          },
          "cache": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether the cache is enabled."
              },
              "default_ttl": {
                "type": "integer",
                "title": "The TTL to apply when the response doesn't specify one. Only applies to static files."
              },
              "cookies": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The cookies to take into account for the cache key."
              },
              "headers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "title": "The headers to take into account for the cache key."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Cache configuration."
          },
          "ssi": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether SSI include is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Server-Side Include configuration."
          },
          "upstream": {
            "type": "string",
            "title": "The upstream to use for this route."
          },
          "redirects": {
            "type": "object",
            "properties": {
              "expires": {
                "type": "string",
                "title": "The amount of time, in seconds, to cache the redirects."
              },
              "paths": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "regexp": {
                      "type": "boolean",
                      "title": "Whether the path is a regular expression."
                    },
                    "to": {
                      "type": "string",
                      "title": "The URL to redirect to."
                    },
                    "prefix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to redirect all the paths that start with the path."
                    },
                    "append_suffix": {
                      "type": "boolean",
                      "nullable": true,
                      "title": "Whether to append the incoming suffix to the redirected URL."
                    },
                    "code": {
                      "type": "integer",
                      "enum": [
                        301,
                        302,
                        307,
                        308
                      ],
                      "title": "The redirect code to use."
                    },
                    "expires": {
                      "type": "string",
                      "nullable": true,
                      "title": "The amount of time, in seconds, to cache the redirects."
                    }
                  },
                  "required": [
                    "to"
                  ],
                  "additionalProperties": false
                },
                "title": "The paths to redirect"
              }
            },
            "required": [
              "paths"
            ],
            "additionalProperties": false,
            "title": "The configuration of the redirects."
          },
          "sticky": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "title": "Whether sticky routing is enabled."
              }
            },
            "required": [
              "enabled"
            ],
            "additionalProperties": false,
            "title": "Sticky routing configuration."
          }
        },
        "required": [
          "type",
          "upstream"
        ],
        "additionalProperties": false
      },
      "Version": {
        "type": "object",
        "properties": {
          "commit": {
            "type": "string",
            "nullable": true,
            "title": "The SHA of the commit of this version"
          },
          "locked": {
            "type": "boolean",
            "title": "Whether this version is locked and cannot be modified"
          },
          "routing": {
            "type": "object",
            "properties": {
              "percentage": {
                "type": "integer",
                "title": "The percentage of traffic routed to this version"
              }
            },
            "required": [
              "percentage"
            ],
            "additionalProperties": false,
            "title": "Configuration about the traffic routed to this version"
          }
        },
        "required": [
          "commit",
          "locked",
          "routing"
        ],
        "additionalProperties": false
      },
      "VersionCollection": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Version"
        }
      },
      "VersionCreateInput": {
        "type": "object",
        "properties": {
          "routing": {
            "type": "object",
            "properties": {
              "percentage": {
                "type": "integer",
                "title": "The percentage of traffic routed to this version"
              }
            },
            "additionalProperties": false,
            "title": "Configuration about the traffic routed to this version"
          }
        },
        "additionalProperties": false
      },
      "VersionPatch": {
        "type": "object",
        "properties": {
          "routing": {
            "type": "object",
            "properties": {
              "percentage": {
                "type": "integer",
                "title": "The percentage of traffic routed to this version"
              }
            },
            "additionalProperties": false,
            "title": "Configuration about the traffic routed to this version"
          }
        },
        "additionalProperties": false
      },
      "WebHookIntegration": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Creation date"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "Update date"
          },
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "shared_key": {
            "type": "string",
            "nullable": true,
            "title": "The JWS shared secret key"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "created_at",
          "updated_at",
          "type",
          "events",
          "environments",
          "excluded_environments",
          "states",
          "result",
          "shared_key",
          "url"
        ],
        "additionalProperties": false
      },
      "WebHookIntegrationCreateInput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "shared_key": {
            "type": "string",
            "nullable": true,
            "title": "The JWS shared secret key"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "WebHookIntegrationPatch": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Integration type"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to execute the hook on"
          },
          "excluded_environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "The environments to not execute the hook on"
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "title": "Events to execute the hook on"
          },
          "result": {
            "type": "string",
            "enum": [
              "*",
              "failure",
              "success"
            ],
            "title": "Result to execute the hook on"
          },
          "shared_key": {
            "type": "string",
            "nullable": true,
            "title": "The JWS shared secret key"
          },
          "url": {
            "type": "string",
            "title": "The URL of the webhook"
          }
        },
        "required": [
          "type",
          "url"
        ],
        "additionalProperties": false
      },
      "AutoscalerAlertPartial": {
        "properties": {
          "name": {
            "description": "User friendly name for the alert",
            "title": "Name",
            "type": "string"
          },
          "environment": {
            "type": "string",
            "nullable": true,
            "title": "Environment",
            "description": "Environment for which the alert was received"
          },
          "service": {
            "description": "Service for which the alert was received",
            "title": "Service",
            "type": "string"
          },
          "resource": {
            "type": "string",
            "nullable": true,
            "title": "Resource",
            "description": "Name of resource that triggered the alert"
          },
          "condition": {
            "description": "Comparison condition to use when evaluating the alert",
            "title": "Condition",
            "type": "string"
          },
          "threshold": {
            "description": "Value that has to be crossed for the alert to be considered triggered",
            "title": "Threshold",
            "type": "number"
          },
          "duration": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerDuration"
            },
            "nullable": true,
            "description": "Number of seconds during which the condition was satisfied"
          },
          "value": {
            "description": "Current value for the received alert",
            "title": "Value",
            "type": "number"
          }
        },
        "required": [
          "name",
          "service",
          "condition",
          "threshold",
          "value"
        ],
        "title": "AutoscalerAlertPartial",
        "type": "object"
      },
      "AutoscalerCPUPressureTrigger": {
        "description": "CPU pressure trigger settings.\n\nWhen CPU pressure goes below lower bound, service will be scaled down.\nWhen CPU pressure goes above upper bound, service will be scaled up.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true,
            "title": "Enabled",
            "description": "Whether the trigger is enabled"
          },
          "down": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Lower bound on resource usage"
          },
          "up": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Upper bound on resource usage"
          }
        },
        "title": "AutoscalerCPUPressureTrigger",
        "type": "object"
      },
      "AutoscalerCPUResources": {
        "description": "CPU scaling settings",
        "properties": {
          "min": {
            "description": "Minimum CPUs when scaling down vertically",
            "minimum": 0,
            "title": "Min",
            "type": "number"
          },
          "max": {
            "description": "Maximum CPUs when scaling up vertically",
            "minimum": 0,
            "title": "Max",
            "type": "number"
          }
        },
        "title": "AutoscalerCPUResources",
        "type": "object"
      },
      "AutoscalerCPUTrigger": {
        "description": "CPU resource trigger settings.\n\nWhen CPU usage goes below lower bound, service will be scaled down.\nWhen CPU usage goes above upper bound, service will be scaled up.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true,
            "title": "Enabled",
            "description": "Whether the trigger is enabled"
          },
          "down": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Lower bound on resource usage"
          },
          "up": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Upper bound on resource usage"
          }
        },
        "title": "AutoscalerCPUTrigger",
        "type": "object"
      },
      "AutoscalerCondition": {
        "description": "Trigger condition settings",
        "properties": {
          "threshold": {
            "description": "Value at which the condition is satisfied",
            "maximum": 100,
            "minimum": 0,
            "title": "Threshold",
            "type": "number"
          },
          "duration": {
            "$ref": "#/components/schemas/AutoscalerDuration",
            "description": "Number of seconds during which the condition must be satisfied"
          },
          "enabled": {
            "type": "boolean",
            "nullable": true,
            "title": "Enabled",
            "description": "Whether the condition should be used for generating alerts"
          }
        },
        "required": [
          "threshold"
        ],
        "title": "AutoscalerCondition",
        "type": "object"
      },
      "AutoscalerDuration": {
        "enum": [
          60,
          120,
          300,
          600,
          1800,
          3600
        ],
        "title": "AutoscalerDuration",
        "type": "integer"
      },
      "AutoscalerEmptyBody": {
        "description": "Empty body",
        "properties": {},
        "title": "AutoscalerEmptyBody",
        "type": "object"
      },
      "AutoscalerInstances": {
        "description": "Horizontal scaling settings",
        "properties": {
          "min": {
            "description": "Minimum number of instances when scaling down horizontally",
            "title": "Min",
            "type": "integer"
          },
          "max": {
            "description": "Maximum number of instances when scaling up horizontally",
            "title": "Max",
            "type": "integer"
          }
        },
        "title": "AutoscalerInstances",
        "type": "object"
      },
      "AutoscalerMemoryPressureTrigger": {
        "description": "Memory pressure trigger settings.\n\nWhen memory pressure goes below lower bound, service will be scaled down.\nWhen memory pressure goes above upper bound, service will be scaled up.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true,
            "title": "Enabled",
            "description": "Whether the trigger is enabled"
          },
          "down": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Lower bound on resource usage"
          },
          "up": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Upper bound on resource usage"
          }
        },
        "title": "AutoscalerMemoryPressureTrigger",
        "type": "object"
      },
      "AutoscalerMemoryResources": {
        "description": "Memory scaling settings",
        "properties": {
          "min": {
            "description": "Minimum memory (bytes) when scaling down vertically",
            "minimum": 0,
            "title": "Min",
            "type": "integer"
          },
          "max": {
            "description": "Maximum memory (bytes) when scaling up vertically",
            "minimum": 0,
            "title": "Max",
            "type": "integer"
          }
        },
        "title": "AutoscalerMemoryResources",
        "type": "object"
      },
      "AutoscalerMemoryTrigger": {
        "description": "Memory resource trigger settings.\n\nWhen memory usage goes below lower bound, service will be scaled down.\nWhen memory usage goes above upper bound, service will be scaled up.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true,
            "title": "Enabled",
            "description": "Whether the trigger is enabled"
          },
          "down": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Lower bound on resource usage"
          },
          "up": {
            "$ref": "#/components/schemas/AutoscalerCondition",
            "description": "Upper bound on resource usage"
          }
        },
        "title": "AutoscalerMemoryTrigger",
        "type": "object"
      },
      "AutoscalerResources": {
        "description": "Vertical scaling settings",
        "properties": {
          "cpu": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerCPUResources"
            },
            "nullable": true,
            "description": "Lower/Upper bounds on CPU allocation when scaling"
          },
          "memory": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerMemoryResources"
            },
            "nullable": true,
            "description": "Lower/Upper bounds on Memory allocation when scaling"
          }
        },
        "title": "AutoscalerResources",
        "type": "object"
      },
      "AutoscalerScalingCooldown": {
        "description": "Scaling cooldown settings",
        "properties": {
          "up": {
            "description": "Number of seconds to wait until scaling up can be done again (since last attempt)",
            "minimum": 0,
            "title": "Up",
            "type": "integer"
          },
          "down": {
            "description": "Number of seconds to wait until scaling down can be done again (since last attempt)",
            "minimum": 0,
            "title": "Down",
            "type": "integer"
          }
        },
        "title": "AutoscalerScalingCooldown",
        "type": "object"
      },
      "AutoscalerScalingFactor": {
        "description": "Scaling factor settings",
        "properties": {
          "up": {
            "description": "Number of instances to add when scaling up horizontally",
            "minimum": 0,
            "title": "Up",
            "type": "integer"
          },
          "down": {
            "description": "Number of instances to remove when scaling down horizontally",
            "minimum": 0,
            "title": "Down",
            "type": "integer"
          }
        },
        "title": "AutoscalerScalingFactor",
        "type": "object"
      },
      "AutoscalerServiceSettings": {
        "description": "Autoscaling settings for a specific service",
        "properties": {
          "triggers": {
            "$ref": "#/components/schemas/AutoscalerTriggers",
            "description": "Metrics should be evaluated as triggers for autoscaling"
          },
          "instances": {
            "$ref": "#/components/schemas/AutoscalerInstances",
            "description": "Lower/Upper bounds on number of instances for horizontal scaling"
          },
          "resources": {
            "$ref": "#/components/schemas/AutoscalerResources",
            "description": "Lower/Upper bounds on cpu/memory for vertical scaling"
          },
          "scale_factor": {
            "$ref": "#/components/schemas/AutoscalerScalingFactor",
            "description": "How many instances to add/remove on each scaling attempt"
          },
          "scale_cooldown": {
            "$ref": "#/components/schemas/AutoscalerScalingCooldown",
            "description": "How long to wait before the next scaling attempt can be performed"
          }
        },
        "title": "AutoscalerServiceSettings",
        "type": "object"
      },
      "AutoscalerSettings": {
        "description": "Update model for autoscaling settings.\n\nThis model is mainly used for partial updates (PATCH), therefore all its\nattributes are optional.",
        "properties": {
          "services": {
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/AutoscalerServiceSettings"
              },
              "nullable": true
            },
            "type": "object",
            "nullable": true,
            "title": "Services",
            "description": "Each service for which autoscaling is configured is listed in the key"
          }
        },
        "title": "AutoscalerSettings",
        "type": "object"
      },
      "AutoscalerTriggers": {
        "additionalProperties": false,
        "description": "Scaling triggers settings",
        "properties": {
          "cpu": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerCPUTrigger"
            },
            "nullable": true,
            "description": "Settings for scaling based on CPU usage"
          },
          "memory": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerMemoryTrigger"
            },
            "nullable": true,
            "description": "Settings for scaling based on Memory usage"
          },
          "cpu_pressure": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerCPUPressureTrigger"
            },
            "nullable": true,
            "description": "Settings for scaling based on CPU pressure"
          },
          "memory_pressure": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AutoscalerMemoryPressureTrigger"
            },
            "nullable": true,
            "description": "Settings for scaling based on Memory pressure"
          }
        },
        "title": "AutoscalerTriggers",
        "type": "object"
      },
      "Invoice": {
        "type": "object",
        "description": "The invoice object.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The invoice id."
          },
          "invoice_number": {
            "description": "The invoice number.",
            "type": "string"
          },
          "type": {
            "description": "Invoice type.",
            "type": "string",
            "enum": [
              "invoice",
              "credit_memo"
            ]
          },
          "order_id": {
            "description": "The id of the related order.",
            "type": "string"
          },
          "related_invoice_id": {
            "description": "If the invoice is a credit memo (type=credit_memo), this field stores the id of the related/original invoice.",
            "type": "string",
            "nullable": true
          },
          "status": {
            "description": "The invoice status.",
            "type": "string",
            "enum": [
              "paid",
              "charged_off",
              "pending",
              "refunded",
              "canceled",
              "refund_pending"
            ]
          },
          "owner": {
            "description": "The ULID of the owner.",
            "type": "string",
            "format": "ulid"
          },
          "invoice_date": {
            "description": "The invoice date.",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoice_due": {
            "description": "The invoice due date.",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "description": "The time when the invoice was created.",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "changed": {
            "description": "The time when the invoice was changed.",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "company": {
            "description": "Company name (if any).",
            "type": "string"
          },
          "total": {
            "description": "The invoice total.",
            "type": "number",
            "format": "double"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "notes": {
            "description": "The invoice note.",
            "type": "string"
          },
          "invoice_pdf": {
            "$ref": "#/components/schemas/InvoicePDF"
          }
        }
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the organization."
          },
          "type": {
            "type": "string",
            "description": "The type of the organization.",
            "enum": [
              "fixed",
              "flexible"
            ]
          },
          "owner_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the owner."
          },
          "namespace": {
            "type": "string",
            "description": "The namespace in which the organization name is unique."
          },
          "name": {
            "type": "string",
            "description": "A unique machine name representing the organization."
          },
          "label": {
            "type": "string",
            "description": "The human-readable label of the organization."
          },
          "country": {
            "type": "string",
            "description": "The organization country (2-letter country code).",
            "maxLength": 2
          },
          "capabilities": {
            "type": "array",
            "description": "The organization capabilities.",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "vendor": {
            "type": "string",
            "description": "The vendor."
          },
          "billing_account_id": {
            "type": "string",
            "description": "The Billing Account ID."
          },
          "billing_legacy": {
            "type": "boolean",
            "description": "Whether the account is billed with the legacy system."
          },
          "status": {
            "type": "string",
            "description": "The status of the organization.",
            "enum": [
              "active",
              "restricted",
              "suspended",
              "deleted"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the organization was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the organization was last updated."
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current organization.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "update": {
                "type": "object",
                "description": "Link for updating the current organization.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "delete": {
                "type": "object",
                "description": "Link for deleting the current organization.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "members": {
                "type": "object",
                "description": "Link to the current organization's members.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "create-member": {
                "type": "object",
                "description": "Link for creating a new organization member.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "address": {
                "type": "object",
                "description": "Link to the current organization's address.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "profile": {
                "type": "object",
                "description": "Link to the current organization's profile.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "payment-source": {
                "type": "object",
                "description": "Link to the current organization's payment source.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "orders": {
                "type": "object",
                "description": "Link to the current organization's orders.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "vouchers": {
                "type": "object",
                "description": "Link to the current organization's vouchers.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "apply-voucher": {
                "type": "object",
                "description": "Link for applying a voucher for the current organization.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "subscriptions": {
                "type": "object",
                "description": "Link to the current organization's subscriptions.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "create-subscription": {
                "type": "object",
                "description": "Link for creating a new organization subscription.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "estimate-subscription": {
                "type": "object",
                "description": "Link for estimating the price of a new subscription.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "mfa-enforcement": {
                "type": "object",
                "description": "Link to the current organization's MFA enforcement settings.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              }
            }
          }
        }
      },
      "OrganizationReference": {
        "description": "The referenced organization, or null if it no longer exists.",
        "type": "object",
        "nullable": true,
        "properties": {
          "id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the organization."
          },
          "type": {
            "type": "string",
            "description": "The type of the organization."
          },
          "owner_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the owner."
          },
          "name": {
            "type": "string",
            "description": "A unique machine name representing the organization."
          },
          "label": {
            "type": "string",
            "description": "The human-readable label of the organization."
          },
          "vendor": {
            "type": "string",
            "description": "The vendor."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the organization was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the organization was last updated."
          }
        }
      },
      "OrganizationMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user.",
            "deprecated": true
          },
          "organization_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the organization."
          },
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user."
          },
          "permissions": {
            "$ref": "#/components/schemas/Permissions"
          },
          "level": {
            "type": "string",
            "description": "Access level of the member.",
            "enum": [
              "admin",
              "viewer"
            ]
          },
          "owner": {
            "type": "boolean",
            "description": "Whether the member is the organization owner."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the member was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the member was last updated."
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current member.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "update": {
                "type": "object",
                "description": "Link for updating the current member.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "delete": {
                "type": "object",
                "description": "Link for deleting the current member.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              }
            }
          }
        }
      },
      "Vouchers": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "format": "uuid",
            "description": "The uuid of the user."
          },
          "vouchers_total": {
            "type": "string",
            "description": "The total voucher credit given to the user."
          },
          "vouchers_applied": {
            "type": "string",
            "description": "The part of total voucher credit applied to orders."
          },
          "vouchers_remaining_balance": {
            "type": "string",
            "description": "The remaining voucher credit, available for future orders."
          },
          "currency": {
            "type": "string",
            "description": "The currency of the vouchers."
          },
          "vouchers": {
            "description": "Array of vouchers.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The voucher code."
                },
                "amount": {
                  "type": "string",
                  "description": "The total voucher credit."
                },
                "currency": {
                  "type": "string",
                  "description": "The currency of the voucher."
                },
                "orders": {
                  "type": "array",
                  "description": "Array of orders to which a voucher applied.",
                  "items": {
                    "type": "object",
                    "properties": {
                      "order_id": {
                        "type": "string",
                        "description": "The id of the order."
                      },
                      "status": {
                        "type": "string",
                        "description": "The status of the order."
                      },
                      "billing_period_start": {
                        "type": "string",
                        "description": "The billing period start timestamp of the order (ISO 8601)."
                      },
                      "billing_period_end": {
                        "type": "string",
                        "description": "The billing period end timestamp of the order (ISO 8601)."
                      },
                      "order_total": {
                        "type": "string",
                        "description": "The total of the order."
                      },
                      "order_discount": {
                        "type": "string",
                        "description": "The total voucher credit applied to the order."
                      },
                      "currency": {
                        "type": "string",
                        "description": "The currency of the order."
                      }
                    }
                  }
                }
              }
            }
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current resource.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              }
            }
          }
        }
      },
      "Permissions": {
        "type": "array",
        "description": "The organization member permissions.",
        "items": {
          "type": "string",
          "enum": [
            "admin",
            "billing",
            "members",
            "plans",
            "projects:create",
            "projects:list"
          ]
        }
      },
      "EstimationObject": {
        "type": "object",
        "description": "A price estimate object.",
        "properties": {
          "plan": {
            "type": "string",
            "description": "The monthly price of the plan."
          },
          "user_licenses": {
            "type": "string",
            "description": "The monthly price of the user licenses."
          },
          "environments": {
            "type": "string",
            "description": "The monthly price of the environments."
          },
          "storage": {
            "type": "string",
            "description": "The monthly price of the storage."
          },
          "total": {
            "type": "string",
            "description": "The total monthly price."
          },
          "options": {
            "type": "object",
            "description": "The unit prices of the options."
          }
        }
      },
      "OrganizationEstimationObject": {
        "type": "object",
        "description": "An estimation of all organization spend.",
        "properties": {
          "total": {
            "type": "string",
            "description": "The total estimated price for the organization."
          },
          "sub_total": {
            "type": "string",
            "description": "The sub total for all projects and sellables."
          },
          "vouchers": {
            "type": "string",
            "description": "The total amount of vouchers."
          },
          "user_licenses": {
            "type": "object",
            "description": "An estimation of user licenses cost.",
            "properties": {
              "base": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "description": "The number of base user licenses."
                  },
                  "total": {
                    "type": "string",
                    "description": "The total price for base user licenses."
                  },
                  "list": {
                    "type": "object",
                    "properties": {
                      "admin_user": {
                        "type": "object",
                        "description": "An estimation of admin users cost.",
                        "properties": {
                          "count": {
                            "type": "integer",
                            "description": "The number of admin user licenses."
                          },
                          "total": {
                            "type": "string",
                            "description": "The total price for admin user licenses."
                          }
                        }
                      },
                      "viewer_user": {
                        "type": "object",
                        "description": "An estimation of viewer users cost.",
                        "properties": {
                          "count": {
                            "type": "integer",
                            "description": "The number of viewer user licenses."
                          },
                          "total": {
                            "type": "string",
                            "description": "The total price for viewer user licenses."
                          }
                        }
                      }
                    }
                  }
                }
              },
              "user_management": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "description": "The number of user_management licenses."
                  },
                  "total": {
                    "type": "string",
                    "description": "The total price for user_management licenses."
                  },
                  "list": {
                    "type": "object",
                    "properties": {
                      "standard_management_user": {
                        "type": "object",
                        "description": "An estimation of standard_management_user cost.",
                        "properties": {
                          "count": {
                            "type": "integer",
                            "description": "The number of standard_management_user licenses."
                          },
                          "total": {
                            "type": "string",
                            "description": "The total price for standard_management_user licenses."
                          }
                        }
                      },
                      "advanced_management_user": {
                        "type": "object",
                        "description": "An estimation of advanced_management_user cost.",
                        "properties": {
                          "count": {
                            "type": "integer",
                            "description": "The number of advanced_management_user licenses."
                          },
                          "total": {
                            "type": "string",
                            "description": "The total price for advanced_management_user licenses."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "user_management": {
            "type": "string",
            "description": "An estimation of the advanced user management sellable cost."
          },
          "support_level": {
            "type": "string",
            "description": "The total monthly price for premium support."
          },
          "subscriptions": {
            "type": "object",
            "description": "An estimation of subscriptions cost.",
            "properties": {
              "total": {
                "type": "string",
                "description": "The total price for subscriptions."
              },
              "list": {
                "type": "array",
                "description": "The list of active subscriptions.",
                "items": {
                  "description": "Details of a subscription",
                  "type": "object",
                  "properties": {
                    "license_id": {
                      "type": "string",
                      "description": "The id of the subscription."
                    },
                    "project_title": {
                      "type": "string",
                      "description": "The name of the project."
                    },
                    "total": {
                      "type": "string",
                      "description": "The total price for the subscription."
                    },
                    "usage": {
                      "type": "object",
                      "description": "The detail of the usage for the subscription.",
                      "properties": {
                        "cpu": {
                          "type": "number",
                          "description": "The total cpu for this subsciption."
                        },
                        "memory": {
                          "type": "number",
                          "description": "The total memory for this subsciption."
                        },
                        "storage": {
                          "type": "number",
                          "description": "The total storage for this subsciption."
                        },
                        "environments": {
                          "type": "integer",
                          "description": "The total environments for this subsciption."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "OrganizationAddonsObject": {
        "type": "object",
        "description": "The list of available and current add-ons of an organization.",
        "properties": {
          "available": {
            "type": "object",
            "description": "The list of available add-ons and their possible values.",
            "properties": {
              "user_management": {
                "type": "object",
                "description": "Information about the levels of user management that are available.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days required for the addon."
                }
              },
              "support_level": {
                "type": "object",
                "description": "Information about the levels of support available.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days required for the addon."
                }
              }
            }
          },
          "current": {
            "type": "object",
            "description": "The list of existing add-ons and their current values.",
            "properties": {
              "user_management": {
                "type": "object",
                "description": "Information about the type of user management currently selected.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days that remain for the addon."
                }
              },
              "support_level": {
                "type": "object",
                "description": "Information about the level of support currently selected.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days that remain for the addon."
                }
              }
            }
          },
          "upgrades_available": {
            "type": "object",
            "description": "The upgrades available for current add-ons.",
            "properties": {
              "user_management": {
                "type": "array",
                "description": "Available upgrade options for user management.",
                "items": {
                  "type": "string"
                }
              },
              "support_level": {
                "type": "array",
                "description": "Available upgrade options for support.",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SubscriptionAddonsObject": {
        "type": "object",
        "description": "The list of available and current addons for the license.",
        "properties": {
          "available": {
            "type": "object",
            "description": "The list of available addons.",
            "properties": {
              "continuous_profiling": {
                "type": "object",
                "description": "Information about the continuous profiling options available.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days for the addon."
                }
              },
              "project_support_level": {
                "type": "object",
                "description": "Information about the project uptime options available.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of commitment days for the addon."
                }
              }
            }
          },
          "current": {
            "type": "object",
            "description": "The list of existing addons and their current values.",
            "properties": {
              "continuous_profiling": {
                "type": "object",
                "description": "The current continuous profiling level of the license.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of remaining commitment days for the addon."
                }
              },
              "project_support_level": {
                "type": "object",
                "description": "The current project uptime level of the license.",
                "additionalProperties": {
                  "type": "number",
                  "description": "The number of remaining commitment days for the addon."
                }
              }
            }
          },
          "upgrades_available": {
            "type": "object",
            "description": "The upgrades available for current addons.",
            "properties": {
              "continuous_profiling": {
                "type": "array",
                "description": "Available upgrade options for continuous profiling.",
                "items": {
                  "type": "string"
                }
              },
              "project_support_level": {
                "type": "array",
                "description": "Available upgrade options for project uptime.",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "OrganizationAlertConfig": {
        "type": "object",
        "description": "The alert configuration for an organization.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Type of alert (e.g. \"billing\")"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the billing alert should be active or not."
          },
          "alerts_sent": {
            "type": "number",
            "description": "Number of alerts sent."
          },
          "last_alert_at": {
            "type": "string",
            "description": "The datetime the alert was last sent.",
            "nullable": true
          },
          "updated_at": {
            "type": "string",
            "description": "The datetime the alert was last updated.",
            "nullable": true
          },
          "config": {
            "type": "object",
            "nullable": true,
            "description": "Configuration for threshold and mode.",
            "properties": {
              "threshold": {
                "type": "object",
                "description": "Data regarding threshold spend.",
                "properties": {
                  "formatted": {
                    "type": "string",
                    "description": "Formatted threshold value."
                  },
                  "amount": {
                    "type": "number",
                    "description": "Threshold value."
                  },
                  "currency_code": {
                    "type": "string",
                    "description": "Threshold currency code."
                  },
                  "currency_symbol": {
                    "type": "string",
                    "description": "Threshold currency symbol."
                  }
                }
              },
              "mode": {
                "type": "string",
                "description": "The mode of alert."
              }
            }
          }
        }
      },
      "UsageAlert": {
        "type": "object",
        "description": "The usage alert for a subscription.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Tidentifier of the alert."
          },
          "active": {
            "type": "boolean",
            "description": "Whether the usage alert is activated."
          },
          "alerts_sent": {
            "type": "number",
            "description": "Number of alerts sent."
          },
          "last_alert_at": {
            "type": "string",
            "description": "The datetime the alert was last sent.",
            "nullable": true
          },
          "updated_at": {
            "type": "string",
            "description": "The datetime the alert was last updated.",
            "nullable": true
          },
          "config": {
            "type": "object",
            "nullable": true,
            "description": "Configuration for the usage alert.",
            "properties": {
              "threshold": {
                "type": "object",
                "description": "Data regarding threshold spend.",
                "properties": {
                  "formatted": {
                    "type": "string",
                    "description": "Formatted threshold value."
                  },
                  "amount": {
                    "type": "number",
                    "description": "Threshold value."
                  },
                  "unit": {
                    "type": "string",
                    "description": "Threshold unit."
                  }
                }
              }
            }
          }
        }
      },
      "PrepaymentObject": {
        "type": "object",
        "description": "Prepayment information for an organization.",
        "properties": {
          "prepayment": {
            "type": "object",
            "description": "Prepayment information for an organization.",
            "properties": {
              "organization_id": {
                "type": "string",
                "description": "Organization ID"
              },
              "balance": {
                "type": "object",
                "description": "The prepayment balance in complex format.",
                "properties": {
                  "formatted": {
                    "type": "string",
                    "description": "Formatted balance."
                  },
                  "amount": {
                    "type": "number",
                    "description": "The balance amount."
                  },
                  "currency_code": {
                    "type": "string",
                    "description": "The balance currency code."
                  },
                  "currency_symbol": {
                    "type": "string",
                    "description": "The balance currency symbol."
                  }
                }
              },
              "last_updated_at": {
                "type": "string",
                "nullable": true,
                "description": "The date the prepayment balance was last updated."
              },
              "sufficient": {
                "type": "boolean",
                "description": "Whether the prepayment balance is enough to cover the upcoming order."
              },
              "fallback": {
                "type": "string",
                "nullable": true,
                "description": "The fallback payment method, if any, to be used in case prepayment balance is not enough to cover an order."
              }
            }
          }
        }
      },
      "PrepaymentTransactionObject": {
        "type": "object",
        "description": "Prepayment transaction for an organization.",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "Order ID"
          },
          "message": {
            "type": "string",
            "description": "The message associated with transaction."
          },
          "status": {
            "type": "string",
            "description": "Whether the transactions was successful or a failure."
          },
          "amount": {
            "type": "object",
            "description": "The prepayment balance in complex format.",
            "properties": {
              "formatted": {
                "type": "string",
                "description": "Formatted balance."
              },
              "amount": {
                "type": "number",
                "description": "The balance amount."
              },
              "currency_code": {
                "type": "string",
                "description": "The balance currency code."
              },
              "currency_symbol": {
                "type": "string",
                "description": "The balance currency symbol."
              }
            }
          },
          "created": {
            "type": "string",
            "description": "Time the transaction was created."
          },
          "updated": {
            "type": "string",
            "description": "Time the transaction was last updated.",
            "nullable": true
          },
          "expire_date": {
            "type": "string",
            "description": "The expiration date of the transaction (deposits only).",
            "nullable": true
          }
        }
      },
      "ArrayFilter": {
        "type": "object",
        "properties": {
          "eq": {
            "type": "string",
            "description": "Equal"
          },
          "ne": {
            "type": "string",
            "description": "Not equal"
          },
          "in": {
            "type": "string",
            "description": "In (comma-separated list)"
          },
          "nin": {
            "type": "string",
            "description": "Not in (comma-separated list)"
          }
        }
      },
      "OrganizationProject": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ProjectID"
          },
          "organization_id": {
            "$ref": "#/components/schemas/OrganizationID"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/SubscriptionID"
          },
          "vendor": {
            "type": "string",
            "description": "Vendor of the project."
          },
          "region": {
            "$ref": "#/components/schemas/RegionID"
          },
          "title": {
            "$ref": "#/components/schemas/ProjectTitle"
          },
          "type": {
            "$ref": "#/components/schemas/ProjectType"
          },
          "plan": {
            "$ref": "#/components/schemas/ProjectPlan"
          },
          "timezone": {
            "$ref": "#/components/schemas/ProjectTimeZone"
          },
          "default_branch": {
            "$ref": "#/components/schemas/ProjectDefaultBranch"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "trial_plan": {
            "$ref": "#/components/schemas/ProjectTrialPlan"
          },
          "project_ui": {
            "$ref": "#/components/schemas/ProjectUI"
          },
          "locked": {
            "$ref": "#/components/schemas/ProjectLocked"
          },
          "cse_notes": {
            "$ref": "#/components/schemas/ProjectCSENotes"
          },
          "dedicated_tag": {
            "$ref": "#/components/schemas/ProjectDedicatedTag"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current project.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "update": {
                "type": "object",
                "description": "Link for updating the current project.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "delete": {
                "type": "object",
                "description": "Link for deleting the current project.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "activities": {
                "type": "object",
                "description": "Link to the project's activities.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "addons": {
                "type": "object",
                "description": "Link to the project's add-ons.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              }
            }
          }
        }
      },
      "OrganizationCarbon": {
        "type": "object",
        "properties": {
          "organization_id": {
            "$ref": "#/components/schemas/OrganizationID"
          },
          "meta": {
            "$ref": "#/components/schemas/MetricsMetadata"
          },
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationProjectCarbon"
            }
          },
          "total": {
            "$ref": "#/components/schemas/CarbonTotal"
          }
        }
      },
      "ProjectCarbon": {
        "type": "object",
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/ProjectID"
          },
          "project_title": {
            "$ref": "#/components/schemas/ProjectTitle"
          },
          "meta": {
            "$ref": "#/components/schemas/MetricsMetadata"
          },
          "values": {
            "$ref": "#/components/schemas/MetricsValues"
          },
          "total": {
            "$ref": "#/components/schemas/CarbonTotal"
          }
        }
      },
      "OrganizationProjectCarbon": {
        "type": "object",
        "properties": {
          "project_id": {
            "$ref": "#/components/schemas/ProjectID"
          },
          "project_title": {
            "$ref": "#/components/schemas/ProjectTitle"
          },
          "values": {
            "$ref": "#/components/schemas/MetricsValues"
          },
          "total": {
            "$ref": "#/components/schemas/CarbonTotal"
          }
        }
      },
      "ProjectPlan": {
        "type": "string",
        "description": "The project plan."
      },
      "ProjectReference": {
        "description": "The referenced project, or null if it no longer exists.",
        "type": "object",
        "nullable": true,
        "required": [
          "id",
          "organization_id",
          "subscription_id",
          "region",
          "title",
          "type",
          "plan",
          "status",
          "agency_site",
          "support_tier",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ProjectID"
          },
          "organization_id": {
            "$ref": "#/components/schemas/OrganizationID"
          },
          "subscription_id": {
            "$ref": "#/components/schemas/SubscriptionID"
          },
          "region": {
            "$ref": "#/components/schemas/RegionID"
          },
          "title": {
            "$ref": "#/components/schemas/ProjectTitle"
          },
          "type": {
            "$ref": "#/components/schemas/ProjectType"
          },
          "plan": {
            "$ref": "#/components/schemas/ProjectPlan"
          },
          "status": {
            "$ref": "#/components/schemas/ProjectStatus"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          }
        }
      },
      "RegionReference": {
        "description": "The referenced region, or null if it no longer exists.",
        "type": "object",
        "nullable": true,
        "required": [
          "id",
          "label",
          "zone",
          "selection_label",
          "project_label",
          "timezone",
          "available",
          "endpoint",
          "provider",
          "datacenter",
          "compliance",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/RegionID"
          },
          "label": {
            "$ref": "#/components/schemas/RegionLabel"
          },
          "zone": {
            "$ref": "#/components/schemas/RegionZone"
          },
          "selection_label": {
            "$ref": "#/components/schemas/RegionSelectionLabel"
          },
          "project_label": {
            "$ref": "#/components/schemas/RegionProjectLabel"
          },
          "timezone": {
            "$ref": "#/components/schemas/RegionTimezone"
          },
          "available": {
            "$ref": "#/components/schemas/RegionAvailable"
          },
          "private": {
            "$ref": "#/components/schemas/RegionPrivate"
          },
          "endpoint": {
            "$ref": "#/components/schemas/RegionEndpoint"
          },
          "code": {
            "$ref": "#/components/schemas/RegionCode"
          },
          "provider": {
            "$ref": "#/components/schemas/RegionProvider"
          },
          "datacenter": {
            "$ref": "#/components/schemas/RegionDataCenter"
          },
          "envimpact": {
            "$ref": "#/components/schemas/RegionEnvImpact"
          },
          "compliance": {
            "$ref": "#/components/schemas/RegionCompliance"
          },
          "created_at": {
            "$ref": "#/components/schemas/CreatedAt"
          },
          "updated_at": {
            "$ref": "#/components/schemas/UpdatedAt"
          }
        }
      },
      "ProjectID": {
        "type": "string",
        "description": "The ID of the project."
      },
      "OrganizationID": {
        "type": "string",
        "description": "The ID of the organization."
      },
      "SubscriptionID": {
        "type": "string",
        "description": "The ID of the subscription."
      },
      "RegionID": {
        "type": "string",
        "description": "The machine name of the region where the project is located."
      },
      "ProjectTitle": {
        "type": "string",
        "description": "The title of the project."
      },
      "ProjectType": {
        "type": "string",
        "description": "The type of projects.",
        "enum": [
          "grid",
          "dedicated"
        ]
      },
      "ProjectTimeZone": {
        "type": "string",
        "description": "Timezone of the project."
      },
      "ProjectDefaultBranch": {
        "type": "string",
        "description": "Default branch."
      },
      "ProjectLocked": {
        "type": "boolean",
        "description": "Locked"
      },
      "ProjectCSENotes": {
        "type": "string",
        "description": "CSE notes."
      },
      "ProjectStatus": {
        "type": "string",
        "description": "The status of the project.",
        "enum": [
          "requested",
          "active",
          "failed",
          "suspended",
          "deleted"
        ]
      },
      "ProjectDedicatedTag": {
        "type": "string",
        "description": "Dedicated tag."
      },
      "ProjectUI": {
        "description": "The URL for the project's user interface.",
        "type": "string"
      },
      "ProjectTrialPlan": {
        "description": "Whether the project is currently on a trial plan.",
        "type": "boolean"
      },
      "RegionLabel": {
        "type": "string",
        "description": "The human-readable name of the region."
      },
      "RegionZone": {
        "type": "string",
        "description": "The geographical zone of the region."
      },
      "RegionSelectionLabel": {
        "type": "string",
        "description": "The label to display when choosing between regions for new projects."
      },
      "RegionProjectLabel": {
        "type": "string",
        "description": "The label to display on existing projects."
      },
      "RegionTimezone": {
        "type": "string",
        "description": "Default timezone of the region."
      },
      "RegionAvailable": {
        "type": "boolean",
        "description": "Indicator whether or not this region is selectable during the checkout. Not available regions will never show up during checkout."
      },
      "RegionPrivate": {
        "type": "boolean",
        "description": "Indicator whether or not this platform is for private use only."
      },
      "RegionEndpoint": {
        "type": "string",
        "description": "Link to the region API endpoint."
      },
      "RegionCode": {
        "type": "string",
        "description": "The code of the region"
      },
      "RegionProvider": {
        "type": "object",
        "description": "Information about the region provider."
      },
      "RegionDataCenter": {
        "type": "object",
        "description": "Information about the region provider data center."
      },
      "RegionEnvImpact": {
        "type": "object",
        "description": "Information about the region provider's environmental impact."
      },
      "RegionCompliance": {
        "type": "object",
        "description": "Information about the region's compliance."
      },
      "MetricsMetadata": {
        "type": "object",
        "properties": {
          "from": {
            "description": "The value used to calculate the lower bound of the temporal query. Inclusive."
          },
          "to": {
            "description": "The truncated value used to calculate the upper bound of the temporal query. Exclusive."
          },
          "interval": {
            "description": "The interval used to group the metric values."
          },
          "units": {
            "description": "The units associated with the provided values."
          }
        }
      },
      "MetricsValues": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MetricsValue"
        }
      },
      "MetricsValue": {
        "type": "object",
        "properties": {
          "value": {
            "description": "The measured value of the metric for the given time interval."
          },
          "start_time": {
            "description": "The timestamp at which the time interval began."
          }
        }
      },
      "CarbonTotal": {
        "type": "number",
        "description": "The calculated total of the metric for the given interval."
      },
      "CreatedAt": {
        "type": "string",
        "format": "date-time",
        "description": "The date and time when the resource was created."
      },
      "UpdatedAt": {
        "type": "string",
        "format": "date-time",
        "description": "The date and time when the resource was last updated."
      },
      "TeamProjectAccess": {
        "type": "object",
        "properties": {
          "team_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the team."
          },
          "organization_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the organization."
          },
          "project_id": {
            "type": "string",
            "description": "The ID of the project."
          },
          "project_title": {
            "type": "string",
            "description": "The title of the project."
          },
          "granted_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the access was granted."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the access was last updated."
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "update": {
                "type": "object",
                "description": "Link for updating the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "delete": {
                "type": "object",
                "description": "Link for deleting the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              }
            }
          }
        }
      },
      "UserProjectAccess": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "The ID of the user."
          },
          "organization_id": {
            "type": "string",
            "format": "ulid",
            "description": "The ID of the organization."
          },
          "project_id": {
            "type": "string",
            "description": "The ID of the project."
          },
          "project_title": {
            "type": "string",
            "description": "The title of the project."
          },
          "permissions": {
            "$ref": "#/components/schemas/ProjectPermissions"
          },
          "granted_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the access was granted."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the access was last updated."
          },
          "_links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "object",
                "description": "Link to the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  }
                }
              },
              "update": {
                "type": "object",
                "description": "Link for updating the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              },
              "delete": {
                "type": "object",
                "description": "Link for deleting the current access item.",
                "properties": {
                  "href": {
                    "type": "string",
                    "description": "URL of the link."
                  },
                  "method": {
                    "type": "string",
                    "description": "The HTTP method to use."
                  }
                }
              }
            }
          }
        }
      },
      "ProjectPermissions": {
        "type": "array",
        "description": "An array of project permissions.",
        "items": {
          "type": "string",
          "enum": [
            "admin",
            "viewer",
            "development:admin",
            "development:contributor",
            "development:viewer",
            "staging:admin",
            "staging:contributor",
            "staging:viewer",
            "production:admin",
            "production:contributor",
            "production:viewer"
          ]
        }
      },
      "InvoicePDF": {
        "description": "Invoice PDF document details.",
        "properties": {
          "url": {
            "description": "A link to the PDF invoice.",
            "type": "string"
          },
          "status": {
            "description": "The status of the PDF document. We generate invoice PDF asyncronously in batches. An invoice PDF document may not be immediately available to download. If status is 'ready', the PDF is ready to download. 'pending' means the PDF is not created but queued up. If you get this status, try again later.",
            "type": "string",
            "enum": [
              "ready",
              "pending"
            ]
          }
        },
        "type": "object"
      },
      "Order": {
        "description": "The order object.",
        "properties": {
          "id": {
            "description": "The ID of the order.",
            "type": "string"
          },
          "status": {
            "description": "The status of the subscription.",
            "type": "string",
            "enum": [
              "completed",
              "past_due",
              "pending",
              "canceled",
              "payment_failed_soft_decline",
              "payment_failed_hard_decline"
            ]
          },
          "owner": {
            "description": "The UUID of the owner.",
            "type": "string",
            "format": "uuid"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "company": {
            "description": "The company name.",
            "type": "string"
          },
          "vat_number": {
            "description": "An identifier used in many countries for value added tax purposes.",
            "type": "string"
          },
          "billing_period_start": {
            "description": "The time when the billing period of the order started.",
            "type": "string",
            "format": "date-time"
          },
          "billing_period_end": {
            "description": "The time when the billing period of the order ended.",
            "type": "string",
            "format": "date-time"
          },
          "billing_period_label": {
            "description": "Descriptive information about the billing cycle.",
            "properties": {
              "formatted": {
                "description": "The renderable label for the billing cycle.",
                "type": "string"
              },
              "month": {
                "description": "The month of the billing cycle.",
                "type": "string"
              },
              "year": {
                "description": "The year of the billing cycle.",
                "type": "string"
              },
              "next_month": {
                "description": "The name of the next month following this billing cycle.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "billing_period_duration": {
            "description": "The duration of the billing period of the order in seconds.",
            "type": "integer"
          },
          "paid_on": {
            "description": "The time when the order was successfully charged.",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "total": {
            "description": "The total of the order.",
            "type": "integer"
          },
          "total_formatted": {
            "description": "The total of the order, formatted with currency.",
            "type": "integer"
          },
          "components": {
            "$ref": "#/components/schemas/Components"
          },
          "currency": {
            "description": "The order currency code.",
            "type": "string"
          },
          "invoice_url": {
            "description": "A link to the PDF invoice.",
            "type": "string"
          },
          "last_refreshed": {
            "description": "The time when the order was last refreshed.",
            "type": "string",
            "format": "date-time"
          },
          "invoiced": {
            "description": "The customer is invoiced.",
            "type": "boolean"
          },
          "line_items": {
            "description": "The line items that comprise the order.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LineItem"
            }
          },
          "_links": {
            "description": "Links to related API endpoints.",
            "properties": {
              "invoices": {
                "description": "Link to related Invoices API. Use this to retrieve invoices related to this order.",
                "properties": {
                  "href": {
                    "description": "URL of the link",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "PlanRecords": {
        "description": "The plan record object.",
        "properties": {
          "id": {
            "description": "The unique ID of the plan record.",
            "type": "string"
          },
          "owner": {
            "description": "The UUID of the owner.",
            "type": "string",
            "format": "uuid"
          },
          "subscription_id": {
            "description": "The ID of the subscription this record pertains to.",
            "type": "string"
          },
          "sku": {
            "description": "The product SKU of the plan that this record represents.",
            "type": "string"
          },
          "plan": {
            "description": "The machine name of the plan that this record represents.",
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "description": "The SKU of an option.",
              "type": "string"
            }
          },
          "start": {
            "description": "The start timestamp of this plan record (ISO 8601).",
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "description": "The end timestamp of this plan record (ISO 8601).",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "description": "The status of the subscription during this record: active or suspended.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Usage": {
        "description": "The usage object.",
        "properties": {
          "id": {
            "description": "The unique ID of the usage record.",
            "type": "string"
          },
          "subscription_id": {
            "description": "The ID of the subscription.",
            "type": "string"
          },
          "usage_group": {
            "description": "The type of usage that this record represents.",
            "type": "string"
          },
          "quantity": {
            "description": "The quantity used.",
            "type": "number"
          },
          "start": {
            "description": "The start timestamp of this usage record (ISO 8601).",
            "type": "string",
            "format": "date-time"
          }
        },
        "type": "object"
      }
    },
    "parameters": {
      "filter_invoice_type": {
        "name": "filter[type]",
        "in": "query",
        "description": "The invoice type. Use invoice for standard invoices, credit_memo for refund/credit invoices.",
        "schema": {
          "type": "string",
          "enum": [
            "credit_memo",
            "invoice"
          ]
        }
      },
      "filter_order_id": {
        "name": "filter[order_id]",
        "in": "query",
        "description": "The order id of Invoice.",
        "schema": {
          "type": "string"
        }
      },
      "filter_invoice_status": {
        "name": "filter[status]",
        "in": "query",
        "description": "The status of the invoice.",
        "schema": {
          "type": "string",
          "enum": [
            "paid",
            "charged_off",
            "pending",
            "refunded",
            "canceled",
            "refund_pending"
          ]
        }
      },
      "mode": {
        "name": "mode",
        "in": "query",
        "description": "The output mode.",
        "schema": {
          "type": "string",
          "enum": [
            "details"
          ]
        }
      },
      "filter_order_status": {
        "name": "filter[status]",
        "in": "query",
        "description": "The status of the order.",
        "schema": {
          "type": "string",
          "enum": [
            "completed",
            "past_due",
            "pending",
            "canceled",
            "payment_failed_soft_decline",
            "payment_failed_hard_decline"
          ]
        }
      },
      "filter_order_total": {
        "name": "filter[total]",
        "in": "query",
        "description": "The total of the order.",
        "schema": {
          "type": "integer"
        }
      },
      "record_end": {
        "name": "filter[end]",
        "in": "query",
        "description": "The end of the observation period for the record. E.g. filter[end]=2018-01-01 will display all records that were active on (i.e. they started before) 2018-01-01",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "record_ended_at": {
        "name": "filter[ended_at]",
        "in": "query",
        "description": "The record's end timestamp. You can use this filter to list records ended after, or before a certain time. E.g. filter[ended_at][value]=2020-01-01&filter[ended_at][operator]=>",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "record_status": {
        "name": "filter[status]",
        "in": "query",
        "description": "The status of the plan record. ",
        "schema": {
          "type": "string",
          "enum": [
            "active",
            "suspended"
          ]
        }
      },
      "record_usage_group": {
        "name": "filter[usage_group]",
        "in": "query",
        "description": "Filter records by the type of usage.",
        "schema": {
          "type": "string",
          "enum": [
            "storage",
            "environments",
            "user_licenses"
          ]
        }
      },
      "record_start": {
        "name": "filter[start]",
        "in": "query",
        "description": "The start of the observation period for the record. E.g. filter[start]=2018-01-01 will display all records that were active (i.e. did not end) on 2018-01-01",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "record_started_at": {
        "name": "filter[started_at]",
        "in": "query",
        "description": "The record's start timestamp. You can use this filter to list records started after, or before a certain time. E.g. filter[started_at][value]=2020-01-01&filter[started_at][operator]=>",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "discountId": {
        "name": "id",
        "in": "path",
        "description": "The ID of the organization discount",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "id": {
        "name": "filter[id]",
        "in": "query",
        "description": "Machine name of the region.",
        "schema": {
          "type": "string"
        }
      },
      "subscription_id": {
        "name": "subscriptionId",
        "in": "path",
        "description": "The ID of the subscription",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "filter_subscription_id": {
        "name": "filter[subscription_id]",
        "in": "query",
        "description": "The ID of the subscription",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "subscription_status": {
        "name": "filter[status]",
        "in": "query",
        "description": "The status of the subscription. ",
        "schema": {
          "type": "string",
          "enum": [
            "active",
            "provisioning",
            "provisioning failure",
            "suspended",
            "deleted"
          ]
        }
      },
      "subscription_plan": {
        "name": "plan",
        "in": "query",
        "description": "The plan type of the subscription.",
        "schema": {
          "type": "string",
          "enum": [
            "development",
            "standard",
            "medium",
            "large",
            "xlarge",
            "2xlarge"
          ]
        }
      },
      "filter_subscription_plan": {
        "name": "filter[plan]",
        "in": "query",
        "description": "The plan type of the subscription.",
        "schema": {
          "type": "string",
          "enum": [
            "development",
            "standard",
            "medium",
            "large",
            "xlarge",
            "2xlarge"
          ]
        }
      },
      "subscription_environments": {
        "name": "environments",
        "in": "query",
        "description": "The number of environments which can be provisioned on the project.",
        "schema": {
          "type": "integer",
          "default": null
        }
      },
      "subscription_storage": {
        "name": "storage",
        "in": "query",
        "description": "The total storage available to each environment, in MiB. Only multiples of 1024 are accepted as legal values.",
        "schema": {
          "type": "integer",
          "default": null
        }
      },
      "subscription_user_licenses": {
        "name": "user_licenses",
        "in": "query",
        "description": "The number of user licenses.",
        "schema": {
          "type": "integer"
        }
      },
      "page": {
        "name": "page",
        "in": "query",
        "description": "Page to be displayed. Defaults to 1.",
        "required": false,
        "schema": {
          "type": "integer",
          "format": "int32"
        }
      },
      "user_id": {
        "name": "userId",
        "in": "path",
        "description": "The UUID of the user",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "filter_ticket_id": {
        "name": "filter[ticket_id]",
        "in": "query",
        "description": "The ID of the ticket.",
        "schema": {
          "type": "integer"
        }
      },
      "filter_created": {
        "name": "filter[created]",
        "in": "query",
        "description": "ISO dateformat expected. The time when the support ticket was created.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "filter_updated": {
        "name": "filter[updated]",
        "in": "query",
        "description": "ISO dateformat expected. The time when the support ticket was updated.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "filter_type": {
        "name": "filter[type]",
        "in": "query",
        "description": "The type of the support ticket.",
        "schema": {
          "type": "string",
          "enum": [
            "problem",
            "task",
            "incident",
            "question"
          ]
        }
      },
      "filter_priority": {
        "name": "filter[priority]",
        "in": "query",
        "description": "The priority of the support ticket.",
        "schema": {
          "type": "string",
          "enum": [
            "low",
            "normal",
            "high",
            "urgent"
          ]
        }
      },
      "filter_ticket_status": {
        "name": "filter[status]",
        "in": "query",
        "description": "The status of the support ticket.",
        "schema": {
          "type": "string",
          "enum": [
            "closed",
            "deleted",
            "hold",
            "new",
            "open",
            "pending",
            "solved"
          ]
        }
      },
      "filter_requester_id": {
        "name": "filter[requester_id]",
        "in": "query",
        "description": "UUID of the ticket requester. Converted from the ZID value.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "filter_submitter_id": {
        "name": "filter[submitter_id]",
        "in": "query",
        "description": "UUID of the ticket submitter. Converted from the ZID value.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "filter_assignee_id": {
        "name": "filter[assignee_id]",
        "in": "query",
        "description": "UUID of the ticket assignee. Converted from the ZID value.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "filter_has_incidents": {
        "name": "filter[has_incidents]",
        "in": "query",
        "description": "Whether or not this ticket has incidents.",
        "schema": {
          "type": "boolean"
        }
      },
      "filter_due": {
        "name": "filter[due]",
        "in": "query",
        "description": "ISO dateformat expected. A time that the ticket is due at.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "InvitationID": {
        "name": "invitation_id",
        "in": "path",
        "required": true,
        "description": "The ID of the invitation.",
        "schema": {
          "type": "string"
        }
      },
      "OrganizationID": {
        "name": "organization_id",
        "in": "path",
        "required": true,
        "description": "The ID of the organization.",
        "schema": {
          "type": "string",
          "format": "ulid"
        }
      },
      "ProjectID": {
        "name": "project_id",
        "in": "path",
        "required": true,
        "description": "The ID of the project.",
        "schema": {
          "type": "string"
        }
      },
      "TeamID": {
        "name": "team_id",
        "in": "path",
        "required": true,
        "description": "The ID of the team.",
        "schema": {
          "type": "string"
        }
      },
      "UserID": {
        "name": "user_id",
        "in": "path",
        "required": true,
        "description": "The ID of the user.",
        "schema": {
          "type": "string",
          "example": "d81c8ee2-44b3-429f-b944-a33ad7437690",
          "format": "uuid"
        }
      },
      "OrganizationIDName": {
        "in": "path",
        "name": "organization_id",
        "description": "The ID of the organization.<br>\nPrefix with name= to retrieve the organization by name instead.\n",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "OrderID": {
        "in": "path",
        "name": "order_id",
        "description": "The ID of the order.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SubscriptionID": {
        "in": "path",
        "name": "subscription_id",
        "description": "The ID of the subscription.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "InvoiceID": {
        "in": "path",
        "name": "invoice_id",
        "description": "The ID of the invoice.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "RegionID": {
        "in": "path",
        "name": "region_id",
        "description": "The ID of the region.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "project_id": {
        "name": "filter[project_id]",
        "in": "query",
        "description": "Allows filtering by `project_id` using one or more operators.",
        "style": "deepObject",
        "explode": true,
        "schema": {
          "$ref": "#/components/schemas/StringFilter"
        }
      },
      "project_title": {
        "in": "query",
        "name": "filter[project_title]",
        "description": "Allows filtering by `project_title` using one or more operators.",
        "style": "deepObject",
        "explode": true,
        "schema": {
          "$ref": "#/components/schemas/StringFilter"
        }
      },
      "region": {
        "in": "query",
        "name": "filter[region]",
        "description": "Allows filtering by `region` using one or more operators.",
        "style": "deepObject",
        "explode": true,
        "schema": {
          "$ref": "#/components/schemas/StringFilter"
        }
      },
      "updated_at": {
        "in": "query",
        "name": "filter[updated_at]",
        "description": "Allows filtering by `updated_at` using one or more operators.",
        "style": "deepObject",
        "explode": true,
        "schema": {
          "$ref": "#/components/schemas/DateTimeFilter"
        }
      },
      "subscription_sort": {
        "in": "query",
        "name": "sort",
        "description": "Allows sorting by a single field.<br>\nUse a dash (\"-\") to sort descending.<br>\nSupported fields: `region`, `project_title`, `type`, `plan`, `status`, `created_at`, `updated_at`.\n",
        "schema": {
          "type": "string",
          "example": "-updated_at"
        }
      },
      "page_size": {
        "in": "query",
        "name": "page[size]",
        "description": "Determines the number of items to show.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": null
        }
      },
      "page_before": {
        "in": "query",
        "name": "page[before]",
        "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
        "schema": {
          "type": "string"
        }
      },
      "page_after": {
        "in": "query",
        "name": "page[after]",
        "description": "Pagination cursor. This is automatically generated as necessary and provided in HAL links (_links); it should not be constructed externally.",
        "schema": {
          "type": "string"
        }
      },
      "from": {
        "in": "query",
        "name": "from",
        "description": "The start of the time frame for the query. Inclusive.",
        "schema": {
          "$ref": "#/components/schemas/DateTimeFilter"
        }
      },
      "to": {
        "in": "query",
        "name": "to",
        "description": "The end of the time frame for the query. Exclusive.",
        "schema": {
          "$ref": "#/components/schemas/DateTimeFilter"
        }
      },
      "interval": {
        "in": "query",
        "name": "interval",
        "description": "The interval by which the query groups the results. of the time frame for the query. Exclusive.",
        "schema": {
          "type": "string",
          "enum": [
            "day",
            "month",
            "year"
          ]
        }
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "tokenUrl": "https://auth.api.platform.sh/oauth2/token",
            "refreshUrl": "https://auth.api.platform.sh/oauth2/token",
            "scopes": {},
            "authorizationUrl": "https://auth.api.platform.sh/oauth2/authorize"
          }
        },
        "description": ""
      },
      "OAuth2Admin": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://auth.api.platform.sh/oauth2/token",
            "refreshUrl": "",
            "scopes": {
              "admin": "administrative operations"
            }
          }
        },
        "description": ""
      }
    },
    "responses": {},
    "examples": {}
  },
  "x-tagGroups": [
    {
      "name": "Organization Administration",
      "tags": [
        "Organizations",
        "Organization Members",
        "Organization Invitations",
        "Organization Projects",
        "Add-ons"
      ]
    },
    {
      "name": "Project Administration",
      "tags": [
        "Project",
        "Domain Management",
        "Cert Management",
        "Project Variables",
        "Repository",
        "Third-Party Integrations",
        "Support"
      ]
    },
    {
      "name": "Environments",
      "tags": [
        "Environment",
        "Environment Backups",
        "Environment Variables",
        "Routing",
        "Source Operations",
        "Runtime Operations",
        "Deployment"
      ]
    },
    {
      "name": "User Activity",
      "tags": [
        "Project Activity",
        "Environment Activity"
      ]
    },
    {
      "name": "Project Access",
      "tags": [
        "Project Invitations",
        "Teams",
        "Team Access",
        "User Access"
      ]
    },
    {
      "name": "Account Management",
      "tags": [
        "API Tokens",
        "Connections",
        "MFA",
        "Users",
        "User Profiles",
        "SSH Keys",
        "Plans"
      ]
    },
    {
      "name": "Billing",
      "tags": [
        "Organization Management",
        "Subscriptions",
        "Orders",
        "Invoices",
        "Discounts",
        "Vouchers",
        "Records",
        "Profiles"
      ]
    },
    {
      "name": "Global Info",
      "tags": [
        "Project Discovery",
        "References",
        "Regions"
      ]
    },
    {
      "name": "Internal APIs",
      "tags": [
        "Project Settings",
        "Environment Settings",
        "Deployment Target",
        "System Information",
        "Container Profile"
      ]
    }
  ]
}