{"openapi":"3.1.0","info":{"title":"Numspot Public API","description":"Numspot Public API","termsOfService":"https://numspot.com/","contact":{"name":"Numspot","url":"https://numspot.com/contact/","email":"support@numspot.eu"},"license":{"name":"BSD 3 Clause","url":"https://opensource.org/licenses/BSD-3-Clause"},"version":"2026-06-03T16:45:22Z"},"servers":[{"url":"https://api.eu-west-2.numspot.com"}],"paths":{"/inventory/spaces/{spaceId}/resources":{"get":{"tags":["Inventory"],"summary":"List resources by Space Id","description":"List the current resources from one space","operationId":"InventoryListResourcesBySpaceId","parameters":[{"$ref":"#/components/parameters/InventoryPaginatedRequest"}],"responses":{"200":{"$ref":"#/components/responses/InventoryListResourcesBySpaceId200Response"},"400":{"$ref":"#/components/responses/InventoryListResourcesBySpaceId400Response"},"500":{"$ref":"#/components/responses/InventoryListResourcesBySpaceId500Response"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/kubernetes/versions":{"get":{"tags":["Kubernetes"],"summary":"List Available Kubernetes Versions.","description":"List all available Kubernetes versions.","operationId":"ListKubernetesVersions","responses":{"200":{"$ref":"#/components/responses/ListKubernetesVersions200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/kubernetes/spaces/{spaceId}/clusters":{"get":{"tags":["Kubernetes"],"summary":"List Kubernetes clusters.","description":"List all your Kubernetes clusters.","operationId":"ListKubernetesClusters","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/KubernetesPage"}],"responses":{"200":{"$ref":"#/components/responses/ListKubernetesClusters200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Kubernetes"],"summary":"Create Kubernetes cluster.","description":"Create a new Kubernetes cluster.","operationId":"CreateKubernetesCluster","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateKubernetesClusterRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateKubernetesCluster201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/kubernetes/spaces/{spaceId}/clusters/{clusterId}":{"get":{"tags":["Kubernetes"],"summary":"Get Kubernetes cluster informations.","description":"Get all informations of a Kubernetes cluster.","operationId":"GetKubernetesCluster","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"}],"responses":{"200":{"$ref":"#/components/responses/GetKubernetesCluster200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Kubernetes"],"summary":"Delete a Kubernetes cluster.","description":"Delete a Kubernetes cluster.","operationId":"DeleteKubernetesCluster","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"}],"responses":{"202":{"$ref":"#/components/responses/DeleteKubernetesCluster202Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/kubernetes/spaces/{spaceId}/clusters/{clusterId}/kubeConfig":{"get":{"tags":["Kubernetes"],"summary":"Get KubeConfig","description":"Retrieve cluster KubeConfig.","operationId":"GetKubeConfig","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"}],"responses":{"200":{"$ref":"#/components/responses/GetKubernetesKubeConfig200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/kubernetes/spaces/{spaceId}/clusters/{clusterId}/nodePools":{"get":{"tags":["Kubernetes"],"summary":"List Kubernetes NodePools.","description":"List all your Kubernetes NodePools.","operationId":"ListKubernetesNodePools","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"}],"responses":{"200":{"$ref":"#/components/responses/ListKubernetesNodePools200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Kubernetes"],"summary":"Create Kubernetes NodePool.","description":"Create a new Kubernetes NodePool.","operationId":"CreateKubernetesNodePool","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateKubernetesNodePoolRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateKubernetesNodePool201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/kubernetes/spaces/{spaceId}/clusters/{clusterId}/nodePools/{nodePoolId}":{"get":{"tags":["Kubernetes"],"summary":"Get Kubernetes NodePool informations.","description":"Get all informations of a Kubernetes NodePool.","operationId":"GetKubernetesNodePool","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"},{"$ref":"#/components/parameters/NodePoolId"}],"responses":{"200":{"$ref":"#/components/responses/GetKubernetesNodePool200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Kubernetes"],"summary":"Delete a Kubernetes NodePool.","description":"Delete a Kubernetes NodePool.","operationId":"DeleteKubernetesNodePool","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ClusterId"},{"$ref":"#/components/parameters/NodePoolId"}],"responses":{"204":{"description":"No content."},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/postgresql/versions":{"get":{"tags":["PostgreSQL"],"summary":"List supported PostgreSQL versions","description":"List the supported PostgreSQL versions.","operationId":"PostgreSQLListVersions","responses":{"200":{"$ref":"#/components/responses/PostgreSQLListVersions200Response"},"401":{"$ref":"#/components/responses/PostgreSQLUnauthorizedProblem401Response"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/postgresql/spaces/{spaceId}/clusters":{"get":{"tags":["PostgreSQL"],"summary":"List PostgreSQL clusters","description":"List your PostgreSQL clusters.","operationId":"PostgreSQLListClusters","responses":{"200":{"$ref":"#/components/responses/PostgreSQLListClusters200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/PostgreSQLUnauthorizedProblem401Response"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["PostgreSQL"],"summary":"Create PostgreSQL cluster","description":"Create a new database cluster.","operationId":"PostgreSQLCreateCluster","requestBody":{"$ref":"#/components/requestBodies/PostgreSQLCreateClusterRequest"},"responses":{"201":{"$ref":"#/components/responses/PostgreSQLCreateCluster201Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/PostgreSQLUnauthorizedProblem401Response"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/postgresql/spaces/{spaceId}/backups":{"get":{"tags":["PostgreSQL"],"summary":"List space backups","description":"List all backups across all clusters within a space.","operationId":"PostgreSQLListSpaceBackups","responses":{"200":{"$ref":"#/components/responses/PostgreSQLListBackups200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/PostgreSQLUnauthorizedProblem401Response"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}":{"get":{"tags":["PostgreSQL"],"summary":"Read PostgreSQL cluster","description":"Retrieve the detailed information of a cluster by its identifier.","operationId":"PostgreSQLGetCluster","responses":{"200":{"$ref":"#/components/responses/PostgreSQLGetCluster200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["PostgreSQL"],"summary":"Delete PostgreSQL cluster","description":"Delete a cluster by its identifier.","operationId":"PostgreSQLDeleteCluster","responses":{"202":{"$ref":"#/components/responses/PostgreSQLDeleteCluster202Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["PostgreSQL"],"summary":"Modify PostgreSQL cluster","description":"Modify the configuration of a cluster by its identifier.","operationId":"PostgreSQLModifyCluster","requestBody":{"$ref":"#/components/requestBodies/PostgreSQLModifyClusterRequest"},"responses":{"200":{"$ref":"#/components/responses/PostgreSQLModifyCluster200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}/password":{"get":{"tags":["PostgreSQL"],"summary":"Get PostgreSQL cluster password","description":"Get the password associated with the cluster user.","operationId":"PostgreSQLGetClusterPassword","responses":{"200":{"$ref":"#/components/responses/PostgreSQLGetClusterPassword200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}/upgrade/minor":{"get":{"tags":["PostgreSQL"],"summary":"Check minor upgrade availability","description":"Check if a minor version upgrade is available for the cluster.","operationId":"PostgreSQLGetClusterMinorUpgrade","responses":{"200":{"$ref":"#/components/responses/PostgreSQLGetClusterMinorUpgrade200Response"},"401":{"$ref":"#/components/responses/PostgreSQLUnauthorizedProblem401Response"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["PostgreSQL"],"summary":"Upgrade PostgreSQL cluster minor version","description":"Upgrade a cluster to the latest minor version for its current major version.","operationId":"PostgreSQLUpgradeClusterMinor","responses":{"200":{"$ref":"#/components/responses/PostgreSQLUpgradeClusterMinor200Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}/password/reset":{"put":{"tags":["PostgreSQL"],"summary":"Reset PostgreSQL cluster password","description":"Reset the password associated with the cluster user.","operationId":"PostgreSQLResetClusterPassword","responses":{"202":{"$ref":"#/components/responses/PostgreSQLResetClusterPassword202Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}/backups":{"get":{"tags":["PostgreSQL"],"summary":"List backups","description":"List all backups for a cluster.","operationId":"PostgreSQLListBackups","responses":{"200":{"$ref":"#/components/responses/PostgreSQLListBackups200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["PostgreSQL"],"summary":"Create backup","description":"Trigger an on-demand backup of a cluster. Requires WAL archiving to be enabled on the cluster.","operationId":"PostgreSQLCreateBackup","requestBody":{"$ref":"#/components/requestBodies/PostgreSQLCreateBackupRequest"},"responses":{"201":{"$ref":"#/components/responses/PostgreSQLCreateBackup201Response"},"400":{"$ref":"#/components/responses/PostgreSQLInvalidRequestProblem400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"}]},"/postgresql/spaces/{spaceId}/clusters/{clusterId}/backups/{backupId}":{"get":{"tags":["PostgreSQL"],"summary":"Get backup","description":"Get details of a specific backup.","operationId":"PostgreSQLGetBackup","responses":{"200":{"$ref":"#/components/responses/PostgreSQLGetBackup200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["PostgreSQL"],"summary":"Delete backup","description":"Delete an on-demand backup. Auto-generated backups cannot be deleted.","operationId":"PostgreSQLDeleteBackup","responses":{"204":{"$ref":"#/components/responses/PostgreSQLDeleteBackup204Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/PostgreSQLBackupForbiddenDeleteProblem403Response"},"404":{"$ref":"#/components/responses/PostgreSQLResourceNotFoundProblem404Response"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PostgreSQLClusterIdParameter"},{"$ref":"#/components/parameters/PostgreSQLBackupIdParameter"}]},"/catalogue":{"get":{"tags":["Catalogue"],"summary":"Get public catalogue","description":"Retrieve the public cloud catalogue with all available products and pricing","operationId":"CatalogueListPublicProducts","parameters":[{"$ref":"#/components/parameters/CloudServiceNameParam"},{"$ref":"#/components/parameters/KindParam"},{"$ref":"#/components/parameters/RegionCodeParam"},{"$ref":"#/components/parameters/CatalogueListPage"}],"responses":{"200":{"$ref":"#/components/responses/CatalogueGetPublic200Response"},"400":{"$ref":"#/components/responses/CatalogueBadRequestError400Response"},"500":{"$ref":"#/components/responses/CatalogueInternalServerError500Response"}},"security":[]}},"/catalogue/export/csv":{"get":{"tags":["Catalogue"],"summary":"Export catalogue to CSV","description":"Download the complete catalogue as a CSV file with all products and pricing information","operationId":"CatalogueExportCSV","parameters":[{"$ref":"#/components/parameters/CloudServiceNameParam"},{"$ref":"#/components/parameters/KindParam"},{"$ref":"#/components/parameters/RegionCodeParam"}],"responses":{"200":{"description":"CSV file with catalogue data","headers":{"Content-Disposition":{"schema":{"type":"string","example":"attachment; filename=\"numspot-catalogue-2025-01-01.csv\""},"example":"attachment; filename=\"numspot-catalogue-2025-01-01.csv\""}},"content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/CatalogueBadRequestError400Response"},"500":{"$ref":"#/components/responses/CatalogueInternalServerError500Response"}},"security":[]}},"/registry/versions":{"get":{"tags":["Registry"],"summary":"List registry versions","description":"Lists registry versions.","operationId":"ListRegistryVersions","responses":{"200":{"$ref":"#/components/responses/ListRegistryVersions200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"}},"security":[{"BearerAuth":[]}]}},"/registry/spaces/{spaceId}/registries":{"get":{"tags":["Registry"],"summary":"List Registries","description":"Lists registries.","operationId":"ListRegistries","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"responses":{"200":{"$ref":"#/components/responses/ListRegistries200Response"},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"404":{"$ref":"#/components/responses/ErrorRegistryNotFound404Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Registry"],"summary":"Create a Registry","description":"Creates a Registry instance","operationId":"CreateRegistry","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateRegistryRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateRegistry201Response"},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"409":{"$ref":"#/components/responses/ErrorRegistryConflict409Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]}},"/registry/spaces/{spaceId}/registries/{registryId}/password":{"get":{"tags":["Registry"],"summary":"Get admin password","description":"Retrieves administrator password of the registry.","operationId":"ReadRegistryPassword","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RegistryId"}],"responses":{"200":{"$ref":"#/components/responses/ReadRegistryPassword200Response"},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"404":{"$ref":"#/components/responses/ErrorRegistryNotFound404Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]}},"/registry/spaces/{spaceId}/registries/{registryId}":{"get":{"tags":["Registry"],"summary":"Read a Registry By Id and SpaceId","description":"Retrieves information about the Registries whose id is given as a parameter in a given Space.","operationId":"ReadRegistryById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RegistryId"}],"responses":{"200":{"$ref":"#/components/responses/ReadRegistryById200Response"},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"404":{"$ref":"#/components/responses/ErrorRegistryNotFound404Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Registry"],"summary":"Update a Registry","description":"Modifies the specified attributes of a Registry.","operationId":"UpdateRegistry","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RegistryId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateRegistryRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateRegistry200Response"},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"404":{"$ref":"#/components/responses/ErrorRegistryNotFound404Response"},"409":{"$ref":"#/components/responses/ErrorRegistryConflict409Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Registry"],"summary":"Delete a Registry.","description":"Registry deletion.","operationId":"DeleteRegistry","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RegistryId"}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/ErrorRegistryBadRequest400Response"},"401":{"$ref":"#/components/responses/ErrorRegistryUnauthorized401Response"},"403":{"$ref":"#/components/responses/ErrorRegistryForbidden403Response"},"404":{"$ref":"#/components/responses/ErrorRegistryNotFound404Response"},"409":{"$ref":"#/components/responses/ErrorRegistryConflict409Response"},"500":{"$ref":"#/components/responses/ErrorRegistryInternalServer500Response"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables":{"get":{"tags":["Compute"],"summary":"List Route Table(s)","description":"Lists your route tables.\u003cbr /\u003e\nIn your VPC, each subnet must be associated with a route table. If a subnet is not explicitly associated with a route table, it is implicitly associated with the main route table of the VPC.","operationId":"ReadRouteTables","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"linkRouteTableIds","in":"query","description":"The IDs of the route tables involved in the associations.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkRouteTableLinkRouteTableIds","in":"query","description":"The IDs of the associations between the route tables and the Subnets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkRouteTableMain","in":"query","description":"If true, the route tables are the main ones for their Vpcs.","schema":{"type":"boolean"}},{"name":"linkSubnetIds","in":"query","description":"The IDs of the Subnets involved in the associations.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeCreationMethods","in":"query","description":"The methods used to create a route.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeDestinationIpRanges","in":"query","description":"The IP ranges specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeDestinationServiceIds","in":"query","description":"The service IDs specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeGatewayIds","in":"query","description":"The IDs of the gateways specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeStates","in":"query","description":"The states of routes in the route tables (always `active`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeVmIds","in":"query","description":"The IDs of the VMs specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the route tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the route tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the route tables, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs for the route tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeNatGatewayIds","in":"query","description":"The IDs of the NAT gateways specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"routeVpcPeeringIds","in":"query","description":"The IDs of the Vpc peerings specified in routes in the tables.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the route tables.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadRouteTables200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Route Table","description":"Creates a route table for a specified VPC.\u003cbr /\u003e\nYou can then add routes and associate this route table with a subnet.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateRouteTable","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateRouteTableRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateRouteTable201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables/{id}":{"get":{"tags":["Compute"],"summary":"Get information of a Route Table","description":"Retrieves information about the route table whose id is given as a parameter.","operationId":"ReadRouteTablesById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadRouteTables"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadRouteTablesById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Route Table","description":"Deletes a specified route table.\u003cbr /\u003e\nBefore deleting a route table, you must disassociate it from any subnet. You cannot delete the main route table.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteRouteTable","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables/{id}/subnets/link":{"put":{"tags":["Compute"],"summary":"Link a Route Table to a Subnet","description":"Associates a subnet with a route table.\u003cbr /\u003e\nThe subnet and the route table must be in the same VPC. Traffic is routed according to the route table associated with this VPC. A route table can be associated with multiple subnets.\u003cbr /\u003e\u003cbr /\u003e","operationId":"LinkRouteTable","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkRouteTableRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/LinkRouteTable200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables/{id}/subnets/unlink":{"put":{"tags":["Compute"],"summary":"Unlink a Route Table from a Subnet","description":"Disassociates a subnet from a route table.\u003cbr /\u003e\nAfter disassociation, the subnet will no longer use the routes in this route table and will instead use the routes in the main route table of the VPC.\u003cbr /\u003e\u003cbr /\u003e","operationId":"UnlinkRouteTable","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the RouteTable"}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkRouteTableRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables/{id}/routePropagation":{"put":{"tags":["Compute"],"summary":"Activate or Deactivate a Route Table propagation","description":"Configures route propagation to a specified route table of a VPC through a virtual gateway.","operationId":"UpdateRouteTableRoutePropagation","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateRouteTableRoutePropagationRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateRouteTableRoutePropagation200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/routeTables/{id}/routes":{"put":{"tags":["Compute"],"summary":"Update Route in a Route Table","description":"Replaces an existing route within a route table in a VPC.\u003cbr /\u003e\nYou must specify one of the following elements as the target:\u003cbr /\u003e\u003cbr /\u003e\n\n* VPC Peering\u003cbr /\u003e\n* NAT VM\u003cbr /\u003e\n* Internet Gateway\u003cbr /\u003e\n* Virtual Gateway\u003cbr /\u003e\n* NAT Gateway\u003cbr /\u003e\n* Network Interface Card (NIC)\u003cbr /\u003e\u003cbr /\u003e\n\nThe routing algorithm is based on the most specific match.\u003cbr /\u003e\u003cbr /\u003e","operationId":"UpdateRoute","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateRouteRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateRoute200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create route in a Route Table","description":"Creates a route in a specified route table within a specified VPC.\u003cbr /\u003e\nYou must specify one of the following elements as the target:\u003cbr /\u003e\u003cbr /\u003e\n\n* VPC Peering\u003cbr /\u003e\n* NAT VM\u003cbr /\u003e\n* Internet Gateway\u003cbr /\u003e\n* Virtual Gateway\u003cbr /\u003e\n* NAT Gateway\u003cbr /\u003e\n* Network Interface Card (NIC)\u003cbr /\u003e\u003cbr /\u003e\n\nThe routing algorithm is based on the most specific match.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateRoute","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table for which you want to create a route."}}],"requestBody":{"$ref":"#/components/requestBodies/CreateRouteRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateRoute201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Route from a Route Table","description":"Deletes a route from a specified route table.","operationId":"DeleteRoute","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the route table from which you want to delete a route."}}],"requestBody":{"$ref":"#/components/requestBodies/DeleteRouteRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/serverCertificates":{"get":{"tags":["Compute"],"summary":"List Server Certificate(s)","description":"Lists your server certificates.","operationId":"ReadServerCertificates","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"paths","in":"query","description":"The paths to the server certificates.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadServerCertificates200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Server Certificate","description":"Creates a server certificate along with its matching private key.","operationId":"CreateServerCertificate","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateServerCertificateRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateServerCertificate201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/serverCertificates/{id}":{"put":{"tags":["Compute"],"summary":"Update Server Certificate","description":"Modifies the name and/or the path of a specified server certificate.","operationId":"UpdateServerCertificate","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The Name of the server certificate."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateServerCertificateRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateServerCertificate200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Server Certificate","description":"Deletes a specified server certificate.","operationId":"DeleteServerCertificate","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The Name of the server certificate."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/keypairs":{"get":{"tags":["Compute"],"summary":"List Keypair(s)","description":"Lists your keypairs.","operationId":"ReadKeypairs","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"keypairFingerprints","in":"query","description":"The fingerprints of the keypairs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"keypairNames","in":"query","description":"The names of the keypairs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"keypairTypes","in":"query","description":"The types of the keypairs (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadKeypairs200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Keypair","description":"Creates a keypair to use with your virtual machines (VMs).\u003cbr /\u003e\nYou can use this method in two different ways:\n* **Creating a keypair**: In that case, NumSpot creates a 2048-bit RSA keypair, stores its public key in your account, and returns its private key in the response of the call so that you can save it in a file.\u003cbr /\u003e\nWhen you save the returned private key, make sure you replace the `\\n` escape sequences with real line breaks.\n * **Importing a keypair created locally**: If you already have a keypair that you have created locally with a third-party tool, you can import its public key in your account. The following types of key can be imported: RSA (2048 bits or preferably 4096 bits), ECDSA (256 bits), and Ed25519. The following formats can be used: PEM, PKCS8, RFC4716, and OpenSSH.","operationId":"CreateKeypair","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateKeypairRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateKeypair201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/keypairs/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Keypair","description":"Retrieves information about the keypair whose id is given as a parameter.","operationId":"ReadKeypairsById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"ID for ReadKeypairs"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadKeypairsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Keypair","description":"Deletes the specified keypair.\u003cbr /\u003e\nThis action deletes the public key stored by NumSpot, thus deleting the keypair.","operationId":"DeleteKeypair","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the keypair you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vpcs":{"get":{"tags":["Compute"],"summary":"List VPC(s)","description":"Lists your VPCs.","operationId":"ReadVpcs","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"dhcpOptionsSetIds","in":"query","description":"The IDs of the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ipRanges","in":"query","description":"The IP ranges for the Vpcs, in CIDR notation (for example, `10.0.0.0/16`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"isDefault","in":"query","description":"If true, the Vpc used is the default one.","schema":{"type":"boolean"}},{"name":"states","in":"query","description":"The states of the Vpcs (`pending` \\| `available` \\| `deleting`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the Vpcs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the Vpcs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the Vpcs, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the Vpcs.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVpcs200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create VPC(s)","description":"Creates a VPC with a specified IP range.\u003cbr /\u003e The IP range (network range) of your VPC must be between a /28 netmask (16 IPs) and a /16 netmask (65,536 IPs).\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateVpc","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateVpcRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateVpc201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vpcs/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a VPC","description":"Retrieves information about the VPC whose id is given as a parameter.","operationId":"ReadVpcsById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadVpcs"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVpcsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update VPC","description":"Associates a DHCP options set with a specified VPC.","operationId":"UpdateVpc","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Vpc."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateVpcRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateVpc200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete VPC","description":"Deletes a specified VPC.\u003cbr /\u003e Before deleting the VPC, you need to remove or detach all resources associated with it:\u003cbr /\u003e\u003cbr /\u003e * Virtual machines (VMs)\u003cbr /\u003e * VPC peerings\u003cbr /\u003e * Custom route tables\u003cbr /\u003e * Public IPs allocated to resources in the VPC\u003cbr /\u003e * Network Interface Cards (NICs) created in the subnets\u003cbr /\u003e * Virtual gateways, Internet Gateways, and NAT Gateways\u003cbr /\u003e * Load balancers\u003cbr /\u003e * Security groups\u003cbr /\u003e * Subnets\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteVpc","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Vpc you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/natGateways":{"get":{"tags":["Compute"],"summary":"List Nat Gateway(s)","description":"Lists your network address translation (NAT) services.","operationId":"ReadNatGateway","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"states","in":"query","description":"The states of the NAT gateways (`pending` \\| `available` \\| `deleting` \\| `deleted`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"subnetIds","in":"query","description":"The IDs of the Subnets in which the NAT gateways are.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the NAT gateways.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the NAT gateways.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the NAT gateways, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the NAT gateways.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs in which the NAT gateways are.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadNatGateway200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create NAT Gateway","description":"Creates a Network Address Translation (NAT) service in the specified public subnet of a VPC.\u003cbr /\u003e A NAT Gateway allows virtual machines (VMs) in the private subnets of this VPC to connect to the Internet while remaining inaccessible from the Internet.\u003cbr /\u003e When creating a NAT Gateway, specify the allocation ID of the public IP that you want to use as the NAT Gateway's public IP. After creation, you need to add a route in the route table of the private subnet, with `0.0.0.0/0` as the destination and the NAT Gateway ID as the target. For more information, see [LinkPublicIP](#linkpublicip) and [CreateRoute](#createroute).\u003cbr /\u003e You can create multiple NAT Gateways in the same VPC, one per public subnet.\u003cbr /\u003e\u003cbr /\u003e **[IMPORTANT]**\u003cbr /\u003e You cannot modify the public IP associated with a NAT Gateway after its creation. To change the public IP, you must delete the existing NAT Gateway and create a new one with the desired public IP.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateNatGateway","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateNatGatewayRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateNatGateway201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/natGateways/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a NAT Gateway","description":"Retrieves information about the Network Address Translation (NAT) Gateway whose id is given as a parameter.","operationId":"ReadNatGatewayById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadNatGateways"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadNatGatewayById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete NAT Gateway","description":"Deletes a specified Network Address Translation (NAT) service.\u003cbr /\u003e This action disassociates the public IP from the NAT Gateway but does not release the public IP from your account. Additionally, it does not remove any NAT Gateway routes from your route tables.","operationId":"DeleteNatGateway","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the NAT gateway you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/subnets":{"get":{"tags":["Compute"],"summary":"List Subnet(s)","description":"Lists your subnets.","operationId":"ReadSubnets","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"availableIpsCounts","in":"query","description":"The number of available IPs.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"ipRanges","in":"query","description":"The IP ranges in the Subnets, in CIDR notation (for example, `10.0.0.0/16`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"states","in":"query","description":"The states of the Subnets (`pending` \\| `available` \\| `deleted`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the Subnets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the Subnets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the Subnets, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs in which the Subnets are.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the Subnets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of the AZs in which the Subnets are located.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSubnets200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Subnet","description":"Creates a subnet in an existing VPC.\u003cbr /\u003e To create a subnet in a VPC, you must provide the ID of the VPC and the IP range for the subnet (its network range). Once the subnet is created, its IP range cannot be modified.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateSubnet","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateSubnetRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateSubnet201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/subnets/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Subnet","description":"Retrieves information about the subnet whose id is given as a parameter.","operationId":"ReadSubnetsById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadSubnets"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSubnetsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Subnet","description":"Modifies the specified attribute of a subnet.","operationId":"UpdateSubnet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Subnet."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateSubnetRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateSubnet200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Subnet","description":"Deletes a specified subnet.\u003cbr /\u003e Before deleting the subnet, you need to remove all resources associated with it:\u003cbr /\u003e\u003cbr /\u003e * Virtual machines (VMs)\u003cbr /\u003e * Network Interface Cards (NICs)\u003cbr /\u003e * NAT Gateways\u003cbr /\u003e * Load Balancers\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteSubnet","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Subnet you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers":{"get":{"tags":["Compute"],"summary":"List Load Balancer(s)","description":"Lists your load balancers.","operationId":"ReadLoadBalancers","parameters":[{"name":"loadBalancerNames","in":"query","description":"The names of the load balancers.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadLoadBalancers200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Load Balancer","description":"Creates a load balancer.\u003cbr /\u003e The load balancer is assigned a unique Domain Name Service (DNS) name and routes incoming traffic to its registered virtual machines (VMs).\u003cbr /\u003e By default, this action creates an Internet-facing load balancer that resolves to public IP addresses. To create an internal load balancer within a VPC, which resolves to private IP addresses, use the `LoadBalancerType` parameter.\u003cbr /\u003e You must specify either the `Subnets` or the `AvailabilityZoneNames` parameters.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateLoadBalancer","requestBody":{"$ref":"#/components/requestBodies/CreateLoadBalancerRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateLoadBalancer201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Load Balancer","description":"Retrieves information about the load balancer whose id is given as a parameter.","operationId":"ReadLoadBalancersById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"ID for ReadLoadBalancers"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadLoadBalancersById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Load Balancer","description":"Modifies a specified attribute of a load balancer. Only one attribute can be modified at a time.\u003cbr /\u003e\u003cbr /\u003e You can update the SSL certificate for an SSL or HTTPS listener on the load balancer. This new certificate will replace any existing certificate on the same load balancer and port.\u003cbr /\u003e\u003cbr /\u003e Additionally, you can replace the currently enabled policy with a new one. If the `PolicyNames` parameter is left empty, the currently enabled policy will be disabled.","operationId":"UpdateLoadBalancer","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateLoadBalancerRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateLoadBalancer200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Load Balancer","description":"Deletes a specified load balancer.","operationId":"DeleteLoadBalancer","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers/{id}/vmsHealth":{"get":{"tags":["Compute"],"summary":"Read VMs health","description":"Lists the state of one or more backend virtual machines (VMs) registered with a specified load balancer.","operationId":"ReadVmsHealth","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The name of the load balancer."}}],"requestBody":{"$ref":"#/components/requestBodies/ReadVmsHealthRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVmsHealth200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/loadBalancers/{id}/backendMachines/link":{"put":{"tags":["Compute"],"summary":"Link Load Balancer to a VM","description":"Attaches virtual machine (VM) to a specified load balancer. You need to specify at least the `BackendIps` or the `BackendVmIds` parameter.\u003cbr /\u003e The VMs can be in different Subnets and different AvailabilityZones than the load balancer, as long as the VMs and load balancers are all in the public Cloud or all in the same Vpc. It may take a little time for a VM to be registered with the load balancer. Once the VM is registered with a load balancer, it receives traffic and requests from this load balancer and is called a back-end VM.","operationId":"LinkLoadBalancerBackendMachines","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":" The name of the load balancer. "}}],"requestBody":{"$ref":"#/components/requestBodies/LinkLoadBalancerBackendMachinesRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers/{id}/backendMachines/unlink":{"put":{"tags":["Compute"],"summary":"Unlink Load Balancer from a VM","description":"Detaches one or more back-end virtual machines (VMs) from a load balancer. You must specify at least either the `BackendIps` or the `BackendVmIds` parameter.","operationId":"UnlinkLoadBalancerBackendMachines","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":" The name of the load balancer."}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkLoadBalancerBackendMachinesRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancersTags":{"get":{"tags":["Compute"],"summary":"List Load Balancer Tag(s)","description":"Lists the tags associated with one or more specified load balancers.","operationId":"ReadLoadBalancerTags","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/ReadLoadBalancerTagsRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadLoadBalancerTags200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/bulk/loadBalancersTags":{"delete":{"tags":["Compute"],"summary":"Delete Load Balancer Tag(s)","description":"Deletes one or more tags from the specified load balancers.","operationId":"DeleteLoadBalancerTags","requestBody":{"$ref":"#/components/requestBodies/DeleteLoadBalancerTagsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Compute"],"summary":"Create Load Balancer Tag(s)","description":"Adds one or more tags to the specified load balancers.\u003cbr /\u003e If a tag with the same key already exists for the load balancer, its value will be replaced.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateLoadBalancerTags","requestBody":{"$ref":"#/components/requestBodies/CreateLoadBalancerTagsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/bulk/tags":{"delete":{"tags":["Compute"],"summary":"Delete Tag(s)","description":"Deletes one or more tags from the specified resources.","operationId":"DeleteTags","requestBody":{"$ref":"#/components/requestBodies/DeleteTagsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Compute"],"summary":"Create Tag(s)","description":"Adds one or more tags to the specified resources.\u003cbr /\u003e If a tag with the same key already exists, its value is replaced.\u003cbr /\u003e This tagging functionality applies to following resources identifiable by their IDs:\u003cbr /\u003e\u003cbr /\u003e * Virtual machines (VMs) (i-xxxxxxxx)\u003cbr /\u003e * Images (ami-xxxxxxxx)\u003cbr /\u003e * Volumes (vol-xxxxxxxx)\u003cbr /\u003e * Snapshots (snap-xxxxxxxx)\u003cbr /\u003e * Public IPs (eipalloc-xxxxxxxx)\u003cbr /\u003e * Security groups (sg-xxxxxxxx)\u003cbr /\u003e * Route tables (rtb-xxxxxxxx)\u003cbr /\u003e * Network interface cards (NIC) (eni-xxxxxxxx)\u003cbr /\u003e * Vpcs (vpc-xxxxxxxx)\u003cbr /\u003e * Subnets (subnet-xxxxxxxx)\u003cbr /\u003e * NAT Gateways (nat-xxxxxxxx)\u003cbr /\u003e * Internet Gateways (igw-xxxxxxxx)\u003cbr /\u003e * DHCP options (dopt-xxxxxxxx)\u003cbr /\u003e * Snapshot export tasks (snap-export-xxxxxxxx)","operationId":"CreateTags","requestBody":{"$ref":"#/components/requestBodies/CreateTagsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/tags":{"get":{"tags":["Compute"],"summary":"List Tag(s)","description":"Lists your tags for your resources.","operationId":"ReadTags","parameters":[{"name":"keys","in":"query","description":"The keys of the tags that are assigned to the resources. You can use this filter alongside the `Values` filter. In that case, you filter the resources corresponding to each tag, regardless of the other filter.","schema":{"type":"array","items":{"type":"string"}}},{"name":"resourceIds","in":"query","description":"The IDs of the resources with which the tags are associated.","schema":{"type":"array","items":{"type":"string"}}},{"name":"resourceTypes","in":"query","description":"The resource type (`vm` \\| `image` \\| `volume` \\| `snapshot` \\| `public-ip` \\| `security-group` \\| `route-table` \\| `nic` \\| `vpc` \\| `subnet` \\| `bridge` \\| `nat-gateway` \\| `internet-gateway` \\| `client-gateway` \\| `virtual-gateway` \\| `vpn-connection` \\| `dhcp-options` \\| `task`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"values","in":"query","description":"The values of the tags that are assigned to the resources. You can use this filter alongside the `TagKeys` filter. In that case, you filter the resources corresponding to each tag, regardless of the other filter.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadTags200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/dhcpOptions":{"get":{"tags":["Compute"],"summary":"List DHCP option(s)","description":"Lists your DHCP Options.","operationId":"ReadDhcpOptions","parameters":[{"name":"default","in":"query","description":"If true, lists all default DHCP options set. If false, lists all non-default DHCP options set.","schema":{"type":"boolean"}},{"name":"domainNameServers","in":"query","description":"The IPs of the domain name servers used for the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"domainNames","in":"query","description":"The domain names used for the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"logServers","in":"query","description":"The IPs of the log servers used for the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ntpServers","in":"query","description":"The IPs of the Network Time Protocol (NTP) servers used for the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the DHCP options sets, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the DHCP options sets.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadDhcpOptions200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create DHCP options","description":"Creates a set of DHCP options, which you can then associate with a VPC using the [UpdateVpc](#updatenet) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateDhcpOptions","requestBody":{"$ref":"#/components/requestBodies/CreateDhcpOptionsRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateDhcpOptions201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/dhcpOptions/{id}":{"get":{"tags":["Compute"],"summary":"Get information about DHCP options","description":"Retrieves information about the DHCP Option whose id is given as a parameter.","operationId":"ReadDhcpOptionsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadDhcpOptions"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadDhcpOptionsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete DHCP options","description":"Deletes a specified DHCP options set.\u003cbr /\u003e Before deleting a DHCP options set, you must disassociate it from any VPCs it is associated with. To do this, you need to associate each VPC with a new set of DHCP options, or use the default set if you do not wish to associate any DHCP options with the VPC.\u003cbr /\u003e\u003cbr /\u003e [IMPORTANT]\u003cbr /\u003e You cannot delete the default set.","operationId":"DeleteDhcpOptions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the DHCP options set you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/flexibleGpus":{"get":{"tags":["Compute"],"summary":"List Flexible GPU(s)","description":"Lists your flexible GPUs (fGPUs).","operationId":"ReadFlexibleGpus","parameters":[{"name":"deleteOnVmDeletion","in":"query","description":"Indicates whether the fGPU is deleted when terminating the VM.","schema":{"type":"boolean"}},{"name":"generations","in":"query","description":"The processor generations that the fGPUs are compatible with.","schema":{"type":"array","items":{"type":"string"}}},{"name":"modelNames","in":"query","description":"One or more models of fGPUs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"states","in":"query","description":"The states of the fGPUs (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"vmIds","in":"query","description":"One or more IDs of VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of AZs where the fGPUs are located.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}},{"name":"ids","in":"query","description":"One or more IDs of fGPUs.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadFlexibleGpus200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Flexible GPU","description":"Allocates a flexible GPU (fGPU) to your account.\u003cbr /\u003e You can then attach this fGPU to a virtual machine (VM).\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateFlexibleGpu","requestBody":{"$ref":"#/components/requestBodies/CreateFlexibleGpuRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateFlexibleGpu201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/flexibleGpus/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Flexible GPU","description":"Retrieves information about about the flexible GPUs (fGPUs) whose id is given as a parameter.","operationId":"ReadFlexibleGpusById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadFlexibleGpus"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadFlexibleGpusById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Flexible GPU","description":"Modifies a flexible GPU (fGPU) behavior.","operationId":"UpdateFlexibleGpu","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the fGPU you want to modify."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateFlexibleGpuRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateFlexibleGpu200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Flexible GPU","description":"Releases a flexible GPU (fGPU) from your account.\u003cbr /\u003e The fGPU will then be available for use by others.","operationId":"DeleteFlexibleGpu","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the fGPU you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/flexibleGpus/{id}/vms/link":{"put":{"tags":["Compute"],"summary":"Link Flexible GPU to a VM","description":"Attaches one of your allocated flexible GPUs (fGPUs) to a virtual machine (VM).\u003cbr /\u003e The fGPU will remain in the `attaching` state until the VM is stopped, at which point it will transition to the `attached` state.","operationId":"LinkFlexibleGpu","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the fGPU you want to attach."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkFlexibleGpuRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/flexibleGpus/{id}/vms/unlink":{"put":{"tags":["Compute"],"summary":"Unlink Flexible GPU from a VM","description":"Detaches a flexible GPU (fGPU) from a virtual machine (VM).\u003cbr /\u003e The fGPU is in the `detaching` state until the VM is stopped, at which point it will become available for reallocation.","operationId":"UnlinkFlexibleGpu","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the fGPU you want to detach from your VM."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/images":{"get":{"tags":["Compute"],"summary":"List Image(s)","description":"Lists your images and NumSpot images.","operationId":"ReadImages","parameters":[{"name":"accountAliases","in":"query","description":"The account aliases of the owners of the Images.","schema":{"type":"array","items":{"type":"string"}}},{"name":"architectures","in":"query","description":"The architectures of the Images (`i386` \\| `x86_64`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingDeleteOnVmDeletion","in":"query","description":"Whether the volumes are deleted or not when terminating the VM.","schema":{"type":"boolean"}},{"name":"blockDeviceMappingDeviceNames","in":"query","description":"The device names for the volumes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingSnapshotIds","in":"query","description":"The IDs of the snapshots used to create the volumes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingVolumeSizes","in":"query","description":"The sizes of the volumes, in GB.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"blockDeviceMappingVolumeTypes","in":"query","description":"The types of volumes (`standard` \\| `gp2` \\| `io1`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"descriptions","in":"query","description":"The descriptions of the Images, provided when they were created.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fileLocations","in":"query","description":"The locations of the buckets where the Image files are stored.","schema":{"type":"array","items":{"type":"string"}}},{"name":"hypervisors","in":"query","description":"The hypervisor type of the Image (always `xen`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"imageNames","in":"query","description":"The names of the Images, provided when they were created.","schema":{"type":"array","items":{"type":"string"}}},{"name":"productCodeNames","in":"query","description":"The names of the product codes associated with the Image.","schema":{"type":"array","items":{"type":"string"}}},{"name":"productCodes","in":"query","description":"The product codes associated with the Image.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rootDeviceNames","in":"query","description":"The name of the root device. This value must be /dev/sda1.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rootDeviceTypes","in":"query","description":"The types of root device used by the Images (`bsu` or `ebs`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"states","in":"query","description":"The states of the Images (`pending` \\| `available` \\| `failed`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the Images.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the Images.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the Images, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"virtualizationTypes","in":"query","description":"The virtualization types (always `hvm`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the Images.","schema":{"type":"array","items":{"type":"string"}}},{"name":"isPublic","in":"query","description":"If true, lists all public Images. If false, lists all private Images.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadImages200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Image","description":"Creates a NumSpot image.\u003cbr /\u003e You can use this method in different ways: * **Creating from a VM**: You create an Image from one of your virtual machines (VMs).\u003cbr\u003e * **Copying an Image**: You copy an existing Image. The source Image can be one of your own Images, or an Image owned by another account that has granted you permission via the [UpdateImage](#updateimage) method.\u003cbr\u003e * **Registering from a snapshot**: You register an Image from an existing snapshot. The source snapshot can be one of your own snapshots, or a snapshot owned by another account that has granted you permission via the [UpdateSnapshot](#updatesnapshot) method.\u003cbr\u003e * **Registering from a bucket by using a manifest file**: You register an Image from the manifest file of an Image that was exported to an NumSpot Object Storage (NOS) bucket. First, the owner of the source Image must export it to the bucket by using the [CreateImageExportTask](#createimageexporttask) method. Then, they must grant you permission to read the manifest file via a pre-signed URL or Access Control Lists.\u003cbr /\u003e * **Registering from a bucket without using a manifest file**: This is similar to the previous case but you manually specify all the information that would be in a manifest file instead of using a manifest file. **[TIP]**\u003cbr /\u003e Registering from a bucket enables you to copy an Image across Regions.","operationId":"CreateImage","requestBody":{"$ref":"#/components/requestBodies/CreateImageRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateImage201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/images/{id}":{"get":{"tags":["Compute"],"summary":"Get information about an Image","description":"Retrieves information about the NumSpot images whose id is given as a parameter.","operationId":"ReadImagesById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadImages"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadImagesById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Image","description":"Modifies the access permissions for a NumSpot image.\u003cbr /\u003e You must specify either the `Additions` or the `Removals` parameter.\u003cbr /\u003e After sharing an Image with an account, the other account can create a copy of it that they own. For more information about copying Images, see [CreateImage](#createimage).","operationId":"UpdateImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Image you want to modify."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateImageRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateImage200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Image","description":"Deletes a NumSpot image so that you cannot use it anymore to launch virtual machines (VMs). However, you can still use VMs already launched from this Image.","operationId":"DeleteImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Image you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/internetGateways":{"get":{"tags":["Compute"],"summary":"List Internet Gateway(s)","description":"Lists your Internet Gateways.\u003cbr /\u003e An Internet Gateway enables your virtual machines (VMs) launched in a Vpc to connect to the Internet. By default, a Vpc includes an Internet Gateway, and each Subnet is public. Every VM launched within a default Subnet has a private IP and a public IP.","operationId":"ReadInternetGateways","parameters":[{"name":"linkStates","in":"query","description":"The current states of the attachments between the Internet gateways and the Vpcs (only `available`, if the Internet gateway is attached to a Vpc).","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the Internet gateways.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the Internet gateways.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the Internet gateways, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkVpcIds","in":"query","description":"The IDs of the Vpcs the Internet gateways are attached to.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the Internet gateways.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadInternetGateways200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Internet Gateway","description":"Creates an Internet Gateway that you can associate with a VPC.\u003cbr /\u003e An Internet Gateway allows your virtual machines (VMs) in a VPC to connect to the Internet. By default, a VPC includes an Internet Gateway, and each subnet is public. Every VM launched within a default subnet is assigned both a private IP address and a public IP address.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateInternetGateway","responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateInternetGateway201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/internetGateways/{id}":{"get":{"tags":["Compute"],"summary":"Get information about an Internet Gateway","description":"Retrieves information about the Internet Gateway whose id is given as a parameter.","operationId":"ReadInternetGatewaysById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadInternetGateways"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadInternetGatewaysById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Internet Gateway","description":"Deletes an Internet Gateway.\u003cbr /\u003e Before deleting an Internet Gateway, you must first detach it from any VPC to which it is attached.","operationId":"DeleteInternetGateway","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Internet gateway you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/internetGateways/{id}/vpcs/link":{"put":{"tags":["Compute"],"summary":"Link an Internet Gateway to a VPC","description":"Attaches an Internet Gateway to a VPC.\u003cbr /\u003e To enable Internet connectivity for a VPC, you must attach an Internet Gateway to that VPC.","operationId":"LinkInternetGateway","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Internet gateway you want to attach."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkInternetGatewayRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/internetGateways/{id}/vpcs/unlink":{"put":{"tags":["Compute"],"summary":"Unlink an Internet Gateway from a VPC","description":"Detaches an Internet Gateway from a VPC.\u003cbr /\u003e This action removes and disables the Internet Gateway from the VPC. The VPC must not have any virtual machines (VMs) using public IP addresses or internet-facing load balancers.","operationId":"UnlinkInternetGateway","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the Internet Gateway you want to detach."}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkInternetGatewayRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/listenerRules":{"get":{"tags":["Compute"],"summary":"List Listener Rule(s)","description":"Lists your listener rules.","operationId":"ReadListenerRules","parameters":[{"name":"listenerRuleNames","in":"query","description":"The names of the listener rules.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadListenerRules200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Listener Rule","description":"Creates a traffic redirection rule for the specified listener. Each rule must include either the `HostNamePattern` or `PathPattern` parameter. Rules are evaluated in priority order, with higher values taking precedence over lower values.\u003cbr /\u003e After creating the rule, you need to link backend VMs with it.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateListenerRule","requestBody":{"$ref":"#/components/requestBodies/CreateListenerRuleRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateListenerRule201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/listenerRules/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Listener Rule","description":"Retrieves information about the listener rule whose id is given as a parameter.","operationId":"ReadListenerRulesById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"ID for ReadListenerRules"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadListenerRulesById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Listener Rule","description":"Updates the pattern of the listener rule.\u003cbr /\u003e\nThis action modifies the pattern used to match incoming traffic.","operationId":"UpdateListenerRule","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the listener rule."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateListenerRuleRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateListenerRule200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Listener Rule","description":"Deletes a listener rule.\u003cbr /\u003e\nThe rule is disabled upon deletion, ceasing to be active.","operationId":"DeleteListenerRule","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the rule you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers/{id}/listeners":{"post":{"tags":["Compute"],"summary":"Create Load Balancer Listener","description":"Creates one or more listeners for the specified load balancer.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateLoadBalancerListeners","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer for which you want to create listeners."}}],"requestBody":{"$ref":"#/components/requestBodies/CreateLoadBalancerListenersRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateLoadBalancerListeners201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Load Balancer Listener","description":"Deletes listeners of the specified load balancer.","operationId":"DeleteLoadBalancerListeners","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer for which you want to delete listeners."}}],"requestBody":{"$ref":"#/components/requestBodies/DeleteLoadBalancerListenersRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/loadBalancers/{id}/policies":{"post":{"tags":["Compute"],"summary":"Create Load Balancer Policy","description":"Creates a stickiness policy that defines sticky session lifetimes based on the browser's cookie lifetime.\u003cbr /\u003e\nThis policy is applicable only for HTTP or HTTPS listeners.\u003cbr /\u003e\nWhen applied, the load balancer uses this cookie in all incoming requests to route them to the specified backend server virtual machine (VM). If the cookie is not present, the load balancer directs the request to any other server based on its load-balancing algorithm.\u003cbr /\u003e\u003cbr /\u003e\n\nAlternatively, you can create a stickiness policy with session lifetimes tied to an application-generated cookie.\u003cbr /\u003e\nIn this case, the lifetime of the special Load Balancer Unit (LBU) cookie matches the lifetime of the application-generated cookie specified in the policy configuration. The load balancer issues a new stickiness cookie only when the application response includes a new application cookie.\u003cbr /\u003e\nThe session ceases to be sticky if the application cookie is removed or expires, until a new application cookie is issued.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateLoadBalancerPolicy","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer for which you want to create a policy."}}],"requestBody":{"$ref":"#/components/requestBodies/CreateLoadBalancerPolicyRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateLoadBalancerPolicy201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Load Balancer Policy","description":"Deletes a specified policy from a load balancer.\u003cbr /\u003e To be deleted, the policy must not be enabled for any listeners.","operationId":"DeleteLoadBalancerPolicy","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the load balancer for which you want to delete a policy."}}],"requestBody":{"$ref":"#/components/requestBodies/DeleteLoadBalancerPolicyRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics":{"get":{"tags":["Compute"],"summary":"List NIC(s)","description":"Lists your network interface cards (NICs).\u003cbr /\u003e A NIC is a virtual network interface that you can attach to a virtual machine (VM) within a VPC.","operationId":"ReadNics","parameters":[{"name":"descriptions","in":"query","description":"The descriptions of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"isSourceDestCheck","in":"query","description":"Whether the source/destination checking is enabled (true) or disabled (false).","schema":{"type":"boolean"}},{"name":"linkNicDeleteOnVmDeletion","in":"query","description":"Whether the NICs are deleted when the VMs they are attached to are terminated.","schema":{"type":"boolean"}},{"name":"linkNicDeviceNumbers","in":"query","description":"The device numbers the NICs are attached to.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"linkNicLinkNicIds","in":"query","description":"The attachment IDs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkNicStates","in":"query","description":"The states of the attachments.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkNicVmIds","in":"query","description":"The IDs of the VMs the NICs are attached to.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkPublicIpLinkPublicIpIds","in":"query","description":"The association IDs returned when the public IPs were associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkPublicIpPublicIpIds","in":"query","description":"The allocation IDs returned when the public IPs were allocated to their accounts.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkPublicIpPublicIps","in":"query","description":"The public IPs associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"macAddresses","in":"query","description":"The Media Access Control (MAC) addresses of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"privateDnsNames","in":"query","description":"The private DNS names associated with the primary private IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"privateIpsLinkPublicIpPublicIps","in":"query","description":"The public IPs associated with the private IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"privateIpsPrimaryIp","in":"query","description":"Whether the private IP is the primary IP associated with the NIC.","schema":{"type":"boolean"}},{"name":"privateIpsPrivateIps","in":"query","description":"The private IPs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"securityGroupIds","in":"query","description":"The IDs of the security groups associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"securityGroupNames","in":"query","description":"The names of the security groups associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"states","in":"query","description":"The states of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"subnetIds","in":"query","description":"The IDs of the Subnets for the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the NICs, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs where the NICs are located.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of AZs where the NICs are located.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadNics200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create NIC","description":"Creates a Network Interface Card (NIC) in the specified subnet.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateNic","requestBody":{"$ref":"#/components/requestBodies/CreateNicRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateNic201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a NIC","description":"Retrieves information about the Network Interface Card (NIC) whose id is given as a parameter.","operationId":"ReadNicsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadNics"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadNicsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update NIC","description":"Modifies the specified Network Interface Card (NIC). Only one attribute can be modified at a time.","operationId":"UpdateNic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the NIC you want to modify."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateNicRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateNic200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete NIC","description":"Deletes the specified Network Interface Card (NIC).\u003cbr /\u003e The network interface must not be attached to any virtual machine (VM).","operationId":"DeleteNic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the NIC you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics/{id}/privateIps/link":{"put":{"tags":["Compute"],"summary":"Link a NIC to Private IP(s)","description":"Assigns one or more secondary private IP addresses to a specified Network Interface Card (NIC). This action is available only in a VPC. You can either add private IPs individually using the `PrivateIps` parameter or specify the number of private IPs to be automatically assigned from within the subnet range using the `SecondaryPrivateIpCount` parameter. Only one of these parameters can be used at a time. If neither parameter is specified, a private IP will be automatically selected from the subnet range.","operationId":"LinkPrivateIps","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the NIC."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkPrivateIpsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics/{id}/privateIps/unlink":{"put":{"tags":["Compute"],"summary":"Unlink NIC from Private IP(s)","description":"Unassigns one or more secondary private IP addresses from a Network Interface Card (NIC)","operationId":"UnlinkPrivateIps","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of Nic"}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkPrivateIpsRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics/{id}/vms/link":{"put":{"tags":["Compute"],"summary":"Link a NIC to a VM","description":"Attaches a Network Interface Card (NIC) to a virtual machine (VM).\u003cbr /\u003e\nThe NIC and VM must be in the same Availability Zone. The VM can be either `running` or `stopped`, and the NIC must be in the `available` state.","operationId":"LinkNic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the NIC you want to attach."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkNicRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/LinkNic200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/nics/{id}/vms/unlink":{"put":{"tags":["Compute"],"summary":"Unlink a NIC from a VM","description":"Detaches a Network Interface Card (NIC) from a virtual machine (VM).\u003cbr /\u003e\nThe primary NIC cannot be detached.","operationId":"UnlinkNic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of Nic"}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkNicRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/publicIps":{"get":{"tags":["Compute"],"summary":"List Public IP(s)","description":"Lists your public IPs.\u003cbr /\u003e\n By default, this action returns information about all your public IPs: available or associated with a virtual machine (VM), a network interface card (NIC) or a NAT Gateway.","operationId":"ReadPublicIps","parameters":[{"name":"linkPublicIpIds","in":"query","description":"The IDs representing the associations of public IPs with VMs or NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicIds","in":"query","description":"The IDs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"privateIps","in":"query","description":"The private IPs associated with the public IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the public IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the public IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the public IPs, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vmIds","in":"query","description":"The IDs of the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"ids","in":"query","description":"The IDs of the public IPs.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadPublicIps200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Public IP","description":"Acquires a public IP address for your account.\u003cbr /\u003e A public IP is a static address designed for dynamic cloud computing. It can be associated with a virtual machine (VM) in the public cloud or in a VPC, a network interface card (NIC), or a NAT Gateway.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreatePublicIp","responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreatePublicIp201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/publicIps/{id}":{"get":{"tags":["Compute"],"summary":"Get Information of a Public IP","description":"Retrieves information about the public IPs whose id is given as a parameter.","operationId":"ReadPublicIpsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadPublicIps"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadPublicIpsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Public IP","description":"Releases a public IP address.\u003cbr /\u003e You can release a public IP address. This address is then returned to the public IP pool and can be used by someone else. Before releasing a public IP address, ensure you have updated all your resources communicating with this address.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeletePublicIp","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID representing the association of the public IP with the VM or the NIC. In a Vpc, this parameter is required."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/publicIps/{id}/link":{"put":{"tags":["Compute"],"summary":"Link Public IP to a VM or a NIC","description":"Associates a public IP address with a virtual machine (VM) or a network interface card (NIC) or a VPC. You can associate a public IP with only one VM or network interface at a time.\u003cbr /\u003e\nTo associate a public IP in a VPC, ensure that the VPC has an Internet Gateway attached. For more information, see the [LinkInternetGateway](#linkinternetservice) method.\u003cbr /\u003e\nBy default, the public IP is disassociated every time you stop and start the VM. For more information, see the [CreateTags](#createtags) method.\u003cbr /\u003e\u003cbr /\u003e\n\n**[IMPORTANT]**\u003cbr /\u003e\nYou can associate a public IP with a network address translation (NAT) service only when creating the NAT Gateway. To modify its public IP, you need to delete the NAT Gateway and re-create it with the new public IP. For more information, see the [CreateNatGateway](#createnatgateway) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"LinkPublicIp","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The allocation ID of the public IP. This parameter is required unless you use the `PublicIp` parameter."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkPublicIpRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/LinkPublicIp200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/publicIps/{id}/unlink":{"put":{"tags":["Compute"],"summary":"Unlink a Public IP from a NIC or a VM","description":"Disassociates a public IP address from the virtual machine (VM) or network interface card (NIC) it is associated with.\u003cbr /\u003e\u003cbr /\u003e **[IMPORTANT]**\u003cbr /\u003e To disassociate the public IP address from a NAT Gateway, you need to delete the NAT Gateway. For more information, see the [DeleteNatGateway](#deletenatgateway) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"UnlinkPublicIp","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the PublicIp"}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkPublicIpRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/securityGroups":{"get":{"tags":["Compute"],"summary":"List Security Group(s)","description":"Lists your security groups.\u003cbr /\u003e You can specify either the name of the security groups or their IDs.","operationId":"ReadSecurityGroups","parameters":[{"name":"descriptions","in":"query","description":"The descriptions of the security groups.","schema":{"type":"array","items":{"type":"string"}}},{"name":"inboundRuleFromPortRanges","in":"query","description":"The beginnings of the port ranges for the TCP and UDP protocols, or the ICMP type numbers.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"inboundRuleIpRanges","in":"query","description":"The IP ranges that have been granted permissions, in CIDR notation (for example, `10.0.0.0/24`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"inboundRuleProtocols","in":"query","description":"The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or a protocol number, or `-1` for all protocols).","schema":{"type":"array","items":{"type":"string"}}},{"name":"inboundRuleSecurityGroupIds","in":"query","description":"The IDs of the security groups that have been granted permissions.","schema":{"type":"array","items":{"type":"string"}}},{"name":"inboundRuleSecurityGroupNames","in":"query","description":"The names of the security groups that have been granted permissions.","schema":{"type":"array","items":{"type":"string"}}},{"name":"inboundRuleToPortRanges","in":"query","description":"The ends of the port ranges for the TCP and UDP protocols, or the ICMP code numbers.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"outboundRuleFromPortRanges","in":"query","description":"The beginnings of the port ranges for the TCP and UDP protocols, or the ICMP type numbers.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"outboundRuleIpRanges","in":"query","description":"The IP ranges that have been granted permissions, in CIDR notation (for example, `10.0.0.0/24`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"outboundRuleProtocols","in":"query","description":"The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or a protocol number, or `-1` for all protocols).","schema":{"type":"array","items":{"type":"string"}}},{"name":"outboundRuleSecurityGroupIds","in":"query","description":"The IDs of the security groups that have been granted permissions.","schema":{"type":"array","items":{"type":"string"}}},{"name":"outboundRuleSecurityGroupNames","in":"query","description":"The names of the security groups that have been granted permissions.","schema":{"type":"array","items":{"type":"string"}}},{"name":"outboundRuleToPortRanges","in":"query","description":"The ends of the port ranges for the TCP and UDP protocols, or the ICMP code numbers.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"securityGroupIds","in":"query","description":"The IDs of the security groups.","schema":{"type":"array","items":{"type":"string"}}},{"name":"securityGroupNames","in":"query","description":"The names of the security groups.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the security groups.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the security groups.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the security groups, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs specified when the security groups were created.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSecurityGroups200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Security Group","description":"Creates a security group.\u003cbr /\u003e\nThis action creates a security group either in the public cloud or within a specified VPC. By default, a default security group is created for use in a VPC.\u003cbr /\u003e\nWhen launching a virtual machine (VM), if no security group is explicitly specified, the appropriate default security group is assigned to the VM. Default security groups include a default rule that allows network access between VMs within the same group.\u003cbr /\u003e\nWhen creating a security group, you specify a name. Security groups within a VPC cannot share the same name.\u003cbr /\u003e\nYou can have up to 500 security groups per VPC.\u003cbr /\u003e\nTo add or remove rules, use the [CreateSecurityGroupRule](#createsecuritygrouprule) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateSecurityGroup","requestBody":{"$ref":"#/components/requestBodies/CreateSecurityGroupRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateSecurityGroup201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/securityGroups/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Security Group","description":"Retrieves information about the security group whose id is given as a parameter.","operationId":"ReadSecurityGroupsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadSecurityGroups"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSecurityGroupsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Security Group","description":"Deletes a specified security group.\u003cbr /\u003e You can specify either the name of the security group or its ID.\u003cbr /\u003e This action will fail if the specified group is associated with a virtual machine (VM) or referenced by another security group.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteSecurityGroup","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the security group you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/vms":{"get":{"tags":["Compute"],"summary":"List Virtual Machine(s)","description":"Lists your virtual machines (VMs).\u003cbr /\u003e\nIf you provide one or more VM IDs, this action returns descriptions for those specific VMs. If no VM IDs are provided, descriptions for all VMs belonging to you are returned. Providing an invalid VM ID will result in an error. If you provide the ID of a VM that does not belong to you, its description will not be included in the response.\u003cbr /\u003e\nPlease note that the refresh interval for data returned by this action is one hour, so a terminated VM may still appear in the response.\u003cbr /\u003e\u003cbr /\u003e","operationId":"ReadVms","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"architectures","in":"query","description":"The architectures of the VMs (`i386` \\| `x86_64`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingDeleteOnVmDeletion","in":"query","description":"Whether the BSU volumes are deleted when terminating the VMs.","schema":{"type":"boolean"}},{"name":"blockDeviceMappingDeviceNames","in":"query","description":"The device names for the BSU volumes (in the format `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingLinkDates","in":"query","description":"The link dates for the BSU volumes mapped to the VMs (for example, `2016-01-23T18:45:30.000Z`).","schema":{"type":"array","items":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}},{"name":"blockDeviceMappingStates","in":"query","description":"The states for the BSU volumes (`attaching` \\| `attached` \\| `detaching` \\| `detached`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"blockDeviceMappingVolumeIds","in":"query","description":"The volume IDs of the BSU volumes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"clientTokens","in":"query","description":"The idempotency tokens provided when launching the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"creationDates","in":"query","description":"The dates when the VMs were launched.","schema":{"type":"array","items":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}},{"name":"imageIds","in":"query","description":"The IDs of the Images used to launch the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"isSourceDestChecked","in":"query","description":"Whether the source/destination checking is enabled (true) or disabled (false).","schema":{"type":"boolean"}},{"name":"keypairNames","in":"query","description":"The names of the keypairs used when launching the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"launchNumbers","in":"query","description":"The numbers for the VMs when launching a group of several VMs (for example, `0`, `1`, `2`, and so on).","schema":{"type":"array","items":{"type":"integer"}}},{"name":"lifecycles","in":"query","description":"Whether the VMs are Spot Instances (spot).","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicDescriptions","in":"query","description":"The descriptions of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicIsSourceDestChecked","in":"query","description":"Whether the source/destination checking is enabled (true) or disabled (false).","schema":{"type":"boolean"}},{"name":"nicLinkNicDeleteOnVmDeletion","in":"query","description":"Whether the NICs are deleted when the VMs they are attached to are deleted.","schema":{"type":"boolean"}},{"name":"nicLinkNicDeviceNumbers","in":"query","description":"The device numbers the NICs are attached to.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"nicLinkNicLinkNicDates","in":"query","description":"The dates and time when the NICs were attached to the VMs.","schema":{"type":"array","items":{"oneOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}]}}},{"name":"nicLinkNicLinkNicIds","in":"query","description":"The IDs of the NIC attachments.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicLinkNicStates","in":"query","description":"The states of the attachments.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicLinkNicVmIds","in":"query","description":"The IDs of the VMs the NICs are attached to.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicLinkPublicIpLinkPublicIpIds","in":"query","description":"The association IDs returned when the public IPs were associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicLinkPublicIpPublicIpIds","in":"query","description":"The allocation IDs returned when the public IPs were allocated to their accounts.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicLinkPublicIpPublicIps","in":"query","description":"The public IPs associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicMacAddresses","in":"query","description":"The Media Access Control (MAC) addresses of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicNicIds","in":"query","description":"The IDs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicPrivateIpsLinkPublicIpIds","in":"query","description":"The public IPs associated with the private IPs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicPrivateIpsPrimaryIp","in":"query","description":"Whether the private IPs are the primary IPs associated with the NICs.","schema":{"type":"boolean"}},{"name":"nicPrivateIpsPrivateIps","in":"query","description":"The private IPs of the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicSecurityGroupIds","in":"query","description":"The IDs of the security groups associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicSecurityGroupNames","in":"query","description":"The names of the security groups associated with the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicStates","in":"query","description":"The states of the NICs (`available` \\| `in-use`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicSubnetIds","in":"query","description":"The IDs of the Subnets for the NICs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"platforms","in":"query","description":"The platforms. Use windows if you have Windows VMs. Otherwise, leave this filter blank.","schema":{"type":"array","items":{"type":"string"}}},{"name":"privateIps","in":"query","description":"The private IPs of the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"productCodes","in":"query","description":"The product codes associated with the Image used to create the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"publicIps","in":"query","description":"The public IPs of the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"reservationIds","in":"query","description":"The IDs of the reservation of the VMs, created every time you launch VMs. These reservation IDs can be associated with several VMs when you lauch a group of VMs using the same launch request.","schema":{"type":"array","items":{"type":"string"}}},{"name":"rootDeviceNames","in":"query","description":"The names of the root devices for the VMs (for example, `/dev/sda1`)","schema":{"type":"array","items":{"type":"string"}}},{"name":"rootDeviceTypes","in":"query","description":"The root devices types used by the VMs (always `ebs`)","schema":{"type":"array","items":{"type":"string"}}},{"name":"securityGroupIds","in":"query","description":"The IDs of the security groups for the VMs (only in the public Cloud).","schema":{"type":"array","items":{"type":"string"}}},{"name":"securityGroupNames","in":"query","description":"The names of the security groups for the VMs (only in the public Cloud).","schema":{"type":"array","items":{"type":"string"}}},{"name":"stateReasonCodes","in":"query","description":"The reason codes for the state changes.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"stateReasonMessages","in":"query","description":"The messages describing the state changes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"stateReasons","in":"query","description":"The reasons explaining the current states of the VMs. This filter is like the `StateReasonCodes` one.","schema":{"type":"array","items":{"type":"string"}}},{"name":"subnetIds","in":"query","description":"The IDs of the Subnets for the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the VMs, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tenancies","in":"query","description":"The tenancies of the VMs (`dedicated` \\| `default` \\| `host`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"vmSecurityGroupIds","in":"query","description":"The IDs of the security groups for the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vmSecurityGroupNames","in":"query","description":"The names of the security group for the VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"vmStateCodes","in":"query","description":"The state codes of the VMs: `-1` (quarantine), `0` (pending), `16` (running), `32` (shutting-down), `48` (terminated), `64` (stopping), and `80` (stopped).","schema":{"type":"array","items":{"type":"integer"}}},{"name":"vmStateNames","in":"query","description":"The state names of the VMs (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"types","in":"query","description":"The NumSpot VM types.","schema":{"type":"array","items":{"type":"string","enum":["ns-eco6-2c1r","ns-eco6-2c2r","ns-eco6-2c4r","ns-eco6-2c8r","ns-eco6-4c16r","ns-eco6-8c32r","ns-eco7-2c1r","ns-eco7-2c2r","ns-eco7-2c4r","ns-eco7-2c8r","ns-eco7-4c16r","ns-eco7-8c32r","ns-gus6-2c8r","ns-gus6-4c16r","ns-gus6-8c32r","ns-gus6-16c64r","ns-gus6-32c128r","ns-gus6-48c192r","ns-gus6-64c256r","ns-gus6-78c384r","ns-gus7-2c8r","ns-gus7-4c16r","ns-gus7-8c32r","ns-gus7-16c64r","ns-gus7-32c128r","ns-gus7-48c192r","ns-gus7-64c256r","ns-gus7-78c384r","ns-mem6-2c16r","ns-mem6-4c32r","ns-mem6-8c64r","ns-mem6-16c128r","ns-mem6-32c256r","ns-mem6-48c384r","ns-mem6-64c512r","ns-mem6-78c1024r","ns-mem7-2c16r","ns-mem7-4c32r","ns-mem7-8c64r","ns-mem7-16c128r","ns-mem7-32c256r","ns-mem7-48c384r","ns-mem7-64c512r","ns-mem7-78c1024r","ns-cus6-2c4r","ns-cus6-4c8r","ns-cus6-8c16r","ns-cus6-16c32r","ns-cus6-32c64r","ns-cus6-48c96r","ns-cus6-64c128r","ns-cus6-78c192r","ns-cus7-2c4r","ns-cus7-4c8r","ns-cus7-8c16r","ns-cus7-16c32r","ns-cus7-32c64r","ns-cus7-48c96r","ns-cus7-64c128r","ns-cus7-78c192r","ns-inf7-126c1024r-8h200g","ns-inf7-32c256r-2h100g","ns-inf7-64c450r-2h100g","ns-inf7-32c256r-2l40g","ns-inf7-16c128r-1l40g"]}}},{"name":"vpcIds","in":"query","description":"The IDs of the Vpcs in which the VMs are running.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicVpcIds","in":"query","description":"The IDs of the Vpcs where the NICs are located.","schema":{"type":"array","items":{"type":"string"}}},{"name":"nicAvailabilityZoneNames","in":"query","description":"The names of the AZs where the NICs are located.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of the AZs of the VMs.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}},{"name":"ids","in":"query","description":"One or more IDs of VMs.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVms200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Virtual Machine","description":"Creates and launches virtual machines (VMs).\u003cbr /\u003e\nThis action allows you to create a specified number of VMs using a NumSpot image that you are authorized to use, and then automatically launch them.\u003cbr /\u003e\nThe VMs remain in the `pending` state until they are fully created and ready for use. Once launched, they transition to the `running` state.\u003cbr /\u003e\nTo check the state of your VMs, call the [ReadVms](#readvms) method.\u003cbr /\u003e\nIf not specified, the security group used will be the default one.\u003cbr /\u003e\nThe metadata server enables you to retrieve the public key provided when the VM is launched. Official Images include a script to retrieve this public key and place it inside the VM, allowing secure access without a password.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateVms","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateVmsRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateVms201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Virtual Machine","description":"Retrieves information about the virtual machine whose id is given as a parameter.","operationId":"ReadVmsById","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^i-","description":"ID for ReadVms"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVmsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Virtual Machine","description":"Modifies the specified attributes of a virtual machine.\u003cbr /\u003e\nYou must stop the VM before modifying the following attributes:\u003cbr /\u003e\n* `NestedVirtualization`\u003cbr /\u003e\n* `Performance`\u003cbr /\u003e\n* `UserData`\u003cbr /\u003e\n* `Type`\u003cbr /\u003e\u003cbr /\u003e","operationId":"UpdateVm","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the VM."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateVmRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateVm200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Virtual Machine","description":"Terminates a virtual machine (VM).\u003cbr /\u003e\nThis operation is idempotent, meaning that calling it multiple times will have the same effect as calling it once, ensuring that all calls succeed even if you terminate the VM more than once.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteVms","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the VM"}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}/adminPasswords":{"get":{"tags":["Compute"],"summary":"Get the admin password of a Virtual Machine","description":"Retrieves the administrator password for a running Windows VM.\u003cbr /\u003e\nThe administrator password is encrypted using the keypair specified when the VM was launched.\u003cbr /\u003e\u003cbr /\u003e\n\n**[IMPORTANT]**\u003cbr /\u003e\n* Only RSA keypairs can decrypt the password of a Windows VM.\u003cbr /\u003e\n* The administrator password is generated only on the first boot of the Windows VM and is not returned after the initial boot.\u003cbr /\u003e\u003cbr /\u003e","operationId":"ReadAdminPassword","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the VM."}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadAdminPassword200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}/consoleOutputs":{"get":{"tags":["Compute"],"summary":"Get console output of a Virtual Machine","description":"Retrieves the console output for a virtual machine. This console provides the most recent 64 KiB of output.\u003cbr /\u003e\u003cbr /\u003e\n\n**[IMPORTANT]**\u003cbr /\u003e\nOn Windows VMs, the console output is only available during the first boot. It will not return any output after the initial boot.\u003cbr /\u003e\u003cbr /\u003e","operationId":"ReadConsoleOutput","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the VM."}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadConsoleOutput200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}/reboot":{"put":{"tags":["Compute"],"summary":"Reboot a Virtual Machine","description":"Reboots a virtual machine.\u003cbr /\u003e\nThis operation sends a reboot request to the specified VM. It is an asynchronous action that queues the reboot request. This action only applies to VMs that are valid and belong to you.\u003cbr /\u003e\u003cbr /\u003e","operationId":"RebootVm","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the VM"}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}/start":{"put":{"tags":["Compute"],"summary":"Start a Virtual Machine","description":"Start virtual machine.\u003cbr /\u003e\nYou can start only VM that is valid and that belong to you.","operationId":"StartVm","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the VM"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/StartVm200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/{id}/stop":{"put":{"tags":["Compute"],"summary":"Stop a Virtual Machine","description":"Stops running virtual machine.\u003cbr /\u003e\nYou can stop only VM that is valid and that belong to you. Data stored in the VM RAM is lost.","operationId":"StopVm","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Id of the VM"}}],"requestBody":{"$ref":"#/components/requestBodies/StopVmRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/StopVm200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/vms/states":{"get":{"tags":["Compute"],"summary":"List the states of Virtual Machine","description":"Lists the status of virtual machine","operationId":"ReadVmsState","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"maintenanceEventCodes","in":"query","description":"The code for the scheduled event (`system-reboot` \\| `system-maintenance`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"maintenanceEventDescriptions","in":"query","description":"The description of the scheduled event.","schema":{"type":"array","items":{"type":"string"}}},{"name":"maintenanceEventsNotAfter","in":"query","description":"The latest time the event can end.","schema":{"type":"array","items":{"type":"string","format":"date"}}},{"name":"maintenanceEventsNotBefore","in":"query","description":"The earliest time the event can start.","schema":{"type":"array","items":{"type":"string","format":"date"}}},{"name":"vmStates","in":"query","description":"The states of the VMs (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of the AZs of the VMs.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}},{"name":"ids","in":"query","description":"One or more IDs of VMs.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVmsState200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/compute/spaces/{spaceId}/securityGroups/{id}/rules":{"post":{"tags":["Compute"],"summary":"Create Security Group Rule(s)","description":"Adds one or more rules to a security group.\u003cbr /\u003e Use the `SecurityGroupId` parameter to specify the security group for which you want to create a rule.\u003cbr /\u003e Use the `Flow` parameter to specify whether the rule is inbound or outbound.\u003cbr /\u003e\u003cbr /\u003e An inbound rule allows the security group to receive traffic from:\u003cbr /\u003e * A specific IP range (`IpRange` parameter) on a particular port range (`FromPortRange` and `ToPortRange` parameters) with a specific protocol (`IpProtocol` parameter).\u003cbr /\u003e (VPC only) An outbound rule functions similarly but allows the security group to send traffic rather than receive it.\u003cbr /\u003e Alternatively, you can use the `Rules` parameter to add multiple rules at once.\u003cbr /\u003e\u003cbr /\u003e **[NOTE]**\u003cbr /\u003e * Modifications take effect as quickly as possible, but a small delay may occur.\u003cbr /\u003e * To restrict traffic to private IPs only, please contact our support team at support@numspot.com.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateSecurityGroupRule","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the security group for which you want to create a rule."}}],"requestBody":{"$ref":"#/components/requestBodies/CreateSecurityGroupRuleRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateSecurityGroupRule201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Security Group Rule(s)","description":"Deletes one or more inbound or outbound rules from a security group. To successfully delete a rule, the values specified in the deletion request must exactly match the values of the existing rule.\u003cbr /\u003e For TCP and UDP protocols, you must specify the destination port or range of ports. For ICMP protocol, you must specify the ICMP type and code numbers.\u003cbr /\u003e Rules (IP permissions) consist of the protocol, IP range, or source security group.\u003cbr /\u003e To remove outbound access to a destination security group, it is recommended to use a set of IP permissions and to specify the protocol within that set.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteSecurityGroupRule","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the security group you want to delete a rule from."}}],"requestBody":{"$ref":"#/components/requestBodies/DeleteSecurityGroupRuleRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/snapshots":{"get":{"tags":["Compute"],"summary":"List Snapshot(s)","description":"Lists your snapshots and the permissions required to create volumes from them.","operationId":"ReadSnapshots","parameters":[{"name":"descriptions","in":"query","description":"The descriptions of the snapshots.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fromCreationDate","in":"query","description":"The beginning of the time period, in ISO 8601 date-time format (for example, `2020-06-14T00:00:00.000Z`).","schema":{"type":"string"}},{"name":"progresses","in":"query","description":"The progresses of the snapshots, as a percentage.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"states","in":"query","description":"The states of the snapshots (`in-queue` \\| `completed` \\| `error`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the snapshots.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the snapshots.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the snapshots, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"toCreationDate","in":"query","description":"The end of the time period, in ISO 8601 date-time format (for example, `2020-06-30T00:00:00.000Z`).","schema":{"type":"string"}},{"name":"volumeIds","in":"query","description":"The IDs of the volumes used to create the snapshots.","schema":{"type":"array","items":{"type":"string"}}},{"name":"volumeSizes","in":"query","description":"The sizes of the volumes used to create the snapshots, in GB.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"isPublic","in":"query","description":"If true, lists all public volumes. If false, lists all private volumes.","schema":{"type":"boolean"}},{"name":"ids","in":"query","description":"The IDs of the snapshots.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSnapshots200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Snapshot","description":"Creates a snapshot. Snapshots are point-in-time images of a volume that you can use to back up your data or create replicas of the volume.\u003cbr /\u003e You can use this method in three different ways:\u003cbr /\u003e * **Creating from a Volume**: Create a snapshot from one of your existing volumes.\u003cbr /\u003e * **Copying a Snapshot**: Copy an existing snapshot. The source snapshot can be one of your own snapshots or a snapshot owned by another account that has granted you permission via the [UpdateSnapshot](#updatesnapshot) method.\u003cbr /\u003e","operationId":"CreateSnapshot","requestBody":{"$ref":"#/components/requestBodies/CreateSnapshotRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateSnapshot201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/snapshots/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Snapshot","description":"Retrieves information about the snapshot whose id is given as a parameter.","operationId":"ReadSnapshotsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadSnapshots"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadSnapshotsById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Snapshot","description":"Deletes a specified snapshot.\u003cbr /\u003e You cannot delete a snapshot that is currently being used by a NumSpot image. To delete such a snapshot, you must first delete the corresponding Image. For more information, see the [DeleteImage](#deleteimage) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteSnapshot","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the snapshot you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/volumes":{"get":{"tags":["Compute"],"summary":"List Volume(s)","description":"Lists your Block Storage Unit (BSU) volumes.","operationId":"ReadVolumes","parameters":[{"name":"creationDates","in":"query","description":"The dates and times of creation of the volumes, in ISO 8601 date-time format (for example, `2020-06-30T00:00:00.000Z`).","schema":{"type":"array","items":{"type":"string","format":"date-time"}}},{"name":"linkVolumeDeleteOnVmDeletion","in":"query","description":"Whether the volumes are deleted or not when terminating the VMs.","schema":{"type":"boolean"}},{"name":"linkVolumeDeviceNames","in":"query","description":"The VM device names.","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkVolumeLinkDates","in":"query","description":"The dates and times of creation of the volumes, in ISO 8601 date-time format (for example, `2020-06-30T00:00:00.000Z`).","schema":{"type":"array","items":{"type":"string","format":"date-time"}}},{"name":"linkVolumeLinkStates","in":"query","description":"The attachment states of the volumes (`attaching` \\| `detaching` \\| `attached` \\| `detached`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"linkVolumeVmIds","in":"query","description":"One or more IDs of VMs.","schema":{"type":"array","items":{"type":"string"}}},{"name":"snapshotIds","in":"query","description":"The snapshots from which the volumes were created.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagKeys","in":"query","description":"The keys of the tags associated with the volumes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tagValues","in":"query","description":"The values of the tags associated with the volumes.","schema":{"type":"array","items":{"type":"string"}}},{"name":"tags","in":"query","description":"The key/value combination of the tags associated with the volumes, in the following format: \u0026quot;Filters\u0026quot;:{\u0026quot;Tags\u0026quot;:[\u0026quot;TAGKEY=TAGVALUE\u0026quot;]}.","schema":{"type":"array","items":{"type":"string"}}},{"name":"volumeSizes","in":"query","description":"The sizes of the volumes, in GB.","schema":{"type":"array","items":{"type":"integer"}}},{"name":"volumeStates","in":"query","description":"The states of the volumes (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"volumeTypes","in":"query","description":"The types of the volumes (`standard` \\| `gp2` \\| `io1`).","schema":{"type":"array","items":{"type":"string"}}},{"name":"availabilityZoneNames","in":"query","description":"The names of the AZs in which the volumes were created.","schema":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"}}},{"name":"ids","in":"query","description":"The IDs of the volumes.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVolumes200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create Volume","description":"Creates a Block Storage Unit (BSU) volume in a specified region.\u003cbr /\u003e BSU volumes can be attached to a virtual machine (VM) within the same Availability Zone. You can create either an empty volume or restore a volume from an existing snapshot.\u003cbr /\u003e The available volume types are:\u003cbr /\u003e * Enterprise (`io1`) for provisioned IOPS SSD volumes\u003cbr /\u003e * Performance (`gp2`) for general purpose SSD volumes\u003cbr /\u003e * Magnetic (`standard`) for standard HDD volumes\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateVolume","requestBody":{"$ref":"#/components/requestBodies/CreateVolumeRequest"},"responses":{"201":{"description":"No content.","$ref":"#/components/responses/CreateVolume201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/volumes/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Volume","description":"Retrieves information about the specified Block Storage Unit (BSU) Volume whose id is given as a parameter.","operationId":"ReadVolumesById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"ID for ReadVolumes"}}],"responses":{"200":{"description":"No content.","$ref":"#/components/responses/ReadVolumesById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Compute"],"summary":"Update Volume","description":"Modifies the specified attributes of a volume.\u003cbr /\u003e Cold volumes are those attached to VMs that are stopped, stopping, or detached. Hot volumes are those attached to running VMs.\u003cbr /\u003e\u003cbr /\u003e **[NOTE]**\u003cbr /\u003e When the modification is not instantaneous, the response will show the previous value. To see the updated value, you can use the [ReadVolumes](#readvolumes) method.\u003cbr /\u003e\u003cbr /\u003e","operationId":"UpdateVolume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the volume you want to update."}}],"requestBody":{"$ref":"#/components/requestBodies/UpdateVolumeRequest"},"responses":{"200":{"description":"No content.","$ref":"#/components/responses/UpdateVolume200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete Volume","description":"Deletes a specified Block Storage Unit (BSU) volume.\u003cbr /\u003e You can only delete volumes that are in the available state, meaning they are not currently attached to any virtual machine (VM).\u003cbr /\u003e\u003cbr /\u003e","operationId":"DeleteVolume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the volume you want to delete."}}],"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/volumes/{id}/vms/link":{"put":{"tags":["Compute"],"summary":"Link Volume to a Virtual Machine","description":"Attaches a Block Storage Unit (BSU) volume to a virtual machine (VM).\u003cbr /\u003e The volume and the VM must be in the same Availability Zone. The VM can be either running or stopped. The volume is attached to the specified VM device.\u003cbr /\u003e\u003cbr /\u003e","operationId":"LinkVolume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the volume you want to attach."}}],"requestBody":{"$ref":"#/components/requestBodies/LinkVolumeRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/volumes/{id}/vms/unlink":{"put":{"tags":["Compute"],"summary":"Unlink Volume from a Virtual Machine","description":"Detaches a Block Storage Unit (BSU) volume from a virtual machine (VM).\u003cbr /\u003e\nTo detach the root device of a VM, the VM must be stopped.\u003cbr /\u003e\u003cbr /\u003e","operationId":"UnlinkVolume","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"The ID of the volume you want to detach."}}],"requestBody":{"$ref":"#/components/requestBodies/UnlinkVolumeRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/imageExportTasks":{"get":{"tags":["Compute"],"summary":"List Image Export Tasks","description":"List image export tasks.","operationId":"ComputeReadImageExportTasks","parameters":[{"name":"ids","in":"query","description":"The ID of the Snapshot Export Tasks.","schema":{"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"String containing only visible (printable) ASCII characters."},"maxItems":32}}],"responses":{"200":{"$ref":"#/components/responses/ReadImageExportTasks200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Creates an image export task","description":"Exports a NumSpot image to a NumSpot Object Storage bucket.\u003cbr /\u003e\nThis enables you to copy an image between accounts in different Regions.\u003cbr /\u003e\u003cbr /\u003e\nThis action creates the necessary snapshots and manifest file in the bucket. The image can then be imported to another account using a pre-signed URL of its manifest file. For more information.\u003cbr /\u003e\u003cbr /\u003e\nTo copy an image in the same Region, you can also use the createImage method.\u003cbr /\u003e\n\n**[IMPORTANT]**\u003cbr /\u003e\nYou cannot export a shared or public image, as they do not belong to you. To do so, you must first copy it to your account. The copy then belongs to you and you can export it.\u003cbr /\u003e\u003cbr /\u003e","operationId":"ComputeCreateImageExportTasks","requestBody":{"$ref":"#/components/requestBodies/CreateImageExportTaskRequest"},"responses":{"202":{"description":"CreateImageExportTaskRequest accepted.","$ref":"#/components/responses/CreateImageExportTask202Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/imageExportTasks/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Image Export Task","description":"Retrieves information about the Image Export Task whose id is given as a parameter.","operationId":"ComputeReadImageExportTaskById","responses":{"200":{"$ref":"#/components/responses/ReadImageExportTaskById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete a Image Export Task","description":"Deletes an export task. \u003cbr /\u003e If the export task is not in the active or pending state, the command fails and an error is returned.","operationId":"ComputeDeleteImageExportTask","responses":{"204":{"description":"ComputeDeleteImageExportTask Deleted."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","description":"Image Export Task ID.","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[ -~]+$"}}]},"/compute/spaces/{spaceId}/snapshotExportTasks":{"get":{"tags":["Compute"],"summary":"List Snapshot Export Tasks","description":"List Snapshot Export Tasks.","operationId":"ComputeReadSnapshotExportTasks","parameters":[{"name":"ids","in":"query","description":"The IDs of the Snapshot Export Tasks.","schema":{"type":"array","items":{"type":"string","maxLength":64,"pattern":"^[ -~]+$"},"maxItems":32}}],"responses":{"200":{"$ref":"#/components/responses/ReadSnapshotExportTasks200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Compute"],"summary":"Create a snaphot export task","description":"Exports a snapshot to a NumSpot Object Storage bucket in the specified space. This action enables you to create a backup of your snapshot. \u003cbr /\u003e You can share this snapshot with others by granting permission to read it via pre-signed URLs.","operationId":"ComputeCreateSnapshotExportTask","requestBody":{"$ref":"#/components/requestBodies/CreateSnapshotExportTaskRequest"},"responses":{"202":{"description":"CreateSnapshotExportTaskRequest Accepted.","$ref":"#/components/responses/CreateSnapshotExportTask202Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/compute/spaces/{spaceId}/snapshotExportTasks/{id}":{"get":{"tags":["Compute"],"summary":"Get information about a Snapshot Export Task","description":"Retrieves information about the Snapshot Export Task whose id is given as a parameter.","operationId":"ComputeReadSnapshotExportTaskById","responses":{"200":{"$ref":"#/components/responses/ReadSnapshotExportTaskById200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Compute"],"summary":"Delete a Snapshot Export Task","description":"Deletes an Export Task. \u003cbr /\u003e If the export task is not in the active or pending state, the command fails and an error is returned.","operationId":"ComputeDeleteSnapshotExportTask","responses":{"204":{"description":"SnapshotExportTask deleted."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"414":{"$ref":"#/components/responses/Error414"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"name":"id","in":"path","description":"Snapshot Export Task ID","required":true,"schema":{"type":"string","maxLength":64,"pattern":"^[ -~]+$"}}]},"/connectivity/spaces/{spaceId}/bridges":{"get":{"tags":["Connectivity"],"summary":"List bridges","description":"List bridges between two resources","operationId":"ListBridges","responses":{"200":{"$ref":"#/components/responses/ListBridges200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a bridge","description":"Create Bridge between two resources","operationId":"CreateBridge","requestBody":{"$ref":"#/components/requestBodies/CreateBridgeRequest"},"responses":{"202":{"description":"Bridge creation accepted","headers":{"Location":{"description":"URL to monitor the bridge creation status","schema":{"type":"string","format":"uri"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bridge"}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/bridges/{id}":{"get":{"tags":["Connectivity"],"summary":"Read a bridge","description":"Read Bridge between two resources","operationId":"ReadBridge","responses":{"200":{"$ref":"#/components/responses/ReadBridge200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a bridge","description":"Delete Bridge between two resources","operationId":"DeleteBridge","responses":{"204":{"description":"Compute bridge deleted"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/computeBridges":{"get":{"tags":["Connectivity"],"summary":"List compute bridges","description":"List compute bridges","operationId":"ListComputeBridges","responses":{"200":{"$ref":"#/components/responses/ListComputeBridges200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a compute bridge","description":"Create a Bridge between two compute VPCs","operationId":"CreateComputeBridge","requestBody":{"$ref":"#/components/requestBodies/CreateComputeBridgeRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateComputeBridge201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/computeBridges/{id}":{"get":{"tags":["Connectivity"],"summary":"Read a compute bridge","description":"Read Bridge between two compute VPCs","operationId":"ReadComputeBridge","responses":{"200":{"$ref":"#/components/responses/ReadComputeBridge200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a compute bridge","description":"Delete Bridge between two compute VPCs","operationId":"DeleteComputeBridge","responses":{"204":{"description":"Compute bridge deleted"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/hybridBridges":{"get":{"tags":["Connectivity"],"summary":"List hybrid bridges","description":"List hybrid bridges","operationId":"ListHybridBridges","responses":{"200":{"$ref":"#/components/responses/ListHybridBridges200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a hybrid bridge","description":"Create bridge between a managed service and a compute VPC","operationId":"CreateHybridBridge","requestBody":{"$ref":"#/components/requestBodies/CreateHybridBridgeRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateHybridBridge201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/hybridBridges/{id}":{"get":{"tags":["Connectivity"],"summary":"Read a hybrid bridge","description":"Read bridge between a managed service and a compute VPC","operationId":"ReadHybridBridge","responses":{"200":{"$ref":"#/components/responses/ReadHybridBridge200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a hybrid bridge","description":"Delete a bridge between a managed service and a compute VPC","operationId":"DeleteHybridBridge","responses":{"204":{"description":"Hybrid bridge deleted"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"deprecated":true,"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/directLinkInterfaces":{"get":{"tags":["Connectivity"],"summary":"List direct link interfaces","description":"Lists your DirectLink interfaces.","operationId":"ListDirectLinkInterfaces","responses":{"200":{"$ref":"#/components/responses/ListDirectLinkInterfaces200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create direct link interface","description":"Creates a DirectLink interface.\nDirectLink interfaces enable you to reach one of your VPCs through a virtual gateway.","operationId":"CreateDirectLinkInterface","requestBody":{"$ref":"#/components/requestBodies/CreateDirectLinkInterfaceRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateDirectLinkInterface201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/directLinkInterfaces/{id}":{"get":{"tags":["Connectivity"],"summary":"Read direct link interface","description":"Retrieves information about the DirectLink Interface whose id is given as a parameter.","operationId":"ReadDirectLinkInterface","responses":{"200":{"$ref":"#/components/responses/ReadDirectLinkInterface200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete direct link interface","description":"Deletes a specified DirectLink interface.","operationId":"DeleteDirectLinkInterface","responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/directLinks":{"get":{"tags":["Connectivity"],"summary":"List direct links","description":"Lists all DirectLinks in the Region.","operationId":"ListDirectLinks","responses":{"200":{"$ref":"#/components/responses/ListDirectLinks200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create direct link","description":"Creates a DirectLink between a customer network and a specified DirectLink location.\u003cbr /\u003e\u003cbr /\u003e","operationId":"CreateDirectLink","requestBody":{"$ref":"#/components/requestBodies/CreateDirectLinkRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateDirectLink201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/directLinks/{id}":{"get":{"tags":["Connectivity"],"summary":"Read direct link","description":"Retrieves information about the DirectLink in the Region whose id is given as a parameter.","operationId":"ReadDirectLink","responses":{"200":{"$ref":"#/components/responses/ReadDirectLink200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a direct link","description":"Deletes a specified DirectLink.\nBefore deleting a DirectLink, ensure that all your DirectLink interfaces related to this DirectLink are deleted.","operationId":"DeleteDirectLink","responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/readLocations":{"get":{"tags":["Connectivity"],"summary":"List the locations of an Availability Zones","description":"List locations of your Availability Zones.","operationId":"ListLocations","responses":{"200":{"$ref":"#/components/responses/ReadLocations200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/clientGateways":{"get":{"tags":["Connectivity"],"summary":"List client gateways","description":"Lists all Client Gateways.","operationId":"ListClientGateways","responses":{"200":{"$ref":"#/components/responses/ListClientGateways200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a client gateway","description":"Creates a Client Gateway.","operationId":"CreateClientGateway","requestBody":{"$ref":"#/components/requestBodies/CreateClientGatewayRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateClientGateway201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/clientGateways/{id}":{"get":{"tags":["Connectivity"],"summary":"Read a client gateway","description":"Retrieves information about a Client Gateway.","operationId":"ReadClientGateway","responses":{"200":{"$ref":"#/components/responses/ReadClientGateway200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a client gateway","description":"Deletes a specified Client Gateway.","operationId":"DeleteClientGateway","responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/virtualGateways":{"get":{"tags":["Connectivity"],"summary":"List virtual gateways","description":"Lists all VirtualGateways.","operationId":"ListVirtualGateways","responses":{"200":{"$ref":"#/components/responses/ListVirtualGateways200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a virtual gateway","description":"Creates a VirtualGateway.","operationId":"CreateVirtualGateway","requestBody":{"$ref":"#/components/requestBodies/CreateVirtualGatewayRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateVirtualGateway201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/virtualGateways/{id}":{"get":{"tags":["Connectivity"],"summary":"Read virtual gateway","description":"Retrieves information about the VirtualGateway.","operationId":"ReadVirtualGateway","responses":{"200":{"$ref":"#/components/responses/ReadVirtualGateway200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a virtual gateway","description":"Deletes a specified Virtual Gateway.","operationId":"DeleteVirtualGateway","responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/virtualGateways/{id}/link":{"post":{"tags":["Connectivity"],"summary":"Link virtual gateway","description":"Link Virtual Gateway to a VPC.","operationId":"LinkVirtualGateway","requestBody":{"$ref":"#/components/requestBodies/LinkUnlinkVirtualGatewayRequest"},"responses":{"201":{"description":"Virtual Gateway linked."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Unlink virtual gateway","description":"Unlink Virtual Gateway from a VPC.","operationId":"UnlinkVirtualGateway","requestBody":{"$ref":"#/components/requestBodies/LinkUnlinkVirtualGatewayRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/vpnConnections":{"get":{"tags":["Connectivity"],"summary":"List VPN connections","description":"Lists all VPN Connections.","operationId":"ListVPNConnections","responses":{"200":{"$ref":"#/components/responses/ListVPNConnections200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Connectivity"],"summary":"Create a VPN connection","description":"Creates a VPN Connection.","operationId":"CreateVPNConnection","requestBody":{"$ref":"#/components/requestBodies/CreateVPNConnectionRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateVPNConnection201Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"}]},"/connectivity/spaces/{spaceId}/vpnConnections/{id}":{"get":{"tags":["Connectivity"],"summary":"Read a VPN connection","description":"Retrieves information about the VPNConnection.","operationId":"ReadVPNConnection","responses":{"200":{"$ref":"#/components/responses/ReadVPNConnection200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Connectivity"],"summary":"Update a VPN connection","description":"Updates the specified attributes of a VPN connection","operationId":"UpdateVPNConnection","requestBody":{"$ref":"#/components/requestBodies/UpdateVPNConnectionRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateVPNConnection200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a VPN connection","description":"Deletes a specified VPN Connection","operationId":"DeleteVPNConnection","responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/connectivity/spaces/{spaceId}/vpnConnections/{id}/routes":{"post":{"tags":["Connectivity"],"summary":"Create a VPN connection route","description":"Create a VPN Connection Route.","operationId":"CreateVPNConnectionRoute","requestBody":{"$ref":"#/components/requestBodies/CreateVPNConnectionRouteRequest"},"responses":{"201":{"description":"Route created."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Connectivity"],"summary":"Delete a VPN connection route","description":"Deletes a VPN Connection Route.","operationId":"DeleteVPNConnectionRoute","requestBody":{"$ref":"#/components/requestBodies/DeleteVPNConnectionRouteRequest"},"responses":{"204":{"description":"No content."},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"409":{"$ref":"#/components/responses/Error409"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceIdentifier"}]},"/iam/organisations/{organisationId}/roles":{"get":{"tags":["Identity Access Management"],"summary":"List all roles for an organisation","description":"List roles","operationId":"ListRolesOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RoleName"},{"$ref":"#/components/parameters/ListRolesPage"}],"responses":{"200":{"$ref":"#/components/responses/ListRoles200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No such role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create a new role for an organisation","description":"Create role","operationId":"CreateRoleOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateRoleRequest"},"responses":{"200":{"$ref":"#/components/responses/CreateRole200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/roles/{roleUuid}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve a specific role for an organisation","description":"Get role","operationId":"GetRoleOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RoleUuid"}],"responses":{"200":{"$ref":"#/components/responses/GetRole200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete a role from an organisation","description":"Delete role","operationId":"DeleteRoleOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RoleUuid"}],"responses":{"204":{"description":"Role deleted"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/roles/{roleUuid}/permissions":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve permissions assigned to a specific role","description":"Get a role's permissions","operationId":"GetRolePermissionsOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RoleUuid"},{"$ref":"#/components/parameters/ListRolePermissionsPage"}],"responses":{"200":{"$ref":"#/components/responses/GetRolePermissions200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/permissions":{"get":{"tags":["Identity Access Management"],"summary":"List all permissions for an organisation","description":"List permissions","operationId":"ListPermissionsOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/Service"},{"$ref":"#/components/parameters/Resource"},{"$ref":"#/components/parameters/SubResource"},{"$ref":"#/components/parameters/Action"},{"$ref":"#/components/parameters/ListPermissionsPage"}],"responses":{"200":{"$ref":"#/components/responses/ListPermissions200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/permissions/{permissionUuid}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve a specific permission for an organisation","description":"Get permission","operationId":"GetPermissionOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/PermissionUuid"}],"responses":{"200":{"$ref":"#/components/responses/GetPermission200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Permission not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/serviceAccounts/{serviceAccountId}/bulk/acl":{"post":{"tags":["Identity Access Management"],"summary":"Create ACLs in bulk for a service account","description":"Create an ACLs between a subject and a resource.","operationId":"CreateACLServiceAccountOrganisationBulk","requestBody":{"$ref":"#/components/requestBodies/SetACLRequest"},"responses":{"201":{"description":"acl created."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete ACLs in bulk for a service account","description":"delete an ACLs between a subject and a resource.","operationId":"DeleteACLServiceAccountOrganisationBulk","requestBody":{"$ref":"#/components/requestBodies/DeleteACLRequest"},"responses":{"204":{"description":"acl deleted."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"}]},"/iam/organisations/{organisationId}/users/{userId}/bulk/acl":{"post":{"tags":["Identity Access Management"],"summary":"Create ACLs in bulk for a user","description":"Create an ACLs between a subject and a resource.","operationId":"CreateACLUserOrganisationBulk","requestBody":{"$ref":"#/components/requestBodies/SetACLRequest"},"responses":{"201":{"description":"acl created."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete ACLs in bulk for a user","description":"delete an ACLs between a subject and a resource.","operationId":"DeleteACLUserOrganisationBulk","requestBody":{"$ref":"#/components/requestBodies/DeleteACLRequest"},"responses":{"204":{"description":"acl deleted."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"}]},"/iam/organisations/{organisationId}/serviceAccounts/{serviceAccountId}/acl":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve ACLs assigned to a service account","description":"Retrieve the ACLs assigned to a specific subject for a specific object type.","operationId":"GetACLServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"},{"$ref":"#/components/parameters/ListPolicyPage"},{"name":"service","in":"query","required":true,"schema":{"type":"string"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string"}},{"name":"subresource","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/GetACL200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/users/{userId}/acl":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve ACLs assigned to a user","description":"Retrieve the ACLs assigned to a specific user for a specific object type.","operationId":"GetACLUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"},{"$ref":"#/components/parameters/ListPolicyPage"},{"name":"service","in":"query","required":true,"schema":{"type":"string"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string"}},{"name":"subresource","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/GetACL200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/iampolicy/{subjectType}/{subjectId}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve IAM policy for a subject","description":"Retrieve the policy assigned to a specific subject","operationId":"GetIAMPolicyOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/SubjectTypeParam"},{"$ref":"#/components/parameters/SubjectId"}],"responses":{"200":{"$ref":"#/components/responses/GetIAMPolicy200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Identity Access Management"],"summary":"Modify IAM policy for a subject","description":"Modify the IAM policy by adding or removing roles and permissions. If the policy does not exist, it will be implicitly created","operationId":"SetIAMPolicyOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/SubjectTypeParam"},{"$ref":"#/components/parameters/SubjectId"}],"requestBody":{"$ref":"#/components/requestBodies/SetIAMPolicyRequest"},"responses":{"204":{"description":"policy set"},"400":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Subject not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/roles":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve all roles in a space","description":"List roles","operationId":"ListRolesSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RoleName"},{"$ref":"#/components/parameters/ListRolesPage"}],"responses":{"200":{"$ref":"#/components/responses/ListRoles200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No such role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create a new role in a space","description":"Create role","operationId":"CreateRoleSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateRoleRequest"},"responses":{"200":{"$ref":"#/components/responses/CreateRole200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/roles/{roleUuid}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve a specific role by UUID","description":"Get role","operationId":"GetRoleSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RoleUuid"}],"responses":{"200":{"$ref":"#/components/responses/GetRole200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Remove a role from the system","description":"Delete role","operationId":"DeleteRoleSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RoleUuid"}],"responses":{"204":{"description":"Role deleted"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/roles/{roleUuid}/permissions":{"get":{"tags":["Identity Access Management"],"summary":"List all permissions associated with a role","description":"Get a role's permissions","operationId":"GetRolePermissionsSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RoleUuid"},{"$ref":"#/components/parameters/ListRolePermissionsPage"}],"responses":{"200":{"$ref":"#/components/responses/GetRolePermissions200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Role not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/permissions":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve all permissions in a space","description":"List permissions","operationId":"ListPermissionsSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/Service"},{"$ref":"#/components/parameters/Resource"},{"$ref":"#/components/parameters/SubResource"},{"$ref":"#/components/parameters/Action"},{"$ref":"#/components/parameters/ListPermissionsPage"}],"responses":{"200":{"$ref":"#/components/responses/ListPermissions200Response"},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/permissions/{permissionUuid}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve a specific permission by UUID","description":"Get permission","operationId":"GetPermissionSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/PermissionUuid"}],"responses":{"200":{"$ref":"#/components/responses/GetPermission200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Permission not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/serviceAccounts/{serviceAccountId}/bulk/acl":{"post":{"tags":["Identity Access Management"],"summary":"Create access control lists for a service account","description":"Create an ACLs between a subject and a resource.","operationId":"CreateACLServiceAccountSpaceBulk","requestBody":{"$ref":"#/components/requestBodies/SetACLRequest"},"responses":{"201":{"description":"acl created."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Remove access control lists from a service account","description":"delete an ACLs between a subject and a resource.","operationId":"DeleteACLServiceAccountSpaceBulk","requestBody":{"$ref":"#/components/requestBodies/DeleteACLRequest"},"responses":{"204":{"description":"acl deleted."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"}]},"/iam/spaces/{spaceId}/users/{userId}/bulk/acl":{"post":{"tags":["Identity Access Management"],"summary":"Create access control lists for a user","description":"Create an ACLs between a subject and a resource.","operationId":"CreateACLUserSpaceBulk","requestBody":{"$ref":"#/components/requestBodies/SetACLRequest"},"responses":{"201":{"description":"acl created."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Remove access control lists from a user","description":"delete an ACLs between a subject and a resource.","operationId":"DeleteACLUserSpaceBulk","requestBody":{"$ref":"#/components/requestBodies/DeleteACLRequest"},"responses":{"204":{"description":"acl deleted."},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}]},"/iam/spaces/{spaceId}/serviceAccounts/{serviceAccountId}/acl":{"get":{"tags":["Identity Access Management"],"summary":"List access control lists for a service account","description":"Retrieve the ACLs assigned to a specific subject for a specific object type.","operationId":"GetACLServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"},{"$ref":"#/components/parameters/ListPolicyPage"},{"name":"service","in":"query","required":true,"schema":{"type":"string"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string"}},{"name":"subresource","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/GetACL200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/users/{userId}/acl":{"get":{"tags":["Identity Access Management"],"summary":"List access control lists for a user","description":"Retrieve the ACLs assigned to a specific subject for a specific object type.","operationId":"GetACLUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"},{"$ref":"#/components/parameters/ListPolicyPage"},{"name":"service","in":"query","required":true,"schema":{"type":"string"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string"}},{"name":"subresource","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/GetACL200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/iampolicy/{subjectType}/{subjectId}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve IAM policy for a subject","description":"Retrieve the policy assigned to a specific subject","operationId":"GetIAMPolicySpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/SubjectTypeParam"},{"$ref":"#/components/parameters/SubjectId"}],"responses":{"200":{"$ref":"#/components/responses/GetIAMPolicy200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Identity Access Management"],"summary":"Update or create IAM policy for a subject","description":"Modify the IAM policy by adding or removing roles and permissions. If the policy does not exist, it will be implicitly created","operationId":"SetIAMPolicySpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/SubjectTypeParam"},{"$ref":"#/components/parameters/SubjectId"}],"requestBody":{"$ref":"#/components/requestBodies/SetIAMPolicyRequest"},"responses":{"204":{"description":"policy set"},"400":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Subject not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/resource/{resourceId}":{"get":{"tags":["Identity Access Management"],"summary":"List all identities with their access rights bound to a resource","description":"Retrieve a list of identities with their different access paths to a resource","operationId":"ListIdentityAccessByResource","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ResourceId"},{"$ref":"#/components/parameters/ListPolicyPage"}],"responses":{"200":{"$ref":"#/components/responses/ListIdentityAccessByResource200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/users/{userId}/resources":{"get":{"tags":["Identity Access Management"],"summary":"List all resources with their access rights bound to an identity","description":"Retrieve a list of resources with their different access paths to an identity","operationId":"ListResourceAccessByIdentity","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"},{"$ref":"#/components/parameters/ListPolicyPage"}],"responses":{"200":{"$ref":"#/components/responses/ListResourceAccessByIdentity200Response"},"400":{"description":"Invalid role","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthenticated","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"No IAM policy found for the given subject.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/authorize":{"get":{"tags":["Identity Access Management"],"summary":"Process User Authorization Requests","description":"The endpoint is used to process user authorization requests.","operationId":"Authorize","parameters":[{"$ref":"#/components/parameters/ClientId"},{"$ref":"#/components/parameters/RedirectUri"},{"$ref":"#/components/parameters/ResponseType"},{"$ref":"#/components/parameters/Scope"},{"$ref":"#/components/parameters/State"},{"$ref":"#/components/parameters/CodeChallenge"},{"$ref":"#/components/parameters/CodeChallengeMethod"},{"$ref":"#/components/parameters/ConsentVerifier"},{"$ref":"#/components/parameters/LoginVerifier"}],"responses":{"302":{"description":"Redirection to the redirect URI with the authorization code."},"400":{"description":"Malformed request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"401":{"description":"Unauthorized client","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"500":{"description":"Internal Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}}}},"/iam/consent":{"get":{"tags":["Identity Access Management"],"summary":"Process Authentication Consent","description":"The endpoint is used to process consent for authentication flow.","operationId":"Consent","parameters":[{"$ref":"#/components/parameters/ConsentChallenge"}],"responses":{"302":{"description":"Redirection to the redirect URI with the consent_verifier."},"500":{"description":"Internal server error"}}}},"/iam/token":{"post":{"tags":["Identity Access Management"],"summary":"Generate Access Token","description":"Generate an access token","operationId":"Token","parameters":[{"$ref":"#/components/parameters/Authorization"}],"requestBody":{"$ref":"#/components/requestBodies/TokenRequest"},"responses":{"200":{"$ref":"#/components/responses/Token200Response"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"500":{"description":"Internal Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}},"security":[]}},"/iam/token/convert":{"put":{"tags":["Identity Access Management"],"summary":"Convert Token to Access Key and Secret Key","description":"This component is a front-end REST api for NumSpot S3 service, convert given token to AK SK","operationId":"ConvertToken","requestBody":{"$ref":"#/components/requestBodies/ConvertTokenRequest"},"responses":{"200":{"$ref":"#/components/responses/ConvertToken200Response"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"500":{"description":"Internal Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}},"security":[]}},"/iam/revoke":{"post":{"tags":["Identity Access Management"],"summary":"Revoke Access Token","description":"Revoking an access token means that the tokens will be invalid. A revoked access token can n longer be used to make access requests.","operationId":"Revoke","parameters":[{"$ref":"#/components/parameters/Authorization"}],"requestBody":{"$ref":"#/components/requestBodies/RevokeRequest"},"responses":{"200":{"description":"Token revoked successfully"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}},"security":[{"BasicAuth":[]}]}},"/iam/introspect":{"post":{"tags":["Identity Access Management"],"summary":"Check Token Status","description":"The introspection endpoint allows to check if a token (both refresh and access) is active or not. An active token is neither expired nor revoked.","operationId":"Introspect","requestBody":{"$ref":"#/components/requestBodies/IntrospectRequest"},"responses":{"200":{"$ref":"#/components/responses/Introspect200Response"},"500":{"description":"Internal Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}}}},"/iam/.well-known/jwks.json":{"get":{"tags":["Identity Access Management"],"summary":"Get JSON Web Keys","description":"This endpoint returns JSON Web Keys required to verifying OpenID Connect ID Tokens.","operationId":"JsonWebKeys","responses":{"200":{"$ref":"#/components/responses/JsonWebKeys200Response"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}}}}},"/iam/.well-known/openid-configuration":{"get":{"tags":["Identity Access Management"],"summary":"Discover OpenID Connect Configuration","description":"A mechanism for an OpenID Connect Relying Party to discover the End-User's OpenID Provider and obtain information needed to interact with it, including its OAuth 2.0 endpoint locations.","operationId":"DiscoverOidcConfiguration","responses":{"default":{"description":"ErrorOauth2","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"200":{"description":"oidcConfiguration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OidcConfiguration"}}}}}}},"/iam/.well-known/webauthn.js":{"get":{"tags":["Identity Access Management"],"summary":"Get WebAuthn JavaScript","description":"This endpoint provides JavaScript which is needed in order to perform WebAuthn login and registration.","operationId":"GetWebAuthnJavaScript","responses":{"200":{"$ref":"#/components/responses/GetWebAuthnJavaScript200Response"}}}},"/iam/userinfo":{"get":{"tags":["Identity Access Management"],"summary":"Get User Information","description":"get user info","operationId":"GetUserInfo","parameters":[{"$ref":"#/components/parameters/Authorization"}],"responses":{"default":{"description":"default oidc error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorOauth2"}}}},"200":{"$ref":"#/components/responses/GetUserInfo200Response"}}}},"/iam/frontend/self-service/errors":{"get":{"tags":["Identity Access Management"],"summary":"Get User-Flow Errors","description":"This endpoint returns the error associated with a user-facing self service errors.","operationId":"GetFlowError","parameters":[{"name":"id","in":"query","description":"Error is the error's ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"flowError","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowError"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"404":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"500":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/login":{"post":{"tags":["Identity Access Management"],"summary":"Submit a Login Flow","description":"Use this endpoint to complete a login flow. This endpoint\nbehaves differently for API and browser flows.\n\nAPI flows expect `application/json` to be sent in the body and responds with\nHTTP 200 and a application/json body with the session token on success;\nHTTP 410 if the original flow expired with the appropriate error messages set and optionally a `use_flow_id` parameter in the body;\nHTTP 400 on form validation errors.\n\nBrowser flows expect a Content-Type of `application/x-www-form-urlencoded` or `application/json` to be sent in the body and respond with\na HTTP 303 redirect to the post/after login URL or the `return_to` value if it was set and if the login succeeded;\na HTTP 303 redirect to the login UI URL with the flow ID containing the validation errors otherwise.\n\nBrowser flows with an accept header of `application/json` will not redirect but instead respond with\nHTTP 200 and a application/json body with the signed in identity and a `Set-Cookie` header on success;\nHTTP 303 redirect to a fresh login flow if the original flow expired with the appropriate error messages set;\nHTTP 400 on form validation errors.\n\nIf this endpoint is called with `Accept: application/json` in the header, the response contains the flow without a redirect. In the\ncase of an error, the `error.id` of the JSON response body can be one of:\n\n`session_already_available`: The user is already signed in.\n`security_csrf_violation`: Unable to fetch the flow because a CSRF violation occurred.\n`security_identity_mismatch`: The requested `?return_to` address is not allowed to be used. Adjust this in the configuration!\n`browser_location_change_required`: Usually sent when an AJAX request indicates that the browser needs to open a specific URL.\nMost likely used in Social Sign In flows.","operationId":"UpdateLoginFlow","parameters":[{"name":"flow","in":"query","description":"The Login Flow ID\nThe value for this parameter comes from `flow` URL Query parameter sent to your application (`/login?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"X-Session-Token","in":"header","description":"The Session Token of the Identity performing the settings flow.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLoginFlowBody"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UpdateLoginFlowBody"}}},"required":true},"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"successfulNativeLogin","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessfulNativeLogin"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"LoginFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginFlow"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"422":{"description":"errorBrowserLocationChangeRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBrowserLocationChangeRequired"}}}}}}},"/iam/frontend/self-service/login/browser":{"get":{"tags":["Identity Access Management"],"summary":"Create Login Flow for Browsers","description":"This endpoint initializes a browser-based user login flow. This endpoint will set the appropriate\ncookies and anti-CSRF measures required for browser-based flows.\nIf this endpoint is opened as a link in the browser, it will be redirected to\n`selfservice.flows.login.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session\nexists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter\n`?refresh=true` was set.\nIf this endpoint is called via an AJAX request, the response contains the flow without a redirect. In the\ncase of an error, the `error.id` of the JSON response body can be one of:\n`session_already_available`: The user is already signed in.\n`session_aal1_required`: Multi-factor auth (e.g. 2fa) was requested but the user has no session yet.\n`security_csrf_violation`: Unable to fetch the flow because a CSRF violation occurred.\n`security_identity_mismatch`: The requested `?return_to` address is not allowed to be used. Adjust this in the configuration!\nThis endpoint is NOT INTENDED for clients that do not have a browser (Chrome, Firefox, ...) as cookies are needed.","operationId":"CreateBrowserLoginFlow","parameters":[{"name":"refresh","in":"query","description":"Refresh a login session\n\nIf set to true, this will refresh an existing login session by\nasking the user to sign in again. This will reset the\nauthenticated_at time of the session.","schema":{"type":"boolean"}},{"name":"aal","in":"query","description":"Request a Specific AuthenticationMethod Assurance Level\n\nUse this parameter to upgrade an existing session's authenticator assurance level (AAL). This\nallows you to ask for multi-factor authentication. When an identity sign in using e.g. username+password,\nthe AAL is 1. If you wish to \"upgrade\" the session's security by asking the user to perform TOTP / WebAuth/ ...\nyou would set this to \"aal2\".","schema":{"type":"string"}},{"name":"return_to","in":"query","description":"The URL to return the browser to after the flow was completed.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\n\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}},{"name":"login_challenge","in":"query","description":"The value for this parameter comes from `login_challenge` URL Query parameter sent to your application.","schema":{"type":"string"}},{"name":"organization","in":"query","description":"An optional organization ID that should be used for logging this user in.\nThis parameter is only effective in the  Network.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"LoginFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginFlow"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/login/flows":{"get":{"tags":["Identity Access Management"],"summary":"Get Login Flow","description":"This endpoint returns a login flow's context with, for example, error details and other information.\nBrowser flows expect the anti-CSRF cookie to be included in the request's HTTP Cookie Header.\nFor AJAX requests you must ensure that cookies are included in the request or requests will fail.\nIf you use the browser-flow for server-side apps, the services need to run on a common top-level-domain\nand you need to forward the incoming HTTP Cookie header to this endpoint:\n\n```js\npseudo-code example\nrouter.get('/login', async function (req, res) {\nconst flow = await client.getLoginFlow(req.header('cookie'), req.query['flow'])\n\nres.render('login', flow)\n})\n```\n\nThis request may fail due to several reasons. The `error.id` can be one of:\n\n`session_already_available`: The user is already signed in.\n`self_service_flow_expired`: The flow is expired and you should request a new one.","operationId":"GetLoginFlow","parameters":[{"name":"id","in":"query","description":"The Login Flow ID\n\nThe value for this parameter comes from `flow` URL Query parameter sent to your\napplication (e.g. `/login?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"LoginFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginFlow"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"404":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/logout":{"get":{"tags":["Identity Access Management"],"summary":"Update Logout Flow","description":"This endpoint logs out an identity in a self-service manner.\n\nIf the `Accept` HTTP header is not set to `application/json`, the browser will be redirected (HTTP 303 See Other)\nto the `return_to` parameter of the initial request or fall back to `urls.default_return_to`.\n\nIf the `Accept` HTTP header is set to `application/json`, a 204 No Content response\nwill be sent on successful logout instead.\n\nThis endpoint is NOT INTENDED for API clients and only works\nwith browsers (Chrome, Firefox, ...). For API clients you can\ncall the `/self-service/logout/api` URL directly with the  Session Token.","operationId":"UpdateLogoutFlow","parameters":[{"name":"token","in":"query","description":"A Valid Logout Token\nIf you do not have a logout token because you only have a session cookie,\ncall `/self-service/logout/browser` to generate a URL for this endpoint.","schema":{"type":"string"}},{"name":"return_to","in":"query","description":"The URL to return to after the logout was completed.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\n\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"204":{"description":"Empty responses are sent when, for example, resources are deleted."},"303":{"description":"Empty responses are sent when, for example, resources are deleted."}}}},"/iam/frontend/self-service/recovery":{"get":{"tags":["Identity Access Management"],"summary":"Update Recovery Flow","description":"Init recovery flow","operationId":"InitRecoveryFlow","parameters":[{"name":"flow","in":"query","description":"recovery flowId","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","description":"Recovery Token\nThe recovery token which completes the recovery request. If the token\nis invalid (e.g. expired) an error will be shown to the end-user.\nThis parameter is usually set in a link and not used by any direct API call.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"302":{"description":"Empty responses are sent when, for example, resources are deleted."},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"422":{"description":"errorBrowserLocationChangeRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBrowserLocationChangeRequired"}}}}}},"post":{"tags":["Identity Access Management"],"summary":"Update Recovery Flow","description":"Use this endpoint to update a recovery flow. This endpoint\nbehaves differently for API and browser flows and has several states:\n`choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent\nand works with API- and Browser-initiated flows.\nFor API clients and Browser clients with HTTP Header `Accept: application/json` it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid.\nand a HTTP 303 See Other redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired).\nFor Browser clients without HTTP Header `Accept` or with `Accept: text/*` it returns a HTTP 303 See Other redirect to the Recovery UI URL with the Recovery Flow ID appended.\n`sent_email` is the success state after `choose_method` for the `link` method and allows the user to request another recovery email. It\nworks for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state.\n`passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow (\"sending a recovery link\")\ndoes not have any API capabilities. The server responds with a HTTP 303 See Other redirect either to the Settings UI URL\n(if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with\na new Recovery Flow ID which contains an error message that the recovery link was invalid.","operationId":"UpdateRecoveryFlow","parameters":[{"name":"flow","in":"query","description":"The Recovery Flow ID\n\nThe value for this parameter comes from `flow` URL Query parameter sent to your\napplication (e.g. `/recovery?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","description":"Recovery Token\nThe recovery token which completes the recovery request. If the token\nis invalid (e.g. expired) an error will be shown to the end-user.\nThis parameter is usually set in a link and not used by any direct API call.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRecoveryFlowBody"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UpdateRecoveryFlowBody"}}},"required":true},"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"422":{"description":"errorBrowserLocationChangeRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBrowserLocationChangeRequired"}}}}}}},"/iam/frontend/self-service/recovery/browser":{"get":{"tags":["Identity Access Management"],"summary":"Create Recovery Flow for Browsers","description":"This endpoint initializes a browser-based account recovery flow. Once initialized, the browser will be redirected to\n`selfservice.flows.recovery.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session\nexists, the browser is returned to the configured return URL.\nIf this endpoint is called via an AJAX request, the response contains the recovery flow without any redirects\nor a 400 bad request error if the user is already authenticated.\nThis endpoint is NOT INTENDED for clients that do not have a browser (Chrome, Firefox, ...) as cookies are needed.","operationId":"CreateBrowserRecoveryFlow","parameters":[{"name":"return_to","in":"query","description":"The URL to return the browser to after the flow was completed.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/recovery/flows":{"get":{"tags":["Identity Access Management"],"summary":"Get Recovery Flow","description":"This endpoint returns a recovery flow's context with, for example, error details and other information.\nBrowser flows expect the anti-CSRF cookie to be included in the request's HTTP Cookie Header.\nFor AJAX requests you must ensure that cookies are included in the request or requests will fail.\nIf you use the browser-flow for server-side apps, the services need to run on a common top-level-domain\nand you need to forward the incoming HTTP Cookie header to this endpoint:\n```js\npseudo-code example\nrouter.get('/recovery', async function (req, res) {\nconst flow = await client.getRecoveryFlow(req.header('Cookie'), req.query['flow'])\n\nres.render('recovery', flow)\n})\n```","operationId":"GetRecoveryFlow","parameters":[{"name":"id","in":"query","description":"The Flow ID\nThe value for this parameter comes from `request` URL Query parameter sent to your application (`/recovery?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\n\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"RecoveryFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryFlow"}}}},"404":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/settings":{"post":{"tags":["Identity Access Management"],"summary":"Complete Settings Flow","description":"Use this endpoint to complete a settings flow by sending an identity's updated password.This endpoint behaves differently for API and browser flows.\nAPI-initiated flows expect `application/json` to be sent in the body and respond with\nHTTP 200 and an application/json body with the session token on success;\nHTTP 303 redirect to a fresh settings flow if the original flow expired with the appropriate error messages set;\nHTTP 400 on form validation errors.\nHTTP 401 when the endpoint is called without a valid session token.\nHTTP 403 when `selfservice.flows.settings.privileged_session_max_age` was reached or the session's AAL is too low.\nImplies that the user needs to re-authenticate.\nBrowser flows without HTTP Header `Accept` or with `Accept: text/*` respond with\na HTTP 303 redirect to the post/after settings URL or the `return_to` value if it was set and if the flow succeeded;\na HTTP 303 redirect to the Settings UI URL with the flow ID containing the validation errors otherwise.\na HTTP 303 redirect to the login endpoint when `selfservice.flows.settings.privileged_session_max_age` was reached or the session's AAL is too low.\nBrowser flows with HTTP Header `Accept: application/json` respond with\nHTTP 200 and a application/json body with the signed in identity and a `Set-Cookie` header on success;\nHTTP 303 redirect to a fresh login flow if the original flow expired with the appropriate error messages set;\nHTTP 401 when the endpoint is called without a valid session cookie.\nHTTP 403 when the page is accessed without a session cookie or the session's AAL is too low.\nHTTP 400 on form validation errors.\nDepending on your configuration this endpoint might return a 403 error if the session has a lower Authenticator\nAssurance Level (AAL) than is possible for the identity. This can happen if the identity has password + webauthn\ncredentials (which would result in AAL2) but the session has only AAL1. If this error occurs, ask the user\nto sign in with the second factor (happens automatically for server-side browser flows) or change the configuration.\nIf this endpoint is called with a `Accept: application/json` HTTP header, the response contains the flow without a redirect. In the\ncase of an error, the `error.id` of the JSON response body can be one of:\n`session_refresh_required`: The identity requested to change something that needs a privileged session. Redirect\nthe identity to the login init endpoint with query parameters `?refresh=true\u0026return_to=\u003cthe-current-browser-url\u003e`,\nor initiate a refresh login flow otherwise.\n`security_csrf_violation`: Unable to fetch the flow because a CSRF violation occurred.\n`session_inactive`: No  Session was found - sign in a user first.\n`security_identity_mismatch`: The flow was interrupted with `session_refresh_required` but apparently some other\nidentity logged in instead.\n`security_identity_mismatch`: The requested `?return_to` address is not allowed to be used. Adjust this in the configuration!\n`browser_location_change_required`: Usually sent when an AJAX request indicates that the browser needs to open a specific URL.\nMost likely used in Social Sign In flows.","operationId":"UpdateSettingsFlo","parameters":[{"name":"flow","in":"query","description":"The Settings Flow ID\nThe value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/settings?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"X-Session-Token","in":"header","description":"The Session Token of the Identity performing the settings flow.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\n\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsFlowBody"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UpdateSettingsFlowBody"}}},"required":true},"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"settingsFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsFlow"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"settingsFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsFlow"}}}},"401":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"422":{"description":"errorBrowserLocationChangeRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBrowserLocationChangeRequired"}}}}},"security":[]}},"/iam/frontend/self-service/settings/flows":{"get":{"tags":["Identity Access Management"],"summary":"Get Settings Flow","description":"When accessing this endpoint, you must ensure that either the Session Cookie or the Session Token are set.\nDepending on your configuration this endpoint might return a 403 error if the session has a lower Authenticator\nAssurance Level (AAL) than is possible for the identity. This can happen if the identity has password + webauthn\ncredentials (which would result in AAL2) but the session has only AAL1. If this error occurs, ask the user\nto sign in with the second factor or change the configuration.\nIf this endpoint is called via an AJAX request, the response contains the flow without a redirect. In the case of an error, the `error.id` of the JSON response body can be one of:\n`security_csrf_violation`: Unable to fetch the flow because a CSRF violation occurred.\n`session_inactive`: No  Session was found - sign in a user first.\n`security_identity_mismatch`: The flow was interrupted with `session_refresh_required` but apparently some other identity logged in instead.","operationId":"GetSettingsFlow","parameters":[{"name":"id","in":"query","description":"ID is the Settings Flow ID\n\nThe value for this parameter comes from `flow` URL Query parameter sent to your\napplication (e.g. `/settings?flow=abcde`).","required":true,"schema":{"type":"string"}},{"name":"X-Session-Token","in":"header","description":"The Session Token\n\nWhen using the SDK in an app without a browser, please include the\nsession token here.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\n\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"settingsFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsFlow"}}}},"401":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"404":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"410":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/sessions/whoami":{"get":{"tags":["Identity Access Management"],"summary":"Check Who the Current HTTP Session Belongs To","description":"Uses the HTTP Headers in the GET request to determine (e.g. by using checking the cookies) who is authenticated.\nReturns a session object in the body or 401 if the credentials are invalid or no credentials were sent.\nIf you call this endpoint from a server-side application, you must forward the HTTP Cookie Header to this endpoint:\n\n```js\npseudo-code example\nrouter.get('/protected-endpoint', async function (req, res) {\nconst session = await client.toSession(undefined, req.header('cookie'))\n\nconsole.log(session)\n})\n```\n\nWhen calling this endpoint from a non-browser application (e.g. mobile app) you must include the session token:\n\n```js\npseudo-code example\n...\nconst session = await client.toSession(\"the-session-token\")\n\nconsole.log(session)\n```\n\nWhen using a token template, the token is included in the `tokenized` field of the session.\n\n```js\npseudo-code example\n...\nconst session = await client.toSession(\"the-session-token\", { tokenize_as: \"example-jwt-template\" })\n\nconsole.log(session.tokenized) // The JWT\n```\n\nDepending on your configuration this endpoint might return a 403 status code if the session has a lower Authenticator\nAssurance Level (AAL) than is possible for the identity. This can happen if the identity has password + webauthn\ncredentials (which would result in AAL2) but the session has only AAL1. If this error occurs, ask the user\nto sign in with the second factor or change the configuration.\n\nThis endpoint is useful for:\n\nAJAX calls. Remember to send credentials and set up CORS correctly!\nReverse proxies and API Gateways\nServer-side calls - use the `X-Session-Token` header!\n\nThis endpoint authenticates users by checking:\n\nif the `Cookie` HTTP header was set containing a Session Cookie;\nif the `Authorization: bearer \u003csession-token\u003e` HTTP header was set with a valid Session Token;\nif the `X-Session-Token` HTTP header was set with a valid Session Token.\n\nIf none of these headers are set or the cookie or token are invalid, the endpoint returns a HTTP 401 status code.\n\nAs explained above, this request may fail due to several reasons. The `error.id` can be one of:\n\n`session_inactive`: No active session was found in the request (no\n Session Cookie /  Session Token).\n\n`session_aal2_required`: An active session was found but it does not fulfil the Authenticator Assurance Level, implying that the session must authenticate the second factor.","operationId":"ToSession","parameters":[{"name":"X-Session-Token","in":"header","description":"Set the Session Token when calling from non-browser clients.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"Set the Cookie Header. This is especially useful when calling this endpoint from a server-side application. In that\nscenario you must include the HTTP Cookie Header which originally was included in the request to your server.\nIt is ok if more than one cookie are included here as all other cookies will be ignored.","schema":{"type":"string"}},{"name":"tokenize_as","in":"query","description":"Returns the session additionally as a token (such as a JWT). The value of this parameter has to be a valid, configured Session token template.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Session"}}}},"401":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/settings/browser":{"get":{"tags":["Identity Access Management"],"summary":"Create Settings Flow for Browsers","description":"This endpoint initializes a browser-based user settings flow. Once initialized, the browser will be redirected to\n`selfservice.flows.settings.ui_url` with the flow ID set as the query parameter `?flow=`. If no valid\nSession Cookie is included in the request, a login flow will be initialized.\nIf this endpoint is opened as a link in the browser, it will be redirected to\n`selfservice.flows.settings.ui_url` with the flow ID set as the query parameter `?flow=`. If no valid user session was set, the browser will be redirected to the login endpoint.\nIf this endpoint is called via an AJAX request, the response contains the settings flow without any redirects or a 401 forbidden error if no valid session was set.\nDepending on your configuration this endpoint might return a 403 error if the session has a lower Authenticator\nAssurance Level (AAL) than is possible for the identity. This can happen if the identity has password + webauthn\ncredentials (which would result in AAL2) but the session has only AAL1. If this error occurs, ask the user\nto sign in with the second factor (happens automatically for server-side browser flows) or change the configuration.\n\nIf this endpoint is called via an AJAX request, the response contains the flow without a redirect. In the\ncase of an error, the `error.id` of the JSON response body can be one of:\n`security_csrf_violation`: Unable to fetch the flow because a CSRF violation occurred.\n`session_inactive`: No  Session was found - sign in a user first.\n`security_identity_mismatch`: The requested `?return_to` address is not allowed to be used. Adjust this in the configuration!\nThis endpoint is NOT INTENDED for clients that do not have a browser (Chrome, Firefox, ...) as cookies are needed.","operationId":"CreateBrowserSettingsFlow","parameters":[{"name":"return_to","in":"query","description":"The URL to return the browser to after the flow was completed.","schema":{"type":"string"}},{"name":"Cookie","in":"header","description":"HTTP Cookies\nWhen using the SDK in a browser app, on the server side you must include the HTTP Cookie Header\nsent by the client to your server here. This ensures that CSRF and session cookies are respected.","schema":{"type":"string"}}],"responses":{"default":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"200":{"description":"settingsFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsFlow"}}}},"303":{"description":"Empty responses are sent when, for example, resources are deleted."},"400":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"401":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"403":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/frontend/self-service/logout/browser":{"get":{"tags":["Identity Access Management"],"summary":"Create a Logout URL for Browsers","description":"This endpoint initializes a browser-based user logout flow and a URL which can be used to log out the user.\nThis endpoint is NOT INTENDED for API clients and only works\nwith browsers (Chrome, Firefox, ...). For API clients you can\ncall the `/self-service/logout/api` URL directly with the  Session Token.\nThe URL is only valid for the currently signed in user. If no user is signed in, this endpoint returns\na 401 error.\nWhen calling this endpoint from a backend, please ensure to properly forward the HTTP cookies.","operationId":"CreateBrowserLogoutFlow","parameters":[{"name":"cookie","in":"header","description":"HTTP Cookies\n\nIf you call this endpoint from a backend, please include the\noriginal Cookie header in the request.","schema":{"type":"string"}},{"name":"return_to","in":"query","description":"Return to URL\n\nThe URL to which the browser should be redirected to after the logout\nhas been performed.","schema":{"type":"string"}}],"responses":{"200":{"description":"LogoutFlow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutFlow"}}}},"400":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"401":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}},"500":{"description":"errorGeneric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorGeneric"}}}}}}},"/iam/admin/organisations/{organisationId}/spaces/{spaceId}/serviceAccounts":{"post":{"tags":["Identity Access Management"],"summary":"Create admin service account","description":"Create a new administrator service account.","operationId":"CreateAdminServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateServiceAccountRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateServiceAccount201Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/serviceAccounts":{"get":{"tags":["Identity Access Management"],"summary":"List service accounts in organisation","description":"List an existing service account.","operationId":"ListServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ListServiceAccounts"}],"responses":{"200":{"$ref":"#/components/responses/ListServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create service account in organisation","description":"Create a new service account.","operationId":"CreateServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateServiceAccountRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateServiceAccount201Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/match/serviceAccounts":{"get":{"tags":["Identity Access Management"],"summary":"Match service account name with existing ones","description":"Match a service account's name with existing ones.","operationId":"MatchServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RequiredAuthorization"},{"$ref":"#/components/parameters/ServiceAccountName"}],"responses":{"200":{"$ref":"#/components/responses/MatchServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/serviceAccounts/{serviceAccountId}":{"get":{"tags":["Identity Access Management"],"summary":"Get service account details","description":"Retrieve an existing service account.","operationId":"GetServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"responses":{"200":{"$ref":"#/components/responses/GetServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Identity Access Management"],"summary":"Update service account","description":"Update an existing service account.","operationId":"UpdateServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateServiceAccountRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete service account","description":"Delete an existing service account","operationId":"DeleteServiceAccountOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"responses":{"204":{"description":"Service account deleted"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/serviceAccounts/{serviceAccountId}/spaces":{"get":{"tags":["Identity Access Management"],"summary":"List spaces assigned to service account","description":"Get a list of spaces assigned to a service account within an organisation.","operationId":"ListSpacesOfServiceAccount","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ServiceAccountId"},{"$ref":"#/components/parameters/ListSpacesOfServiceAccount"}],"responses":{"200":{"$ref":"#/components/responses/ListSpacesServiceAccount200Response"},"400":{"description":"UUID in parameters are malformed. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"User or organisation not found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/serviceAccounts":{"get":{"tags":["Identity Access Management"],"summary":"List service accounts in space","description":"List an existing service account.","operationId":"ListServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ListServiceAccounts"}],"responses":{"200":{"$ref":"#/components/responses/ListServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create service account in space","description":"Create a new service account.","operationId":"CreateServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateServiceAccountRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateServiceAccount201Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/match/serviceAccounts":{"get":{"tags":["Identity Access Management"],"summary":"Search service account by name in space","description":"Search for an existing service account by name.","operationId":"MatchServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RequiredAuthorization"},{"$ref":"#/components/parameters/ServiceAccountName"}],"responses":{"200":{"$ref":"#/components/responses/MatchServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/serviceAccounts/{serviceAccountId}":{"get":{"tags":["Identity Access Management"],"summary":"Get service account details in space","description":"Retrieve an existing service account.","operationId":"GetServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"responses":{"200":{"$ref":"#/components/responses/GetServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Identity Access Management"],"summary":"Update service account in space","description":"Update an existing service account.","operationId":"UpdateServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateServiceAccountRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateServiceAccount200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Assign service account to space","description":"Assign a service account to a space within an organisation.","operationId":"AssignServiceAccountToSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"responses":{"200":{"description":"Successfully assigned service account to space"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete service account in space","description":"Delete an existing service account","operationId":"DeleteServiceAccountSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ServiceAccountId"}],"responses":{"204":{"description":"Service account deleted"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/users":{"get":{"tags":["Identity Access Management"],"summary":"List users in an organisation","description":"List users or get an existing user by email.","operationId":"ListUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ListUser"}],"responses":{"200":{"$ref":"#/components/responses/ListUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create user in organisation.","description":"Create a new user.","operationId":"CreateUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateUserRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateUser201Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/users/{userId}":{"get":{"tags":["Identity Access Management"],"summary":"Get user details","description":"Retrieve an existing user","operationId":"GetUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"200":{"$ref":"#/components/responses/GetUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Identity Access Management"],"summary":"Update user","description":"Update an existing user","operationId":"UpdateUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateUserRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Delete user","description":"Delete an existing user","operationId":"DeleteUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"204":{"description":"User deleted"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/match/users":{"get":{"tags":["Identity Access Management"],"summary":"Find user by email","description":"Get a user by email.","operationId":"GetUserOrganisationByEmail","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/RequiredAuthorization"},{"$ref":"#/components/parameters/UserEmail"}],"responses":{"200":{"$ref":"#/components/responses/GetUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/users/{userId}/spaces":{"get":{"tags":["Identity Access Management"],"summary":"List spaces assigned to user","description":"Get a list of spaces assigned to a user within an organisation.","operationId":"ListSpacesOfUser","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"},{"$ref":"#/components/parameters/ListSpacesOfUser"}],"responses":{"200":{"$ref":"#/components/responses/ListSpacesUser200Response"},"400":{"description":"UUID in parameters are malformed. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"User or organisation not found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/users/{userId}/recover":{"post":{"tags":["Identity Access Management"],"summary":"Generate user recovery link","description":"Generate a recovery link to let the user set his password / totp","operationId":"RecoverUserOrganisation","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"200":{"$ref":"#/components/responses/RecoverUser200Response"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/users":{"get":{"tags":["Identity Access Management"],"summary":"List users or get an existing user by email","description":"List users or get an existing user by email.","operationId":"ListUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/ListUser"}],"responses":{"200":{"$ref":"#/components/responses/ListUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occurred during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create a new user","description":"Create a new user.","operationId":"CreateUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateUserRequest"},"responses":{"201":{"$ref":"#/components/responses/CreateUser201Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/match/users":{"get":{"tags":["Identity Access Management"],"summary":"Get a user by email","description":"Get a user by email.","operationId":"GetUserSpaceByEmail","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/RequiredAuthorization"},{"$ref":"#/components/parameters/UserEmail"}],"responses":{"200":{"$ref":"#/components/responses/GetUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/users/{userId}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve an existing user","description":"Retrieve an existing user.","operationId":"GetUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"200":{"$ref":"#/components/responses/GetUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"put":{"tags":["Identity Access Management"],"summary":"Update an existing user","description":"Update an existing user.","operationId":"UpdateUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateUserRequest"},"responses":{"200":{"$ref":"#/components/responses/UpdateUser200Response"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Conflict. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Assign a user to a space within an organisation","description":"Assign a user to a space within an organisation.","operationId":"AssignUserToSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"200":{"description":"Successfully assigned user to space"},"400":{"description":"Bad request. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]},"delete":{"tags":["Identity Access Management"],"summary":"Unassign an existing user","description":"Unassign an existing user.","operationId":"UnassignUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"204":{"description":"User unassigned"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/spaces/{spaceId}/users/{userId}/recover":{"post":{"tags":["Identity Access Management"],"summary":"Generate a recovery link to let the user set his password / totp","description":"Generate a recovery link to let the user set his password / totp.","operationId":"RecoverUserSpace","parameters":[{"$ref":"#/components/parameters/SpaceId"},{"$ref":"#/components/parameters/UserId"}],"responses":{"200":{"$ref":"#/components/responses/RecoverUser200Response"},"401":{"description":"Unauthorized. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not Found. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal Server Error. An error occured during the operation execution. See details in the error response","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"BearerAuth":[]}]}},"/iam/organisations":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve requester's organisations","description":"Get a list of organisations assigned to an identity.","operationId":"ListRequesterOrganisations","parameters":[{"$ref":"#/components/parameters/ListRequesterOrganisations"}],"responses":{"200":{"$ref":"#/components/responses/ListRequesterOrganisations200Response"},"400":{"$ref":"#/components/responses/ListRequesterOrganisations400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/organisations/{organisationId}/spaces":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve a list of all spaces within an organisation","description":"List spaces","operationId":"ListSpaces","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ListSpacesPage"}],"responses":{"200":{"$ref":"#/components/responses/ListSpaces200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"post":{"tags":["Identity Access Management"],"summary":"Create a new space within an organisation","description":"Create Space","operationId":"CreateSpace","parameters":[{"$ref":"#/components/parameters/OrganisationId"}],"requestBody":{"$ref":"#/components/requestBodies/CreateSpaceRequest"},"responses":{"200":{"$ref":"#/components/responses/CreateSpace200Response"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/organisations/{organisationId}/spaces/{spaceId}":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve details of a specific space","description":"Get Space","operationId":"GetSpaceById","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/SpaceId"}],"responses":{"200":{"$ref":"#/components/responses/GetSpaceById200Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]},"patch":{"tags":["Identity Access Management"],"summary":"Modify an existing space's details","description":"Partially update a space","operationId":"UpdateSpace","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/SpaceId"}],"requestBody":{"$ref":"#/components/requestBodies/UpdateSpaceRequest"},"responses":{"204":{"description":"Space updated"},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}},"/iam/organisations/{organisationId}/spaces":{"get":{"tags":["Identity Access Management"],"summary":"Retrieve requester's spaces","description":"Get a list of spaces assigned to an identity within an organisation.","operationId":"ListRequesterSpaces","parameters":[{"$ref":"#/components/parameters/OrganisationId"},{"$ref":"#/components/parameters/ListSpaces"}],"responses":{"200":{"$ref":"#/components/responses/ListRequesterSpaces200Response"},"400":{"$ref":"#/components/responses/ListRequesterSpaces400Response"},"401":{"$ref":"#/components/responses/Error401"},"403":{"$ref":"#/components/responses/Error403"},"404":{"$ref":"#/components/responses/Error404"},"500":{"$ref":"#/components/responses/Error500"}},"security":[{"BearerAuth":[]}]}}},"components":{"schemas":{"InventoryResourceLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"type":{"$ref":"#/components/schemas/InventoryResourceType"},"id":{"type":"string"},"reference":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/InventoryResourceSource"},"state":{"$ref":"#/components/schemas/InventoryResourceState"},"details":{"type":"object","additionalProperties":true},"name":{"$ref":"#/components/schemas/InventoryResourceName"},"parent":{"$ref":"#/components/schemas/InventoryResourceParent"},"createdAt":{"type":"string","format":"date-time"}},"title":"InventoryResourceLight","required":["type","source","state","details","id","reference"]},"InventoryResourcesLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InventoryResourceLight"}}},"required":["items"]}],"title":"InventoryResourcesLight"},"InventoryBadRequestError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/BadRequestError"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#invalid_parameter"]}},"required":["type"]}],"title":"InventoryBadRequestError"},"InventoryResourceSource":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"InventorySource","enum":["postgresql","kubernetes","openshift","objectstorage","compute","connectivity","registry"],"description":"Name of the cloud service that provided the resource to the inventory"},"InventoryResourceParent":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"parentId":{"type":"string","format":"uuid","description":"id of the related resource"},"parentType":{"description":"type of the related resource","$ref":"#/components/schemas/InventoryResourceType"},"parentName":{"type":"string","description":"name of the related resource"}},"title":"InventoryResourceParent","required":["parentId","parentType","parentName"]},"InventoryResourceState":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"InventoryResourceState","enum":["CREATING","DELETING","PENDING","REPAIRING","RUNNING","SUSPENDING","ACCEPTED","ACTIVE","CANCELLED","DELETED","FAILED","SUCCEEDED","SUSPENDED","VERIFIED"],"additionalProperties":false,"description":"The following is a list of states in common use. APIs should consider prior art when determining state names, and should value local consistency above global consistency in the case of conflicting precedent. It encompasses the two possible kinds of States; Resting and Active."},"InventoryResourceType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"InventoryResourceType","enum":["OPENSHIFT_CLUSTER","KUBERNETES_CLUSTER","POSTGRES_CLUSTER","POSTGRES_BACKUP","BRIDGE","HYBRID_BRIDGE","MANAGED_SERVICES_BRIDGE","DIRECT_LINK","DIRECT_LINK_INTERFACES","CLIENT_GATEWAY","VIRTUAL_GATEWAY","VIRTUAL_PRIVATE_NETWORK","DHCP_OPTION","VIRTUAL_PRIVATE_CLOUD","SUBNET","PUBLIC_IP","ROUTE_TABLE","SECURITY_GROUP","NAT_GATEWAY","INTERNET_GATEWAY","IMAGE","VIRTUAL_MACHINE","NETWORK_INTERFACE_CARD","KEYPAIR","GPU","LOAD_BALANCER","SNAPSHOT","VOLUME","BUCKET","SERVER_CERTIFICATE"],"description":"Inventory resource type"},"InventoryResourceName":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"InventoryResourceName","description":"Name of the resource"},"Urn":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["urn:example:my-resource","urn:example:resource?+param1=value1","urn:example:resource#section2"],"title":"Urn","pattern":"^[Uu][Rr][Nn]:(?\u003cnid\u003e[a-zA-Z0-9][a-zA-Z0-9-]{1,31}):(?\u003cnss\u003e(?:[-a-zA-Z0-9()+,.:=@;$_!*'\u0026~/]|%[0-9a-fA-F]{2})+)(?:\\?\\+(?\u003crcomponent\u003e.*?))?(?:\\?=(?\u003cqcomponent\u003e.*?))?(?:#(?\u003cfcomponent\u003e.*?))?$","description":"Type defining an Uniform Resource Name (URN) according to the URN syntax defined in RFC 8141"},"Url":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["https://domain.org/path/"],"title":"Url","format":"uri","description":"URL type"},"Error":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","examples":[{"type":"urn:numspot:errors#unauthenticated_access","title":"Unauthorized attempt to access a resource without proper authentication.","detail":"Ensure valid credentials are provided.","instance":"/foo/23c5f747-4b9f-4b14-a250-6d460673989c/bar/7666f8e3-71df-40e8-b533-006807ee0c19"}],"properties":{"type":{"description":"A Uniform Resource Name defining the error type.","$ref":"#/components/schemas/Urn"},"title":{"type":"string","description":"Human-readable summary of the problem type."},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."},"instance":{"description":"Url to fetch more information about this problem type.","$ref":"#/components/schemas/Url"}},"title":"Error","required":["type","title"],"additionalProperties":false,"description":"For HTTP errors, we implement the https://datatracker.ietf.org/doc/html/rfc9457"},"Violation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"field":{"type":"string","description":"The field impacted by the violation."},"description":{"type":"string","description":"A description of why the field is violated."}},"title":"Violation","required":["field","description"],"additionalProperties":false,"description":"The violation definition."},"BadRequestError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"violations":{"type":"array","items":{"$ref":"#/components/schemas/Violation"},"description":"Array of violations to provide a per-field detail."}},"additionalProperties":false}],"title":"BadRequestError","additionalProperties":false,"description":"For HTTP 400 bad request errors, we implement the https://datatracker.ietf.org/doc/html/rfc9457"},"InternalServerError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#internal_error"],"description":"URN that identifies this as an internal server error."}},"required":["type"],"additionalProperties":false,"description":"Type for Internal Server Error"}],"title":"InternalServerError","additionalProperties":false,"description":"For HTTP 500 Internal Server errors. Implements https://datatracker.ietf.org/doc/html/rfc9457"},"PaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","examples":[{"nextPageToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9","totalSize":150},{"nextPageToken":"token123"},{"totalSize":42}],"properties":{"nextPageToken":{"type":"string","examples":["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"],"description":"Token to retrieve the next page. If omitted or empty, there are no subsequent pages."},"totalSize":{"type":"integer","examples":[0,100,2500],"minimum":0,"description":"Total number of items across all pages, if known."}},"title":"PaginatedList","additionalProperties":false,"description":"Common attributes of a paginated list. This schema is intended to be combined with specific item schemas using allOf."},"KubernetesVersions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"versions":{"type":"array","items":{"type":"string"}}},"title":"KubernetesVersions","required":["versions"]},"Page":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":0,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":50},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}},"title":"Page"},"Uuid":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["14b26347-4eb3-4fda-960f-1d77dbd078ca"],"title":"Uuid","format":"uuid","description":"A string representing uuid."},"StrictSlug":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["my-awesome-cluster_Name-with-unlimited_Length"],"title":"StrictSlug","pattern":"^[a-zA-Z0-9]+(?:[-_][a-zA-Z0-9]+)*$","description":"A strict slug: starts and ends with an alphanumeric character, allows hyphens or underscores in between but not consecutively or at the edges."},"StrictSlugMax63":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/StrictSlug"},{"type":"string","maxLength":63,"minLength":3}],"examples":["my-awesome-cluster_Name-limited-to_63_Characters"],"title":"StrictSlug63","description":"A string that inherits rules from StrictSlug: lowercase letters, digits, hyphens, and underscores, and must start and end with a letter or digit."},"Cidr":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["192.168.1.1/24","10.0.0.5/8","172.16.0.0/16","255.255.255.0/32","0.0.0.0/0"],"title":"Cidr","pattern":"^((25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)/(3[0-2]|[12]?[0-9])$","description":"Type defining a CIDR (Classless Inter-Domain Routing) according to the CIDR syntax defined in RFC 4632"},"Visibility":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Visibility","enum":["EXTERNAL","INTERNAL"],"description":"Cluster exposition method."},"Status":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"state":{"type":"string","enum":["PENDING","CREATING","RUNNING","DELETING","FAILED"]},"message":{"type":"string"}},"title":"Status","required":["state","message"]},"KubernetesCluster":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"description":"Cluster identifier.","$ref":"#/components/schemas/Uuid"},"name":{"description":"Cluster name.","$ref":"#/components/schemas/StrictSlugMax63"},"version":{"type":"string","description":"Cluster Kubernetes version."},"fullVersion":{"type":"string","description":"Cluster Kubernetes patch version."},"cidr":{"description":"Cluster CIDR.","$ref":"#/components/schemas/Cidr"},"profile":{"type":"string","description":"Cluster profile."},"visibility":{"description":"Cluster exposition method.","$ref":"#/components/schemas/Visibility"},"createdOn":{"type":"string","format":"date-time","description":"Cluster creation date."},"status":{"description":"Cluster status.","$ref":"#/components/schemas/Status"}},"title":"KubernetesCluster","required":["id","name","version","fullVersion","cidr","status","visibility","profile"]},"KubernetesClustersList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"nextToken":{"type":"string","description":"Token to retrieve the next page. If omitted or empty, there are no subsequent pages."},"items":{"type":"array","items":{"$ref":"#/components/schemas/KubernetesCluster"}}},"title":"KubernetesClustersList","required":["items"],"description":"List Kubernetes clusters."},"KubernetesClusterCreate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"description":"Name of the Kubernetes cluster.","$ref":"#/components/schemas/StrictSlugMax63"},"version":{"type":"string","enum":["1.31","1.32","1.33","1.34"],"description":"Kubernetes version of the cluster."},"cidr":{"description":"CIDR of the Kubernetes cluster.","$ref":"#/components/schemas/Cidr"},"visibility":{"description":"Cluster exposition method.","$ref":"#/components/schemas/Visibility"},"profile":{"type":"string","enum":["xsmall","small","medium","large"],"description":"Profile of the cluster."},"dedicatedEtcd":{"type":"boolean","description":"Enable dedicated etcd cluster for this Kubernetes cluster. When true, a separate etcd cluster is deployed in the tenant namespace for data isolation.","default":false}},"title":"KubernetesClusterCreate","required":["name","version","cidr","visibility","profile"],"additionalProperties":false},"CloudServiceName":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["kubernetes"],"title":"CloudServiceName","enum":["postgresql","kubernetes","openshift","objectstorage","compute","connectivity"],"description":"List of all Cloud Service names"},"ConflictDependency":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","examples":["01957f50-2730-71f5-9ea9-d8fc3575443a"],"format":"uuid","description":"Identifier of the conflicting resource"},"origin":{"description":"From where the conflict is originating","$ref":"#/components/schemas/CloudServiceName","examples":["compute"]},"resourceType":{"type":"string","examples":["vpc"],"description":"What type of resource is concerned by the conflict"},"detail":{"type":"string","examples":["Removing this resource is not possible if it is attached to a VPC"],"description":"Explanation of why this resource causes a conflict"}},"title":"ConflictDependency","required":["resourceId","origin","resourceType"],"additionalProperties":false},"ConflictError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#conflict"],"description":"URN that identifies this as a conflict."}},"required":["type"],"additionalProperties":false,"description":"Type for Conflict"},{"type":"object","properties":{"dependencies":{"type":"array","items":{"$ref":"#/components/schemas/ConflictDependency"},"minItems":1,"description":"Array of conflicting dependencies that prevent the operation"}},"additionalProperties":false}],"title":"ConflictError","additionalProperties":false,"description":"For HTTP 409 Conflict errors, listing resources that cause the conflict. Implements https://datatracker.ietf.org/doc/html/rfc9457"},"KubernetesKubeConfig":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kubeConfig":{"type":"string"}},"title":"KubeConfig","required":["kubeConfig"]},"AvailabilityZoneName":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["eu-west-2c"],"title":"AvailabilityZoneName","enum":["eu-west-2a","eu-west-2b","eu-west-2c","cloudgouv-eu-west-1a","cloudgouv-eu-west-1b","cloudgouv-eu-west-1c"],"description":"List of all Availability Zones name."},"NodeProfiles":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"NodeProfiles","enum":["small","medium","large","xlarge","gpu_xsmall_l40","gpu_small_l40","gpu_medium_h100","gpu_large_h100","gpu_xlarge_h200"],"description":"List of worker node profile names."},"KubernetesNodePoolDisk":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"size":{"type":"integer","description":"A volume size in GiB"},"iops":{"type":"integer","description":"The number of IOPS to allocate to the volume."},"type":{"type":"string","examples":["enterprise"],"title":"VolumeType","enum":["magnetic","performance","enterprise"],"description":"Types of storage volumes available"}},"title":"KubernetesNodePoolDisk","required":["size","iops","type"]},"KubernetesNodePool":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"description":"Cluster identifier.","$ref":"#/components/schemas/Uuid"},"name":{"$ref":"#/components/schemas/StrictSlugMax63"},"availabilityZone":{"$ref":"#/components/schemas/AvailabilityZoneName"},"nodeProfile":{"$ref":"#/components/schemas/NodeProfiles"},"replicas":{"type":"integer","examples":[3],"minimum":1,"description":"Desired number of this node replicas."},"rootDisk":{"$ref":"#/components/schemas/KubernetesNodePoolDisk"},"status":{"$ref":"#/components/schemas/Status"}},"title":"KubernetesNodePool","required":["id","availabilityZone","nodeProfile","replicas","rootDisk","status"]},"KubernetesNodePoolsList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/KubernetesNodePool"}}},"title":"KubernetesNodePoolsList","required":["items"],"description":"List Kubernetes NodePools."},"Autoscaling":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"min":{"type":"integer","maximum":20,"minimum":1},"max":{"type":"integer","maximum":20,"minimum":1}},"title":"Autoscaling","required":["min","max"]},"KubernetesNodePoolCreate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"$ref":"#/components/schemas/StrictSlugMax63"},"availabilityZone":{"$ref":"#/components/schemas/AvailabilityZoneName"},"nodeProfile":{"$ref":"#/components/schemas/NodeProfiles","examples":["small"]},"replicas":{"type":"integer","examples":[3],"maximum":20,"minimum":1,"description":"Desired number of this node replicas."},"autoscaling":{"description":"Min/max autoscaling range","$ref":"#/components/schemas/Autoscaling"},"rootDisk":{"$ref":"#/components/schemas/KubernetesNodePoolDisk"}},"title":"KubernetesNodePoolCreate","required":["name","availabilityZone","nodeProfile","rootDisk"],"additionalProperties":false},"PostgreSQLCluster":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"$ref":"#/components/schemas/PostgreSQLClusterId"},"name":{"$ref":"#/components/schemas/PostgreSQLClusterName"},"databaseName":{"$ref":"#/components/schemas/PostgreSQLDatabaseName"},"user":{"$ref":"#/components/schemas/PostgreSQLUsername"},"status":{"$ref":"#/components/schemas/PostgreSQLStatus"},"extensions":{"$ref":"#/components/schemas/PostgreSQLExtensions"},"nodeConfiguration":{"$ref":"#/components/schemas/PostgreSQLNodeConfiguration"},"volume":{"$ref":"#/components/schemas/PostgreSQLVolume"},"host":{"type":"string","maxLength":253,"format":"hostname","description":"Public address to be used for connecting to the PostgreSQL cluster from outside or by external clients."},"visibility":{"$ref":"#/components/schemas/PostgreSQLClusterVisibility"},"port":{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"TCP port on which the PostgreSQL server is exposed for connections"},"createdOn":{"type":"string","maxLength":35,"format":"date-time","description":"When the cluster has been created."},"lastPasswordResetAt":{"type":"string","maxLength":35,"format":"date-time","description":"When the app user password was last successfully reset."},"majorVersion":{"$ref":"#/components/schemas/PostgreSQLMajorVersion"},"fullVersion":{"$ref":"#/components/schemas/PostgreSQLFullVersion"},"replicaCount":{"$ref":"#/components/schemas/PostgreSQLReplicaCount"},"backupsConfiguration":{"$ref":"#/components/schemas/PostgreSQLBackupsConfigurationWithStatus"}},"title":"PostgreSQLCluster","required":["id","name","databaseName","status","port","user","replicaCount","nodeConfiguration","majorVersion","fullVersion","volume","createdOn","visibility"],"additionalProperties":false,"description":"A PostgreSQL cluster"},"PostgreSQLClusterCreationRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"$ref":"#/components/schemas/PostgreSQLClusterName"},"databaseName":{"$ref":"#/components/schemas/PostgreSQLDatabaseName"},"user":{"$ref":"#/components/schemas/PostgreSQLUsername"},"majorVersion":{"$ref":"#/components/schemas/PostgreSQLMajorVersion"},"extensions":{"$ref":"#/components/schemas/PostgreSQLExtensions"},"nodeConfiguration":{"$ref":"#/components/schemas/PostgreSQLNodeConfiguration"},"volume":{"$ref":"#/components/schemas/PostgreSQLVolume"},"visibility":{"$ref":"#/components/schemas/PostgreSQLClusterVisibility"},"replicaCount":{"$ref":"#/components/schemas/PostgreSQLReplicaCount"},"backupsConfiguration":{"$ref":"#/components/schemas/PostgreSQLBackupsConfiguration"},"restoreConfiguration":{"$ref":"#/components/schemas/PostgreSQLRestoreConfiguration"}},"title":"PostgreSQLClusterCreationRequest","required":["name","nodeConfiguration","volume","visibility"],"additionalProperties":false,"description":"The properties of the cluster to create."},"PostgreSQLCredentials":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"username":{"$ref":"#/components/schemas/PostgreSQLUsername"},"password":{"type":"string","maxLength":64,"description":"The password of the user on the cluster."},"connectionString":{"type":"string","maxLength":1024,"description":"A standard PostgreSQL connection URI (postgresql://user:password@host:port/database)."}},"title":"PostgreSQLCredentials","required":["username","password","connectionString"],"description":"The credentials of a PostgreSQL cluster user."},"PostgreSQLClusters":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PostgreSQLCluster"}}},"title":"PostgreSQLClusters","required":["items"],"description":"List of PostgreSQL clusters."},"PostgreSQLClusterModificationRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"nodeConfiguration":{"$ref":"#/components/schemas/PostgreSQLNodeConfigurationModification"},"volumeSizeGiB":{"type":"integer","maximum":14901,"minimum":1,"format":"int32","description":"The new size of the volume in GiB. Must be greater than the current size (volumes can only be expanded)."},"replicaCount":{"$ref":"#/components/schemas/PostgreSQLReplicaCount"},"visibility":{"$ref":"#/components/schemas/PostgreSQLClusterVisibility"},"backupsConfiguration":{"$ref":"#/components/schemas/PostgreSQLBackupsConfigurationModification"}},"title":"PostgreSQLClusterModificationRequest","additionalProperties":false,"description":"The properties of the cluster to modify. At least one property must be set."},"PostgreSQLClusterId":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/Uuid"}],"examples":["e592a4f6-2e49-46e7-b6d0-248a7711197a"],"title":"PostgreSQLClusterId","description":"A cluster unique identifier."},"PostgreSQLClusterName":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/StrictSlugMax63"}],"examples":["my-cluster"],"title":"PostgreSQLClusterName","description":"A PostgreSQL cluster name."},"PostgreSQLDatabaseName":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/StrictSlugMax63"}],"examples":["mydb"],"title":"PostgreSQLDatabaseName","description":"The name of the PostgreSQL database to create. Defaults to the cluster name if not set."},"PostgreSQLStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"state":{"type":"string","enum":["CREATING","RUNNING","DELETING","PENDING","FAILED","UPGRADING","REPAIRING","RESETTING_PASSWORD"],"description":"The current state of the cluster."},"message":{"type":"string","maxLength":256,"description":"Detailed information regarding the current state of the cluster."}},"title":"PostgreSQLStatus","required":["state","message"],"description":"The status of the cluster.","example":{"state":"RUNNING","message":"Cluster is healthy"}},"PostgreSQLClusterVisibility":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLClusterVisibility","enum":["EXTERNAL","INTERNAL"],"description":"Cluster exposition method.","example":"external"},"PostgreSQLNodeConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vcpuCount":{"$ref":"#/components/schemas/PostgreSQLVCPUCount"},"memorySizeGiB":{"$ref":"#/components/schemas/PostgreSQLMemorySizeGiB"}},"title":"PostgreSQLNodeConfiguration","required":["vcpuCount","memorySizeGiB"],"description":"The configuration used to provision the cluster nodes."},"PostgreSQLNodeConfigurationModification":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vcpuCount":{"$ref":"#/components/schemas/PostgreSQLVCPUCount"},"memorySizeGiB":{"$ref":"#/components/schemas/PostgreSQLMemorySizeGiB"}},"title":"PostgreSQLNodeConfigurationModification","description":"The node configuration properties to modify. At least one property must be set."},"PostgreSQLVCPUCount":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"integer","title":"PostgreSQLVCPUCount","maximum":7,"minimum":1,"format":"int32","description":"The number of Virtual CPU provisioned."},"PostgreSQLMemorySizeGiB":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"integer","title":"PostgreSQLMemorySizeGiB","maximum":15,"minimum":1,"format":"int32","description":"The allocated memory size, in GiB."},"PostgreSQLVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","oneOf":[{"$ref":"#/components/schemas/PostgreSQLEnterpriseVolume"},{"$ref":"#/components/schemas/PostgreSQLPerformanceVolume"},{"$ref":"#/components/schemas/PostgreSQLMagneticVolume"}],"discriminator":{"propertyName":"type","mapping":{"ENTERPRISE":"#/components/schemas/PostgreSQLEnterpriseVolume","PERFORMANCE":"#/components/schemas/PostgreSQLPerformanceVolume","MAGNETIC":"#/components/schemas/PostgreSQLMagneticVolume"}},"examples":[{"type":"PERFORMANCE","sizeGiB":5},{"type":"ENTERPRISE","sizeGiB":5},{"type":"MAGNETIC","sizeGiB":5}],"title":"PostgreSQLVolume","description":"Configuration for a PostgreSQL storage volume."},"PostgreSQLEnterpriseVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"type":{"type":"string","enum":["ENTERPRISE"],"description":"The storage volume type."},"sizeGiB":{"type":"integer","examples":[5,100,500],"maximum":14901,"minimum":4,"format":"int32","description":"The size of the volume in GiB."}},"title":"PostgreSQLEnterpriseVolume","required":["type","sizeGiB"],"additionalProperties":false,"description":"Enterprise volume."},"PostgreSQLPerformanceVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"type":{"type":"string","enum":["PERFORMANCE"],"description":"The storage volume type."},"sizeGiB":{"type":"integer","examples":[5,100,500],"maximum":14901,"minimum":1,"format":"int32","description":"The size of the volume in GiB."}},"title":"PostgreSQLPerformanceVolume","required":["type","sizeGiB"],"additionalProperties":false,"description":"Performance volume."},"PostgreSQLMagneticVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"type":{"type":"string","enum":["MAGNETIC"],"description":"The storage volume type."},"sizeGiB":{"type":"integer","examples":[5,100,500],"maximum":14901,"minimum":1,"format":"int32","description":"The size of the volume in GiB."}},"title":"PostgreSQLMagneticVolume","required":["type","sizeGiB"],"additionalProperties":false,"description":"Magnetic volume."},"PostgreSQLUsername":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/StrictSlugMax63"}],"examples":["john"],"title":"PostgreSQLUsername","description":"The name of the user on the cluster.","default":"admin"},"PostgreSQLMajorVersion":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLCreationVersion","enum":["16","17","18"],"description":"The version of postgresql to create a cluster.","default":"18"},"PostgreSQLFullVersion":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["16.11","17.7","18.1"],"title":"PostgreSQLVersion","pattern":"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$","description":"The version of postgresql."},"PostgreSQLVersions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PostgreSQLVersionInfo"}}},"title":"PostgreSQLVersions","required":["items"],"description":"List of supported PostgreSQL versions."},"PostgreSQLVersionInfo":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"majorVersion":{"$ref":"#/components/schemas/PostgreSQLMajorVersion"},"fullVersion":{"$ref":"#/components/schemas/PostgreSQLFullVersion"}},"title":"PostgreSQLVersionInfo","required":["majorVersion","fullVersion"],"additionalProperties":false,"description":"A supported PostgreSQL version."},"PostgreSQLMinorUpgrade":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"currentVersion":{"$ref":"#/components/schemas/PostgreSQLFullVersion"},"targetVersion":{"$ref":"#/components/schemas/PostgreSQLFullVersion"},"available":{"type":"boolean","description":"Whether a minor version upgrade is available."}},"title":"PostgreSQLMinorUpgrade","required":["currentVersion","available"],"additionalProperties":false,"description":"Minor upgrade availability information for a cluster."},"PostgreSQLReplicaCount":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"integer","title":"PostgreSQLReplicaCount","maximum":2,"minimum":0,"format":"int32","description":"Number of replicas to maintain for high availability. This number does not include the primary instance. The actual distribution across NumSpot subregions depends on available resources.","default":0},"PostgreSQLExtensions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"$ref":"#/components/schemas/PostgreSQLExtension"},"title":"PostgreSQLExtensions","maxItems":50,"uniqueItems":true,"description":"List of extensions on the cluster."},"PostgreSQLExtension":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","enum":["TIMESCALEDB","VECTOR"],"description":"The name of the extension. TimescaleDB is only supported for PostgreSQL 18."}},"title":"PostgreSQLExtension","required":["name"],"additionalProperties":false,"description":"A PostgreSQL extension."},"PostgreSQLBackupName":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/StrictSlugMax63"}],"examples":["on-demand-backup"],"title":"PostgreSQLBackupName","description":"The name of backup."},"PostgreSQLBackupSchedule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"schedule":{"type":"string","pattern":"^(\\*|([0-9]|[1-5][0-9])(-([0-9]|[1-5][0-9]))?)(,(\\*|([0-9]|[1-5][0-9])(-([0-9]|[1-5][0-9]))?))* (\\*|([0-9]|[1-5][0-9])(-([0-9]|[1-5][0-9]))?)(,(\\*|([0-9]|[1-5][0-9])(-([0-9]|[1-5][0-9]))?))* (\\*|([0-9]|1[0-9]|2[0-3])(-([0-9]|1[0-9]|2[0-3]))?)(,(\\*|([0-9]|1[0-9]|2[0-3])(-([0-9]|1[0-9]|2[0-3]))?))* (\\*|([1-9]|[12][0-9]|3[01])(-([1-9]|[12][0-9]|3[01]))?)(,(\\*|([1-9]|[12][0-9]|3[01])(-([1-9]|[12][0-9]|3[01]))?))* (\\*|([1-9]|1[0-2])(-([1-9]|1[0-2]))?)(,(\\*|([1-9]|1[0-2])(-([1-9]|1[0-2]))?))* (\\*|([0-6])(-([0-6]))?)(,(\\*|([0-6])(-([0-6]))?))*$","description":"Backup schedule in 6-field cron format (seconds minutes hours day-of-month month day-of-week).","example":"0 0 2 * * *"}},"title":"PostgreSQLBackupSchedule","required":["schedule"],"additionalProperties":false,"description":"A backup schedule in 6-field cron format."},"PostgreSQLBackupsConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"retentionDays":{"type":"integer","maximum":90,"minimum":1,"format":"int32","description":"Number of days to retain backups and WAL files.","default":7},"walArchiving":{"$ref":"#/components/schemas/PostgreSQLWALArchivingConfiguration"},"backup":{"$ref":"#/components/schemas/PostgreSQLBackupConfiguration"},"autoBackup":{"$ref":"#/components/schemas/PostgreSQLAutoBackupConfiguration"}},"title":"PostgreSQLBackupsConfiguration","additionalProperties":false,"description":"Configuration for backups including WAL archiving and scheduled backups."},"PostgreSQLBackupsConfigurationModification":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"retentionDays":{"type":"integer","maximum":90,"minimum":1,"format":"int32","description":"Number of days to retain backups and WAL files."},"walArchiving":{"$ref":"#/components/schemas/PostgreSQLWALArchivingConfigurationModification"},"backup":{"$ref":"#/components/schemas/PostgreSQLBackupConfigurationModification"},"autoBackup":{"$ref":"#/components/schemas/PostgreSQLAutoBackupConfigurationModification"}},"title":"PostgreSQLBackupsConfigurationModification","additionalProperties":false,"description":"Configuration for backups modification."},"PostgreSQLBackupsConfigurationWithStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"retentionDays":{"type":"integer","format":"int32","description":"Number of days to retain backups and WAL files."},"walArchiving":{"$ref":"#/components/schemas/PostgreSQLWALArchivingConfigurationResponse"},"backup":{"$ref":"#/components/schemas/PostgreSQLBackupConfigurationWithStatus"},"autoBackup":{"$ref":"#/components/schemas/PostgreSQLAutoBackupConfigurationWithStatus"},"lastBackupStatus":{"$ref":"#/components/schemas/PostgreSQLStatus"}},"title":"PostgreSQLBackupsConfigurationWithStatus","additionalProperties":false,"description":"Backups configuration with status information."},"PostgreSQLWALArchivingConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLWALCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"}},"title":"PostgreSQLWALArchivingConfiguration","additionalProperties":false,"description":"Configuration for WAL archiving. Required for any object store backup capability."},"PostgreSQLWALArchivingConfigurationModification":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLWALCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"}},"title":"PostgreSQLWALArchivingConfigurationModification","additionalProperties":false,"description":"Configuration for WAL archiving modification."},"PostgreSQLWALArchivingConfigurationResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLWALCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"},"status":{"$ref":"#/components/schemas/PostgreSQLStatus"}},"title":"PostgreSQLWALArchivingConfigurationWithStatus","required":["compression","encryption","status"],"additionalProperties":false,"description":"WAL archiving configuration with status."},"PostgreSQLBackupConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLBackupCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"}},"title":"PostgreSQLBackupConfiguration","additionalProperties":false,"description":"Configuration for base backups."},"PostgreSQLBackupConfigurationModification":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLBackupCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"}},"title":"PostgreSQLBackupConfigurationModification","additionalProperties":false,"description":"Configuration for base backups modification."},"PostgreSQLBackupConfigurationWithStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"compression":{"$ref":"#/components/schemas/PostgreSQLBackupCompression"},"encryption":{"$ref":"#/components/schemas/PostgreSQLEncryption"}},"title":"PostgreSQLBackupConfigurationWithStatus","additionalProperties":false,"description":"Backup configuration with status."},"PostgreSQLAutoBackupConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"$ref":"#/components/schemas/PostgreSQLBackupName"},"schedule":{"$ref":"#/components/schemas/PostgreSQLBackupSchedule"},"target":{"$ref":"#/components/schemas/PostgreSQLBackupTarget"},"suspend":{"type":"boolean","description":"Pause scheduled backups.","default":false}},"title":"PostgreSQLAutoBackupConfiguration","required":["schedule"],"additionalProperties":false,"description":"Configuration for scheduled automated backups. Requires WAL archiving to be enabled."},"PostgreSQLAutoBackupConfigurationModification":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"$ref":"#/components/schemas/PostgreSQLBackupName"},"schedule":{"$ref":"#/components/schemas/PostgreSQLBackupSchedule"},"target":{"$ref":"#/components/schemas/PostgreSQLBackupTarget"},"suspend":{"type":"boolean","description":"Pause scheduled backups."}},"title":"PostgreSQLAutoBackupConfigurationModification","additionalProperties":false,"description":"Configuration for automated backups modification. Requires WAL archiving to be enabled on the cluster."},"PostgreSQLAutoBackupConfigurationWithStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"$ref":"#/components/schemas/PostgreSQLAutoBackupId"},"name":{"$ref":"#/components/schemas/PostgreSQLBackupName"},"schedule":{"$ref":"#/components/schemas/PostgreSQLBackupSchedule"},"target":{"$ref":"#/components/schemas/PostgreSQLBackupTarget"},"suspend":{"type":"boolean","description":"Whether scheduled backups are paused."},"status":{"$ref":"#/components/schemas/PostgreSQLBackupStatus"},"lastScheduleTime":{"type":"string","format":"date-time","description":"Timestamp of the last scheduled backup execution."},"nextScheduleTime":{"type":"string","format":"date-time","description":"Timestamp of the next scheduled backup execution."}},"title":"PostgreSQLAutoBackupConfigurationWithStatus","required":["id","schedule","target","status"],"additionalProperties":false,"description":"Auto-backup configuration with its current status."},"PostgreSQLRestoreConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/components/schemas/PostgreSQLBackupRestoreConfiguration"},{"$ref":"#/components/schemas/PostgreSQLClusterRestoreConfiguration"}],"discriminator":{"propertyName":"sourceType","mapping":{"BACKUP":"#/components/schemas/PostgreSQLBackupRestoreConfiguration","CLUSTER":"#/components/schemas/PostgreSQLClusterRestoreConfiguration"}},"title":"PostgreSQLRestoreConfiguration","description":"Configuration for restoring a cluster from a backup or another cluster.\n\nWhen restoring, databaseName, user, and extensions are overridden with values from the source cluster."},"PostgreSQLBackupRestoreConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sourceType":{"type":"string","enum":["BACKUP"],"description":"The restore source type."},"clusterId":{"$ref":"#/components/schemas/PostgreSQLClusterId"},"backupId":{"$ref":"#/components/schemas/PostgreSQLBackupId"}},"title":"PostgreSQLBackupRestoreConfiguration","required":["sourceType","clusterId","backupId"],"additionalProperties":false,"description":"Restore from a specific backup."},"PostgreSQLClusterRestoreConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sourceType":{"type":"string","enum":["CLUSTER"],"description":"The restore source type."},"clusterId":{"$ref":"#/components/schemas/PostgreSQLClusterId"},"pointInTime":{"type":"string","maxLength":35,"format":"date-time","description":"Point-in-time recovery timestamp. If omitted, restores to latest available state."}},"title":"PostgreSQLClusterRestoreConfiguration","required":["sourceType","clusterId"],"additionalProperties":false,"description":"Restore from a cluster's WAL archive with optional point-in-time recovery."},"PostgreSQLBackup":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"$ref":"#/components/schemas/PostgreSQLBackupId"},"clusterId":{"$ref":"#/components/schemas/PostgreSQLClusterId"},"clusterName":{"$ref":"#/components/schemas/PostgreSQLClusterName"},"name":{"$ref":"#/components/schemas/PostgreSQLBackupName"},"type":{"$ref":"#/components/schemas/PostgreSQLBackupType"},"target":{"$ref":"#/components/schemas/PostgreSQLBackupTarget"},"status":{"$ref":"#/components/schemas/PostgreSQLBackupStatus"},"startedAt":{"type":"string","maxLength":35,"format":"date-time","description":"When the backup started."},"completedAt":{"type":"string","maxLength":35,"format":"date-time","description":"When the backup completed. Null if in progress."}},"title":"PostgreSQLBackup","required":["id","clusterId","clusterName","type","target","status"],"additionalProperties":false,"description":"A PostgreSQL backup."},"PostgreSQLBackups":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PostgreSQLBackup"}}},"title":"PostgreSQLBackups","required":["items"],"description":"List of backups."},"PostgreSQLCreateBackupRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"$ref":"#/components/schemas/PostgreSQLBackupName"},"target":{"$ref":"#/components/schemas/PostgreSQLBackupTarget"}},"title":"PostgreSQLCreateBackupRequest","additionalProperties":false,"description":"Request to create an on-demand backup."},"PostgreSQLBackupId":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/Uuid"}],"examples":["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],"title":"PostgreSQLBackupId","description":"A backup unique identifier."},"PostgreSQLAutoBackupId":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","allOf":[{"$ref":"#/components/schemas/Uuid"}],"examples":["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],"title":"PostgreSQLAutoBackupId","description":"An auto-backup configuration unique identifier."},"PostgreSQLBackupType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLBackupType","enum":["ON_DEMAND","AUTO"],"description":"The type of backup."},"PostgreSQLBackupStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"state":{"type":"string","enum":["CREATING","RUNNING","ACTIVE","SUCCEEDED","FAILED","DELETING"],"description":"The current state of the backup.\n- CREATING: Backup request submitted, not yet started\n- RUNNING: Backup is in progress (on-demand backups)\n- ACTIVE: Backup schedule is active and running (auto-backups)\n- SUCCEEDED: Backup completed successfully (on-demand backups)\n- FAILED: Backup failed\n- DELETING: Backup is being deleted\n"},"message":{"type":"string","maxLength":256,"description":"Detailed information regarding the current state of the backup."}},"title":"PostgreSQLBackupStatus","required":["state","message"],"description":"The status of a backup.","example":{"state":"ACTIVE","message":"Backup is available"}},"PostgreSQLWALCompression":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLWALCompression","enum":["NONE","BZIP2","GZIP","LZ4","SNAPPY","XZ","ZSTD"],"description":"Compression type for WAL files.\nSupported algorithms:\n- NONE: No compression (default)\n- BZIP2: High compression ratio, slower\n- GZIP: Good balance of compression and speed\n- LZ4: Fast compression\n- SNAPPY: Fast compression, moderate ratio\n- XZ: High compression\n- ZSTD: Good compression and speed\n","default":"NONE"},"PostgreSQLBackupCompression":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLBackupCompression","enum":["NONE","BZIP2","GZIP","SNAPPY"],"description":"Compression type for base backups.\nSupported algorithms:\n- NONE: No compression (default)\n- BZIP2: High compression ratio, slower\n- GZIP: Good balance of compression and speed\n- SNAPPY: Fast compression, moderate ratio\n","default":"NONE"},"PostgreSQLEncryption":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLEncryption","enum":["NONE","AES256"],"description":"Encryption type for backups and WAL files.\n- NONE: No encryption (default)\n- AES256: AES-256 server-side encryption\n","default":"NONE"},"PostgreSQLBackupTarget":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"PostgreSQLBackupTarget","enum":["PREFER_STANDBY","STANDBY","PRIMARY"],"description":"Target node for backup execution.","default":"PREFER_STANDBY"},"PostgreSQLResourceNotFoundError":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#resource_not_found"]}},"required":["type"]}],"title":"PostgreSQLResourceNotFoundError","description":"The requested resource was not found."},"PostgreSQLUnauthorizedError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#unauthenticated_access","urn:numspot:errors#forbidden_access"]}},"required":["type"]}],"title":"PostgreSQLUnauthorizedError","description":"The user is not authorized to perform this action."},"PostgreSQLInvalidRequestError":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/BadRequestError"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#invalid_request"]}},"required":["type"]}],"title":"PostgreSQLInvalidRequestError","description":"Some of the parameters you have provided are invalid."},"PostgreSQLBackupForbiddenDeleteError":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#forbidden_backup_delete"]}},"required":["type"]}],"title":"PostgreSQLBackupForbiddenDeleteError","description":"Auto-generated backups cannot be deleted."},"CataloguePublicResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"disclaimer":{"type":"string","examples":["This pricing list is for informational purposes only. All prices are subject to the additional terms included in the pricing pages on http://numspot.com."],"description":"Legal disclaimer about pricing information"},"version":{"type":"string","examples":["1.0"],"description":"Catalogue version"},"publicationDate":{"type":"string","examples":["2025-01-01T12:00:00Z"],"format":"date-time","description":"Date when the catalogue was published"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueProduct"}}}}],"title":"CataloguePublicResponse","description":"Paginated response containing articles and pagination metadata"},"CatalogueProduct":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"uuid":{"type":"string","examples":["3712974b-651a-4719-89fb-db44e3970199"],"format":"uuid","description":"Unique identifier for the product"},"regionCode":{"$ref":"#/components/schemas/CatalogueRegionCode"},"resource":{"oneOf":[{"$ref":"#/components/schemas/CatalogueVM"},{"$ref":"#/components/schemas/CatalogueGPU"}]},"attributes":{"$ref":"#/components/schemas/CatalogueProductAttributes"},"terms":{"type":"array","items":{"$ref":"#/components/schemas/PricingTerm"},"description":"Pricing terms and conditions for the product"}},"title":"CatalogueProduct","required":["uuid","regionCode","attributes","terms"],"description":"Cloud product with pricing information and technical specifications"},"CatalogueProductAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domain":{"$ref":"#/components/schemas/CloudServiceName"},"kind":{"type":"string","examples":["virtual-machine"],"description":"Specific kind of the product within its domain"},"productCode":{"type":"string","examples":["ns-eco7-2c1r"],"description":"A unique identifier for a product, assigned by the Domain Product Team. The product code remains consistent across catalogue entries for the same product, even when attributes like frequency, pricing conditions, or units vary. It forms part of the SKU displayed on invoices and should be clear and understandable. Once assigned, the product code cannot be changed, so consider using the product label for public-facing displays when appropriate."},"sku":{"type":"string","examples":["NS-INF7-126C1024R/VM/HOURLY/EUR/EU-WEST-2"],"description":"A read-only Stock Keeping Unit (SKU) identifier constructed by concatenating key catalogue entry parameters in the format: `productCode/unit/frequency/currency/regionCode` in upper case. Used for invoicing purposes, it uniquely identifies a product configuration based on its product code, unit of measure, billing frequency, and region code.","readOnly":true},"category":{"type":"array","examples":["database"],"items":{"type":"string"},"description":"Product categories classification"},"label":{"type":"string","examples":["PostgreSQL managed database"],"description":"Human-readable label for the product"},"currentGeneration":{"type":"boolean","description":"Whether this is the current generation of the product"},"licenseModel":{"type":"string","examples":["No license required"],"description":"License model for the product"},"deploymentOption":{"type":"string","examples":["singleAvailabilityZone"],"description":"Deployment option for the service"},"certifications":{"type":"array","items":{"type":"string"},"description":"List of certifications for the product"},"releaseStage":{"$ref":"#/components/schemas/ReleaseStage"}},"title":"CatalogueProductAttributes","required":["domain","kind","productCode","sku","label","certifications"],"description":"Technical attributes and specifications of a cloud product"},"CatalogueUrn":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["urn:example:my-resource","urn:example:resource?+param1=value1","urn:example:resource#section2"],"title":"CatalogueUrn","pattern":"^[Uu][Rr][Nn]:(?\u003cnid\u003e[a-zA-Z0-9][a-zA-Z0-9-]{1,31}):(?\u003cnss\u003e(?:[-a-zA-Z0-9()+,.:=@;$_!*'\u0026~/]|%[0-9a-fA-F]{2})+)(?:\\?\\+(?\u003crcomponent\u003e.*?))?(?:\\?=(?\u003cqcomponent\u003e.*?))?(?:#(?\u003cfcomponent\u003e.*?))?$","description":"Type defining an Uniform Resource Name (URN) according to the URN syntax defined in RFC 8141"},"CatalogueUrl":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["https://domain.org/path/"],"title":"CatalogueUrl","format":"uri","description":"URL type"},"CatalogueError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","examples":[{"type":"urn:numspot:errors#unauthenticated_access","title":"Unauthorized attempt to access a resource without proper authentication.","detail":"Ensure valid credentials are provided.","instance":"/foo/23c5f747-4b9f-4b14-a250-6d460673989c/bar/7666f8e3-71df-40e8-b533-006807ee0c19"}],"properties":{"type":{"description":"A Uniform Resource Name defining the error type.","$ref":"#/components/schemas/CatalogueUrn"},"title":{"type":"string","description":"Human-readable summary of the problem type."},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."},"instance":{"description":"Url to fetch more information about this problem type.","$ref":"#/components/schemas/CatalogueUrl"}},"title":"CatalogueError","required":["type","title"],"additionalProperties":false,"description":"For HTTP errors, we implement the https://datatracker.ietf.org/doc/html/rfc9457"},"CatalogueViolation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"field":{"type":"string","description":"The field impacted by the violation."},"description":{"type":"string","description":"A description of why the field is violated."}},"title":"CatalogueViolation","required":["field","description"],"additionalProperties":false,"description":"The violation definition."},"CatalogueBadRequestError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/CatalogueError"},{"type":"object","properties":{"violations":{"type":"array","items":{"$ref":"#/components/schemas/CatalogueViolation"},"description":"Array of violations to provide a per-field detail."}},"additionalProperties":false}],"title":"CatalogueBadRequestError","additionalProperties":false,"description":"For HTTP 400 bad request errors, we implement the https://datatracker.ietf.org/doc/html/rfc9457"},"CatalogueInternalServerError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/CatalogueError"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#internal_error"],"description":"URN that identifies this as an internal server error."}},"required":["type"],"additionalProperties":false,"description":"Type for Internal Server Error"}],"title":"CatalogueInternalServerError","additionalProperties":false,"description":"For HTTP 500 Internal Server errors. Implements https://datatracker.ietf.org/doc/html/rfc9457"},"CatalogueRegionCode":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["eu-west-2"],"title":"CatalogueRegionCode","enum":["eu-west-2","cloudgouv-eu-west-1"],"additionalProperties":false,"description":"List of NumSpot cloud region codes."},"CatalogueVM":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"family":{"$ref":"#/components/schemas/VMFamily"},"generation":{"$ref":"#/components/schemas/VMGeneration"},"vCPU":{"type":"integer","examples":[4],"maximum":78,"minimum":1,"description":"Number of virtual CPUs"},"memoryGiB":{"type":"integer","examples":[16],"maximum":1039,"minimum":1,"description":"Amount of VM memory in GiB"},"gpuType":{"$ref":"#/components/schemas/GpuType"},"gpuMemoryGB":{"type":"integer","examples":[80],"maximum":256,"minimum":1,"description":"Amount of GPU memory in gigabytes"},"gpuQuantity":{"type":"integer","examples":[8],"maximum":64,"minimum":1,"description":"Number of attached GPUs"},"gpuMemoryTotalGB":{"type":"integer","examples":[8],"maximum":32768,"minimum":1,"description":"Total amount of GPU memory"}},"title":"CatalogueVM","required":["family","generation","vCPU","memoryGiB"],"additionalProperties":false,"description":"Virtual machine (Gabarit) specifications"},"CatalogueGPU":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"model":{"$ref":"#/components/schemas/GpuType"},"vramGB":{"type":"integer","examples":[80],"maximum":256,"minimum":1,"description":"Amount of VRAM in gigabytes"}},"title":"CatalogueGPU","required":["model","vramGB"],"additionalProperties":false,"description":"GPU type and VRAM capacity"},"ConsumptionPriceRate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"frequency":{"$ref":"#/components/schemas/TimeFrequency"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","examples":[0.05],"minimum":0,"description":"Flat per-unit price"},"unit":{"$ref":"#/components/schemas/ConsumptionUnitType","description":"The unit for which the price applies"}},"title":"ConsumptionPriceRate","required":["frequency","currency","amount","unit"],"additionalProperties":false,"description":"Flat per-unit price without sub-components"},"PricingTerm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"effectiveDate":{"type":"object","properties":{"begin":{"type":"string","examples":["2025-07-31T12:00:00Z"],"format":"date-time","description":"The start date when the pricing term becomes effective"},"end":{"type":"string","examples":["2025-12-31T23:59:59Z"],"format":"date-time","description":"The end date when the pricing term expires"}},"required":["begin"],"additionalProperties":false,"description":"The effective date range for the pricing term"},"description":{"type":"string","examples":["Service pricing term"],"description":"A brief description of the pricing term"},"consumptionPrice":{"$ref":"#/components/schemas/ConsumptionPriceRate"}},"title":"PricingTerm","additionalProperties":false,"description":"Generic pricing term defining costs and conditions for a product"},"VMFamily":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["standard"],"title":"VMFamily","enum":["economic","standard","memory","compute","inference"],"description":"VM family enum"},"VMGeneration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["v7"],"title":"VMGeneration","enum":["v6","v7"],"description":"VM generation enum"},"GpuType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["A100-80"],"title":"GpuType","enum":["A100-80","H100","H200","L40","P6","P100","V100"],"description":"All GPU types"},"ReleaseStage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["GA"],"title":"ReleaseStage","enum":["ALPHA","BETA","GA"],"description":"The stage of a product release"},"TimeFrequency":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["HOURLY"],"title":"TimeFrequency","enum":["HOURLY","DAILY","MONTHLY"],"description":"Time frequency enumeration"},"CurrencyCode":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["EUR"],"title":"CurrencyCode","enum":["AFN","EUR","ALL","DZD","USD","AOA","XCD","ARS","AMD","AWG","AUD","AZN","BSD","BHD","BDT","BBD","BYR","BZD","XOF","BMD","BTN","INR","BOB","BOV","BAM","BWP","NOK","BRL","BND","BGN","BIF","KHR","XAF","CAD","CVE","KYD","CLF","CLP","CNY","COP","COU","KMF","CDF","NZD","CRC","HRK","CUC","CUP","ANG","CZK","DKK","DJF","DOP","EGP","SVC","ERN","ETB","FKP","FJD","XPF","GMD","GEL","GHS","GIP","GTQ","GBP","GNF","GYD","HTG","HNL","HKD","HUF","ISK","IDR","XDR","IRR","IQD","ILS","JMD","JPY","JOD","KZT","KES","KPW","KRW","KWD","KGS","LAK","LBP","LSL","ZAR","LRD","LYD","CHF","MOP","MKD","MGA","MWK","MYR","MVR","MRO","MUR","XUA","MXN","MXV","MDL","MNT","MAD","MZN","MMK","NAD","NPR","NIO","NGN","OMR","PKR","PAB","PGK","PYG","PEN","PHP","PLN","QAR","RON","RUB","RWF","SHP","WST","STD","SAR","RSD","SCR","SLL","SGD","XSU","SBD","SOS","SSP","LKR","SDG","SRD","SZL","SEK","CHE","CHW","SYP","TWD","TJS","TZS","THB","TOP","TTD","TND","TRY","TMT","UGX","UAH","AED","USN","UYI","UYU","UZS","VUV","VEF","VND","YER","ZMW","ZWL"],"description":"List of ISO Currency Codes: https://en.wikipedia.org/wiki/ISO_4217"},"ConsumptionUnitType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["HOUR","GB"],"title":"ConsumptionUnitType","enum":["HOUR","MINUTE","SECOND","GB","TB","REQUEST","IOPS","VM"],"description":"All consumption unit types"},"RegistryVersion":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["2.13"],"title":"RegistryVersion","enum":["2.13","2.14"],"description":"Registry version"},"RegistryVersionsList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","examples":[["2.13","2.14"]],"items":{"$ref":"#/components/schemas/RegistryVersion"}}},"title":"RegistryVersionsList","required":["items"],"description":"All available registry's versions"},"RegistryState":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"RegistryState","enum":["CREATING","RUNNING","DELETING","PENDING","FAILED","UPGRADING","REPAIRING"],"description":"The current state of the instance."},"RegistryStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"state":{"$ref":"#/components/schemas/RegistryState"},"message":{"type":"string","maxLength":256,"description":"Detailed information regarding the current state of the instance."}},"title":"RegistryStatus","required":["state","message"],"description":"The status of the instance.","example":{"state":"RUNNING","message":"instance is healthy"}},"RegistryVisibility":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["EXTERNAL"],"title":"RegistryVisibility","enum":["EXTERNAL","INTERNAL"],"description":"Container registry exposition, external deploy via public reachable host. Internal visibility need network bridge to be reachable."},"Registry":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"description":"The ID of the Registry.","$ref":"#/components/schemas/Uuid","examples":["123e4567-e89b-12d3-a456-426614174000","987e6543-e21b-43d3-b789-123456789abc"]},"name":{"description":"The Name of the Registry.","$ref":"#/components/schemas/StrictSlugMax63","examples":["my-registry","production-registry"]},"status":{"description":"The status of the instance","$ref":"#/components/schemas/RegistryStatus","examples":[{"state":"RUNNING","message":"Registry is operational"},{"state":"CREATING","message":"Registry is being provisioned"}]},"host":{"description":"Host to reach the Registry","$ref":"#/components/schemas/Url","examples":["https://registry-123e4567-e89b-12d3-a456-426614174000.hcp.region.numspot.com","https://registry-987e6543-e21b-43d3-b789-123456789abc.hcp.region.numspot.com"]},"version":{"description":"The version of the Registry.","$ref":"#/components/schemas/RegistryVersion","examples":["2","3"]},"visibility":{"$ref":"#/components/schemas/RegistryVisibility","examples":["EXTERNAL","INTERNAL"]}},"title":"Registry","required":["id","name","status","version","host","visibility"],"description":"Information about the Registry."},"RegistriesList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"description":"Information about one Registry.","$ref":"#/components/schemas/Registry"}},"totalSize":{"type":"integer","examples":[0,100,2500],"minimum":0,"description":"Total number of items across all pages, if known."}},"title":"RegistriesList","required":["items","totalSize"],"description":"Information about the Registries."},"RegistryInvalidRequestError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/BadRequestError"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#invalid_request"]}},"required":["type"]}],"title":"RegistryInvalidRequestError","description":"Some of the parameters you have provided are invalid."},"RegistryUnauthorizedError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#forbidden_access","urn:numspot:errors#unauthenticated_access"]}},"required":["type"]}],"title":"RegistryUnauthorizedError","description":"The user is not authorized to perform this action"},"RegistryNotFoundError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#resource_not_found"]}},"required":["type"]}],"title":"RegistryNotFoundError","description":"The registry is not found"},"RegistryCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"description":"The name of the registry.","$ref":"#/components/schemas/StrictSlugMax63"},"visibility":{"$ref":"#/components/schemas/RegistryVisibility"},"version":{"$ref":"#/components/schemas/RegistryVersion"}},"title":"CreateRegistry","required":["name","version","visibility"],"description":"Information about the Registry you want to create."},"RegistryConflictError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#resource_conflict"]}},"required":["type"]}],"title":"RegistryConflictError","description":"The targeted resource already in conflict state and no action can be done"},"RegistryPassword":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"password":{"description":"The password of the registry.","$ref":"#/components/schemas/StrictSlugMax63"}},"title":"RegistryPassword","required":["password"],"description":"Administrator password of the registry."},"RegistryUpdate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"version":{"$ref":"#/components/schemas/RegistryVersion"}},"title":"UpdateRegistry","required":["version"],"description":"Information about the Registry you want to update."},"Access":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"isPublic":{"type":"boolean","description":"A global permission for all accounts.\u003cbr /\u003e\n(Request) Set this parameter to true to make the resource public (if the parent parameter is `Additions`) or to make the resource private (if the parent parameter is `Removals`).\u003cbr /\u003e\n(Response) If true, the resource is public. If false, the resource is private.","example":false}},"title":"Access","additionalProperties":false,"description":"Permissions for the resource."},"AccessCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"additions":{"$ref":"#/components/schemas/Access"},"removals":{"$ref":"#/components/schemas/Access"}},"title":"AccessCreation","additionalProperties":false,"description":"Information about the permissions for the resource.\u003cbr /\u003e\nSpecify either the `Additions` or the `Removals` parameter."},"ApplicationStickyCookiePolicy":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness.","example":"example-cookie"},"policyName":{"type":"string","description":"The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.","example":"example-app-policy"}},"title":"ApplicationStickyCookiePolicy","additionalProperties":false,"description":"Information about the stickiness policy."},"BackendVmHealth":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"The description of the state of the back-end VM.","example":"Instance registration is pending"},"state":{"type":"string","description":"The state of the back-end VM (`InService` \\| `OutOfService` \\| `Unknown`).","example":"DOWN"},"stateReason":{"type":"string","description":"Information about the cause of `OutOfService` VMs.\u003cbr /\u003e\n Specifically, whether the cause is Elastic Load Balancing or the VM (`ELB` \\| `Instance` \\| `N/A`).","example":"ELB"},"vmId":{"type":"string","description":"The ID of the back-end VM.","example":"i-12345678"}},"title":"BackendVmHealth","additionalProperties":false,"description":"Information about the health of a back-end VM."},"BlockDeviceMappingCreated":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bsu":{"$ref":"#/components/schemas/BsuCreated"},"deviceName":{"type":"string","description":"The name of the device.","example":"/dev/sda1"}},"title":"BlockDeviceMappingCreated","additionalProperties":false,"description":"Information about the created block device mapping."},"BlockDeviceMappingImage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bsu":{"$ref":"#/components/schemas/BsuToCreate"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`, and the second `X` is a letter between `a` and `z`).","example":"/dev/sda1"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).","example":"ephemeralN"}},"title":"BlockDeviceMappingImage","additionalProperties":false,"description":"One or more parameters used to automatically set up volumes when the VM is created."},"BlockDeviceMappingVmCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bsu":{"$ref":"#/components/schemas/BsuToCreate"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`, and the second `X` is a letter between `a` and `z`).","example":"/dev/sda1"},"noDevice":{"type":"string","description":"Removes the device which is included in the block device mapping of the Image.","example":"string"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).","example":"ephemeralN"}},"title":"BlockDeviceMappingVmCreation","additionalProperties":false,"description":"Information about the block device mapping."},"BlockDeviceMappingVmUpdate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bsu":{"$ref":"#/components/schemas/BsuToUpdateVm"},"deviceName":{"type":"string","description":"The device name for the volume. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`, and the second `X` is a letter between `a` and `z`).","example":"/dev/sda1"},"noDevice":{"type":"string","description":"Removes the device which is included in the block device mapping of the Image.","example":"string"},"virtualDeviceName":{"type":"string","description":"The name of the virtual device (`ephemeralN`).","example":"ephemeralN"}},"title":"BlockDeviceMappingVmUpdate","additionalProperties":false,"description":"Information about the block device mapping."},"BsuCreated":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.","example":false},"linkDate":{"type":"string","format":"date-time","description":"The date and time of attachment of the volume to the VM, in ISO 8601 date-time format.","example":"2019-08-24 14:15:22+00:00"},"state":{"type":"string","description":"The state of the volume.","example":"available"},"volumeId":{"type":"string","description":"The ID of the volume.","example":"vol-12345678"}},"title":"BsuCreated","additionalProperties":false,"description":"Information about the created BSU volume."},"BsuToCreate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"By default or if set to true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.","default":true},"iops":{"type":"integer","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per GB.","example":100},"snapshotId":{"type":"string","description":"The ID of the snapshot used to create the volume.","example":"snap-12345678"},"volumeSize":{"type":"integer","description":"The size of the volume, in GB.\u003cbr /\u003e\nIf you specify a snapshot ID, the volume size must be at least equal to the snapshot size.\u003cbr /\u003e\nIf you specify a snapshot ID but no volume size, the volume is created with a size similar to the snapshot one.","example":10},"volumeType":{"type":"string","description":"The type of the volume (`standard` \\| `io1` \\| `gp2`). If not specified in the request, a `standard` volume is created.\u003cbr /\u003e","example":"io1"}},"title":"BsuToCreate","additionalProperties":false,"description":"Information about the BSU volume to create."},"BsuToUpdateVm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If set to true, the volume is deleted when terminating the VM. If set to false, the volume is not deleted when terminating the VM.","example":true},"volumeId":{"type":"string","description":"The ID of the volume.","example":"vol-12345678"}},"title":"BsuToUpdateVm","additionalProperties":false,"description":"Information about the BSU volume."},"CreateDhcpOptions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"domainName":{"type":"string","description":"Specify a domain name (for example, `MyCompany.com`). You can specify only one domain name. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.","example":"example.com"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"The IPs of domain name servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.","example":["192.0.2.0","198.51.100.0"]},"logServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the log servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.","example":["203.0.113.0","203.0.113.1"]},"ntpServers":{"type":"array","items":{"type":"string"},"description":"The IPs of the Network Time Protocol (NTP) servers. You must specify at least one of the following parameters: `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.","example":["203.0.113.0","203.0.113.1"]}},"title":"CreateDhcpOptions","additionalProperties":false},"CreateFlexibleGpu":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which you want to create the fGPU.","$ref":"#/components/schemas/AvailabilityZoneName"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.","default":false,"example":true},"generation":{"type":"string","enum":["v7"],"description":"The processor generation that the fGPU must be compatible with. If not specified, the oldest possible processor generation is selected (as provided by [ReadFlexibleGpuCatalog](#readflexiblegpucatalog) for the specified model of fGPU).","example":"v7"},"modelName":{"type":"string","enum":["nvidia-a100-80","nvidia-l40","nvidia-h100"],"description":"The model of fGPU you want to allocate.","example":"nvidia-h100"}},"title":"CreateFlexibleGpu","required":["modelName","availabilityZoneName"],"additionalProperties":false},"CreateImage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"architecture":{"type":"string","description":"**(when registering from a snapshot, or from a bucket without using a manifest file)** The architecture of the Image (`i386` or `x84_64`).","example":"x86_64"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingImage"},"description":"**(when registering from a snapshot, or from a bucket without using a manifest file)** One or more block device mappings."},"description":{"type":"string","description":"A description for the new Image.","example":"description-of-an-image"},"name":{"type":"string","description":"A unique name for the new Image.\u003cbr /\u003e\nConstraints: 3-128 alphanumeric characters, underscores (`_`), spaces (` `), parentheses (`()`), slashes (`/`), periods (`.`), or dashes (`-`).","example":"create-image-example"},"noReboot":{"type":"boolean","description":"**(when creating from a VM)** If false, the VM shuts down before creating the Image and then reboots. If true, the VM does not.","example":true},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the Image.","example":["0001"]},"rootDeviceName":{"type":"string","description":"**(when registering from a snapshot, or from a bucket without using a manifest file)** The name of the root device for the new Image.","example":"/dev/sda1"},"sourceImageId":{"type":"string","description":"**(when copying an Image)** The ID of the Image you want to copy.","example":"ami-12345678"},"sourceRegionName":{"type":"string","description":"**(when copying an Image)** The name of the source Region (always the same as the Region of your account).","example":"eu-west-2"},"vmId":{"type":"string","description":"**(when creating from a VM)** The ID of the VM from which you want to create the Image.","example":"i-12345678"}},"title":"CreateImage","additionalProperties":false},"CreateKeypairRequestSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"A unique name for the keypair, with a maximum length of 32 alphanumeric characters and dashes (-).","example":"create-keypair-example"},"publicKey":{"type":"string","description":"The public key to import in your account, if you are importing an existing keypair. This value must be Base64-encoded."}},"title":"CreateKeypairRequestSchema","required":["name"],"additionalProperties":false},"CreateKeypair":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fingerprint":{"type":"string","description":"The MD5 public key fingerprint, as specified in section 4 of RFC 4716.","example":"11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd:ee:ff"},"name":{"type":"string","description":"The name of the keypair.","example":"create-keypair-example"},"privateKey":{"type":"string","description":"The private key, returned only if you are creating a keypair (not if you are importing). When you save this private key in a .rsa file, make sure you replace the `\\n` escape sequences with real line breaks.","example":"-----BEGIN RSA PRIVATE KEY-----\\n...\\n-----END RSA PRIVATE KEY-----"},"type":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).","example":"ssh-rsa"}},"title":"CreateKeypair","additionalProperties":false,"description":"Information about the created keypair."},"CreateListenerRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"listener":{"$ref":"#/components/schemas/LoadBalancerLight"},"listenerRule":{"$ref":"#/components/schemas/ListenerRuleForCreation"},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.","example":["i-12345678"]}},"title":"CreateListenerRule","required":["vmIds","listener","listenerRule"],"additionalProperties":false},"CreateLoadBalancer":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"listeners":{"type":"array","items":{"$ref":"#/components/schemas/ListenerForCreation"},"description":"One or more listeners to create."},"name":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but cannot start or end with a hyphen).","example":"private-lb-example"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP you want to associate with the load balancer. If not specified, a public IP owned by NumSpot is associated.","example":"192.0.2.0"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"(Vpc only) One or more IDs of security groups you want to assign to the load balancer. If not specified, the default security group of the Vpc is assigned to the load balancer.","example":["sg-12345678"]},"subnets":{"type":"array","items":{"type":"string"},"description":"(Vpc only) The ID of the Subnet in which you want to create the load balancer. Regardless of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is required in a Vpc.","example":["subnet-12345678"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags assigned to the load balancer."},"type":{"type":"string","description":"The type of load balancer: `internet-facing` or `internal`. Use this parameter only for load balancers in a Vpc.","example":"internal"}},"title":"CreateLoadBalancer","required":["listeners","name","subnets"],"additionalProperties":false},"CreateLoadBalancerListeners":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"listeners":{"type":"array","items":{"$ref":"#/components/schemas/ListenerForCreation"},"description":"One or more listeners for the load balancer."}},"title":"CreateLoadBalancerListeners","required":["listeners"],"additionalProperties":false},"CreateLoadBalancerPolicy":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cookieExpirationPeriod":{"type":"integer","description":"The lifetime of the cookie, in seconds. If not specified, the default value of this parameter is `1`, which means that the sticky session lasts for the duration of the browser session.","example":1},"cookieName":{"type":"string","description":"The name of the application cookie used for stickiness. This parameter is required if you create a stickiness policy based on an application-generated cookie.","example":"example-cookie"},"policyName":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"The name of the policy, with a maximum length of 32 alphanumeric characters and dashes (-). Must be unique.","example":"example-browser-policy"},"policyType":{"type":"string","description":"The type of stickiness policy you want to create: `app` or `load_balancer`.","example":"app"}},"title":"CreateLoadBalancerPolicy","required":["policyType","policyName"],"additionalProperties":false},"CreateLoadBalancerTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"names":{"type":"array","items":{"type":"string"},"description":"One or more load balancer names.","example":["private-lb-example"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags to add to the specified load balancers."}},"title":"CreateLoadBalancerTags","required":["tags","names"],"additionalProperties":false},"CreateNatGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"publicIpId":{"type":"string","description":"The allocation ID of the public IP to associate with the NAT gateway.\u003cbr /\u003e\nIf the public IP is already associated with another resource, you must first disassociate it.","example":"eipalloc-12345678"},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NAT gateway.","example":"subnet-12345678"}},"title":"CreateNatGateway","required":["publicIpId","subnetId"],"additionalProperties":false},"CreateNic":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"A description for the NIC.","example":"Terraform nic with private IPs"},"privateIps":{"type":"array","items":{"$ref":"#/components/schemas/PrivateIpLight"},"description":"The primary private IP for the NIC.\u003cbr /\u003e\nThis IP must be within the IP range of the Subnet that you specify with the `SubnetId` attribute.\u003cbr /\u003e\nIf you do not specify this attribute, a random private IP is selected within the IP range of the Subnet."},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC.","example":["sg-12345678"]},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the NIC.","example":"subnet-12345678"}},"title":"CreateNic","required":["subnetId"],"additionalProperties":false},"CreateRoute":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).","example":"10.0.0.0/24"},"gatewayId":{"type":"string","description":"The ID of an Internet gateway or virtual gateway attached to your Vpc.","example":"igw-12345678"},"natGatewayId":{"type":"string","description":"The ID of a NAT gateway.","example":"nat-12345678"},"nicId":{"type":"string","description":"The ID of a NIC.","example":"nic-12345678"},"vmId":{"type":"string","description":"The ID of a NAT VM in your Vpc (attached to exactly one NIC).","example":"i-12345678"},"vpcPeeringId":{"type":"string","description":"The ID of a Vpc peering.","example":"pcx-12345678"}},"title":"CreateRoute","required":["destinationIpRange"],"additionalProperties":false},"CreateRouteTable":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vpcId":{"type":"string","description":"The ID of the Vpc for which you want to create a route table.","example":"vpc-12345678"}},"title":"CreateRouteTable","required":["vpcId"],"additionalProperties":false},"CreateSecurityGroup":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"A description for the security group.\u003cbr /\u003e\nThis description can contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.","example":"Security group example"},"name":{"type":"string","description":"The name of the security group.\u003cbr /\u003e\nThis name must not start with `sg-`.\u003cbr /\u003e\nThis name must be unique and contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and `_.-:/()#,@[]+=\u0026;{}!$*`.","example":"security-group-example"},"vpcId":{"type":"string","description":"The ID of the Vpc for the security group.","example":"vpc-12345678"}},"title":"CreateSecurityGroup","required":["description","name","vpcId"],"additionalProperties":false},"CreateSecurityGroupRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"flow":{"type":"string","description":"The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Vpcs only.","example":"Inbound"},"fromPortRange":{"type":"integer","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.","example":80},"ipProtocol":{"type":"string","description":"The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). By default, `-1`. In a Vpc, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). If you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.","example":"tcp"},"ipRange":{"type":"string","description":"The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.","example":"10.0.0.0/16"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupRule"},"description":"Information about the security group rule to create. If you specify this parent parameter and its subparameters, you cannot specify the following parent parameters: `FromPortRange`, `IpProtocol`, `IpRange`, and `ToPortRange`."},"securityGroupNameToLink":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.","example":"sg-12345678"},"toPortRange":{"type":"integer","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.","example":80}},"title":"CreateSecurityGroupRule","required":["flow"],"additionalProperties":false},"CreateSnapshot":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"A description for the snapshot.","example":"Snapshot created from a volume"},"sourceRegionName":{"type":"string","description":"**(when copying a snapshot)** The name of the source Region, which must be the same as the Region of your account.","example":"eu-west-2"},"sourceSnapshotId":{"type":"string","description":"**(when copying a snapshot)** The ID of the snapshot you want to copy.","example":"snap-12345678"},"volumeId":{"type":"string","description":"**(when creating from a volume)** The ID of the volume you want to create a snapshot of.","example":"vol-12345678"}},"title":"CreateSnapshot","additionalProperties":false},"CreateSubnet":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which you want to create the Subnet.","$ref":"#/components/schemas/AvailabilityZoneName"},"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\u003cbr /\u003e\nThe IP range of the Subnet can be either the same as the Vpc one if you create only a single Subnet in this Net, or a subset of the Vpc one. In case of several Subnets in a Vpc, their IP ranges must not overlap. The smallest Subnet you can create uses a /29 netmask (eight IPs).","example":"10.0.0.0/18"},"vpcId":{"type":"string","description":"The ID of the Vpc for which you want to create a Subnet.","example":"vpc-12345678"}},"title":"CreateSubnet","required":["ipRange","vpcId"],"additionalProperties":false},"CreateTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceIds":{"type":"array","items":{"type":"string"},"description":"One or more resource IDs.","example":["i-12345678"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags to add to the specified resources."}},"title":"CreateTags","required":["resourceIds","tags"],"additionalProperties":false},"CreateVms":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"blockDeviceMappings":{"type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingVmCreation"},"description":"One or more block device mappings."},"bootOnCreation":{"type":"boolean","description":"By default or if true, the VM is started on creation. If false, the VM is stopped on creation.","default":true,"example":true},"bsuOptimized":{"type":"boolean","description":"This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.","example":true},"clientToken":{"type":"string","description":"A unique identifier which enables you to manage the idempotency.","example":"string"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.","example":true},"imageId":{"type":"string","description":"The ID of the Image used to create the VM. You can find the list of Images by calling the [ReadImages](#readimages) method.","example":"ami-12345678"},"keypairName":{"type":"string","description":"The name of the keypair.","example":"keypair-example"},"nestedVirtualization":{"type":"boolean","description":"(dedicated tenancy only) If true, nested virtualization is enabled. If false, it is disabled.","default":false,"example":false},"performance":{"type":"string","enum":["medium","high","highest"],"description":"The performance of the VM (`medium` \\| `high` \\|  `highest`). By default, `high`. This parameter is ignored if you specify a performance flag directly in the `type` parameter.","default":"high","example":"high"},"placement":{"$ref":"#/components/schemas/Placement"},"privateIps":{"type":"array","items":{"type":"string"},"description":"One or more private IPs of the VM.","example":["10.0.0.4"]},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security group for the VMs.","example":["sg-12345678"]},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more names of security groups for the VMs.","example":["security-group-name"]},"subnetId":{"type":"string","description":"The ID of the Subnet in which you want to create the VM. If you specify this parameter, you must not specify the `Nics` parameter.","example":"subnet-12345678"},"type":{"type":"string","enum":["ns-eco6-2c1r","ns-eco6-2c2r","ns-eco6-2c4r","ns-eco6-2c8r","ns-eco6-4c16r","ns-eco6-8c32r","ns-eco7-2c1r","ns-eco7-2c2r","ns-eco7-2c4r","ns-eco7-2c8r","ns-eco7-4c16r","ns-eco7-8c32r","ns-gus6-2c8r","ns-gus6-4c16r","ns-gus6-8c32r","ns-gus6-16c64r","ns-gus6-32c128r","ns-gus6-48c192r","ns-gus6-64c256r","ns-gus6-78c384r","ns-gus7-2c8r","ns-gus7-4c16r","ns-gus7-8c32r","ns-gus7-16c64r","ns-gus7-32c128r","ns-gus7-48c192r","ns-gus7-64c256r","ns-gus7-78c384r","ns-mem6-2c16r","ns-mem6-4c32r","ns-mem6-8c64r","ns-mem6-16c128r","ns-mem6-32c256r","ns-mem6-48c384r","ns-mem6-64c512r","ns-mem6-78c1024r","ns-mem7-2c16r","ns-mem7-4c32r","ns-mem7-8c64r","ns-mem7-16c128r","ns-mem7-32c256r","ns-mem7-48c384r","ns-mem7-64c512r","ns-mem7-78c1024r","ns-cus6-2c4r","ns-cus6-4c8r","ns-cus6-8c16r","ns-cus6-16c32r","ns-cus6-32c64r","ns-cus6-48c96r","ns-cus6-64c128r","ns-cus6-78c192r","ns-cus7-2c4r","ns-cus7-4c8r","ns-cus7-8c16r","ns-cus7-16c32r","ns-cus7-32c64r","ns-cus7-48c96r","ns-cus7-64c128r","ns-cus7-78c192r","ns-inf7-126c1024r-8h200g","ns-inf7-32c256r-2h100g","ns-inf7-64c450r-2h100g","ns-inf7-32c256r-2l40g","ns-inf7-16c128r-1l40g"],"description":"A valid type for a Numspot VM"},"userData":{"type":"string","description":"Data or script used to add a specific configuration to the VM. It must be Base64-encoded and is limited to 500 kibibytes (KiB).","example":"UHV0IHlvdXIgc2NyaXB0IGluIGJhc2UgNjQK"},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. By default or if set to `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is terminated.","default":"stop","example":"stop"}},"title":"CreateVms","required":["imageId","subnetId","type"],"additionalProperties":false},"CreateVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which you want to create the volume.","$ref":"#/components/schemas/AvailabilityZoneName"},"iops":{"type":"integer","description":"The number of I/O operations per second (IOPS). This parameter must be specified only if you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per GB.","example":100},"size":{"type":"integer","description":"The size of the volume, in GB. The maximum allowed size for a volume is 14901 GB. This parameter is required if the volume is not created from a snapshot (`SnapshotId` unspecified). ","example":10},"snapshotId":{"type":"string","description":"The ID of the snapshot from which you want to create the volume.","example":"snap-12345678"},"type":{"type":"string","description":"The type of volume you want to create (`io1` \\| `gp2` \\ | `standard`). If not specified, a `standard` volume is created.\u003cbr /\u003e","example":"io1"}},"title":"CreateVolume","required":["availabilityZoneName"],"additionalProperties":false},"CreateVpc":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ipRange":{"type":"string","description":"The IP range for the Vpc, in CIDR notation (for example, `10.0.0.0/16`).","example":"10.0.0.0/16"},"tenancy":{"type":"string","description":"The tenancy options for the VMs:\u003cbr /\u003e\n- `default` if a VM created in a Vpc can be launched with any tenancy.\u003cbr /\u003e\n- `dedicated` if it can be launched with dedicated tenancy VMs running on single-tenant hardware.\u003cbr /\u003e\n- `dedicated group ID`: if it can be launched in a dedicated group on single-tenant hardware.","example":"default"}},"title":"CreateVpc","required":["ipRange"],"additionalProperties":false},"CreateServerCertificate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"body":{"type":"string","description":"The PEM-encoded X509 certificate.","example":"UHV0IHlvdXIgUEVNLWVuY29kZWQgWDUwOSBjZXJ0aWZpY2F0ZSBpbiBiYXNlIDY0Cg=="},"chain":{"type":"string","description":"The PEM-encoded intermediate certification authorities.","example":"UHV0IHlvdXIgUEVNLWVuY29kZWQgaW50ZXJtZWRpYXRlIGNlcnRpZmljYXRpb24gYXV0aG9yaXRpZXMgaW4gYmFzZSA2NAo="},"name":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"A unique name for the certificate, with a maximum length of 32 alphanumeric characters and dashes (-)","example":"server-cert-example"},"path":{"type":"string","description":"The path to the server certificate, set to a slash (/) if not specified.","example":"/example/"},"privateKey":{"type":"string","description":"The PEM-encoded private key matching the certificate.","example":"UHV0IHlvdXIgIFBFTS1lbmNvZGVkIHByaXZhdGUga2V5IG1hdGNoaW5nIHRoZSBjZXJ0aWZpY2F0ZSBpbiBiYXNlIDY0Cg=="}},"title":"CreateServerCertificate","required":["body","name","privateKey"],"additionalProperties":false},"DeleteLoadBalancerListeners":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"loadBalancerPorts":{"type":"array","items":{"type":"integer"},"description":"One or more port numbers of the listeners you want to delete.","example":[80]}},"title":"DeleteLoadBalancerListeners","required":["loadBalancerPorts"],"additionalProperties":false},"DeleteLoadBalancerPolicy":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"policyName":{"type":"string","description":"The name of the policy you want to delete.","example":"example-browser-policy"}},"title":"DeleteLoadBalancerPolicy","required":["policyName"],"additionalProperties":false},"DeleteLoadBalancerTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"names":{"type":"array","items":{"type":"string"},"description":"One or more load balancer names.","example":["example-lbu"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceLoadBalancerTag"},"description":"One or more tags to delete from the load balancers."}},"title":"DeleteLoadBalancerTags","required":["tags","names"],"additionalProperties":false},"DeleteRoute":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","description":"The exact IP range for the route.","example":"198.51.100.0/24"}},"title":"DeleteRoute","required":["destinationIpRange"],"additionalProperties":false},"DeleteSecurityGroupRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"flow":{"type":"string","description":"The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Vpcs only.","example":"Inbound"},"fromPortRange":{"type":"integer","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.","example":80},"ipProtocol":{"type":"string","description":"The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). By default, `-1`. In a Vpc, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).","example":"tcp"},"ipRange":{"type":"string","description":"The IP range for the security group rule, in CIDR notation (for example, `10.0.0.0/16`).","example":"10.0.0.0/16"},"rules":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupRule"},"description":"One or more rules you want to delete from the security group."},"securityGroupNameToUnlink":{"type":"string","description":"The ID of the source security group. If you are in the Public Cloud, you can also specify the name of the source security group.","example":"sg-12345678"},"toPortRange":{"type":"integer","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.","example":80}},"title":"DeleteSecurityGroupRule","required":["flow"],"additionalProperties":false},"DeleteTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceIds":{"type":"array","items":{"type":"string"},"description":"One or more resource IDs.","example":["i-12345678"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags to delete (if you set a tag value, only the tags matching exactly this value are deleted)."}},"title":"DeleteTags","required":["resourceIds","tags"],"additionalProperties":false},"DhcpOptionsSet":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"default":{"type":"boolean","description":"If true, the DHCP options set is a default one. If false, it is not.","example":false},"domainName":{"type":"string","description":"The domain name.","example":"example.com"},"domainNameServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the domain name servers.","example":["192.0.2.0","198.51.100.0"]},"id":{"type":"string","description":"The ID of the DHCP options set.","example":"dopt-12345678"},"logServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the log servers.","example":["203.0.113.0","203.0.113.1"]},"ntpServers":{"type":"array","items":{"type":"string"},"description":"One or more IPs for the NTP servers."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the DHCP options set."}},"title":"DhcpOptionsSet","additionalProperties":false,"description":"Information about the DHCP options set."},"FlexibleGpu":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ where the fGPU is located.","$ref":"#/components/schemas/AvailabilityZoneName"},"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.","example":true},"generation":{"type":"string","description":"The compatible processor generation.","example":"v7"},"id":{"type":"string","description":"The ID of the fGPU.","example":"fgpu-12345678"},"modelName":{"type":"string","description":"The model of fGPU.","example":"nvidia-h100"},"state":{"type":"string","description":"The state of the fGPU (`allocated` \\| `attaching` \\| `attached` \\| `detaching`).","example":"attached"},"vmId":{"type":"string","description":"The ID of the VM the fGPU is attached to, if any.","example":"i-12345678"}},"title":"FlexibleGpu","additionalProperties":false,"description":"Information about the flexible GPU (fGPU)."},"HealthCheck":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"checkInterval":{"type":"integer","description":"The number of seconds between two requests (between `5` and `600` both included).","example":30},"healthyThreshold":{"type":"integer","description":"The number of consecutive successful requests before considering the VM as healthy (between `2` and `10` both included).","example":10},"path":{"type":"string","description":"If you use the HTTP or HTTPS protocols, the request URL path.","example":"/index.html"},"port":{"type":"integer","description":"The port number (between `1` and `65535`, both included).","example":8080},"protocol":{"type":"string","description":"The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).","example":"HTTPS"},"timeout":{"type":"integer","description":"The maximum waiting time for a response before considering the VM as unhealthy, in seconds (between `2` and `60` both included).","example":5},"unhealthyThreshold":{"type":"integer","description":"The number of consecutive failed requests before considering the VM as unhealthy (between `2` and `10` both included).","example":5}},"title":"HealthCheck","required":["checkInterval","healthyThreshold","port","protocol","timeout","unhealthyThreshold"],"additionalProperties":false,"description":"Information about the health check configuration."},"Image":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"access":{"$ref":"#/components/schemas/Access"},"architecture":{"type":"string","description":"The architecture of the Image.","example":"x86_64"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingImage"},"description":"One or more block device mappings."},"creationDate":{"type":"string","format":"date-time","description":"The date and time of creation of the Image, in ISO 8601 date-time format.","example":"2010-10-01 12:34:56.789000+00:00"},"description":{"type":"string","description":"The description of the image.","example":"my Image"},"id":{"type":"string","description":"The ID of the Image.","example":"ami-12345678"},"name":{"type":"string","description":"The name of the Image.","example":"create-image-example"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the Image.","example":["0001"]},"rootDeviceName":{"type":"string","description":"The name of the root device.","example":"/dev/sda1"},"rootDeviceType":{"type":"string","description":"The type of root device used by the Image (always `bsu`).","example":"bsu"},"state":{"type":"string","description":"The state of the Image (`pending` \\| `available` \\| `failed`).","example":"pending"},"stateComment":{"$ref":"#/components/schemas/StateComment"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the Image."},"type":{"type":"string","description":"The type of the Image.","example":"machine"}},"title":"Image","additionalProperties":false,"description":"Information about the Image."},"InternetGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"The ID of the Internet gateway.","example":"igw-12345678"},"state":{"type":"string","description":"The state of the attachment of the Internet gateway to the Vpc (always `available`).","example":"available"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the Internet gateway."},"vpcId":{"type":"string","description":"The ID of the Vpc attached to the Internet gateway.","example":"vpc-12345678"}},"title":"InternetGateway","additionalProperties":false,"description":"Information about the Internet gateway."},"Keypair":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fingerprint":{"type":"string","description":"The MD5 public key fingerprint as specified in section 4 of RFC 4716.","example":"11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd:ee:ff"},"name":{"type":"string","description":"The name of the keypair.","example":"create-keypair-example"},"type":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).","example":"ssh-rsa"}},"title":"Keypair","additionalProperties":false,"description":"Information about the keypair."},"LinkFlexibleGpu":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vmId":{"type":"string","description":"The ID of the VM you want to attach the fGPU to.","example":"i-12345678"}},"title":"LinkFlexibleGpu","required":["vmId"],"additionalProperties":false},"LinkInternetGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vpcId":{"type":"string","description":"The ID of the Vpc to which you want to attach the Internet gateway.","example":"vpc-12345678"}},"title":"LinkInternetGateway","required":["vpcId"],"additionalProperties":false},"LinkLoadBalancerBackendMachines":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"backendIps":{"type":"array","examples":["192.0.2.0","198.51.100.0"],"items":{"type":"string"},"description":"One or more public IPs of back-end VMs."},"backendVmIds":{"type":"array","examples":["i-12345678","i-87654321"],"items":{"type":"string"},"description":"One or more IDs of back-end VMs."}},"title":"LinkLoadBalancerBackendMachines","additionalProperties":false},"LinkNic":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.","example":true},"deviceNumber":{"type":"integer","description":"The device index for the NIC attachment (between `1` and `7`, both included).","example":1},"id":{"type":"string","description":"The ID of the NIC to attach.","example":"eni-12345678"},"state":{"type":"string","description":"The state of the attachment (`attaching` \\| `attached` \\| `detaching` \\| `detached`).","example":"attached"},"vmId":{"type":"string","description":"The ID of the VM.","example":"i-12345678"}},"title":"LinkNic","additionalProperties":false,"description":"Information about the NIC attachment."},"LinkNicLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated.","example":true},"deviceNumber":{"type":"integer","description":"The device index for the NIC attachment (between `1` and `7`, both included).","example":1},"linkNicId":{"type":"string","description":"The ID of the NIC to attach.","example":"eni-12345678"},"state":{"type":"string","description":"The state of the attachment (`attaching` \\| `attached` \\| `detaching` \\| `detached`).","example":"attached"}},"title":"LinkNicLight","additionalProperties":false,"description":"Information about the network interface card (NIC)."},"LinkNicToUpdate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the NIC is deleted when the VM is terminated. If false, the NIC is detached from the VM.","example":true},"linkNicId":{"type":"string","description":"The ID of the NIC attachment.","example":"eni-12345678"}},"title":"LinkNicToUpdate","additionalProperties":false,"description":"Information about the NIC attachment. If you are modifying the `DeleteOnVmDeletion` attribute, you must specify the ID of the NIC attachment."},"LinkPrivateIps":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"allowRelink":{"type":"boolean","description":"If true, allows an IP that is already assigned to another NIC in the same Subnet to be assigned to the NIC you specified.","example":true},"privateIps":{"type":"array","items":{"type":"string"},"description":"The secondary private IP or IPs you want to assign to the NIC within the IP range of the Subnet.","example":["10.0.0.6","10.0.0.7"]},"secondaryPrivateIpCount":{"type":"integer","description":"The number of secondary private IPs to assign to the NIC.","example":1}},"title":"LinkPrivateIps","additionalProperties":false},"LinkPublicIp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"(Required in a Vpc) The ID representing the association of the public IP with the VM or the NIC.","example":"eipassoc-12345678"},"publicDnsName":{"type":"string","description":"The name of the public DNS.","example":"ip-192-0-2-0.eu-west-2.xxxxx.xxxxxxx"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.","example":"192.0.2.0"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP.","example":"eipalloc-12345678"}},"title":"LinkPublicIp","additionalProperties":false,"description":"Information about the public IP association."},"LinkPublicIpLightForVm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"publicDnsName":{"type":"string","description":"The name of the public DNS.","example":"ip-192-0-2-0.eu-west-2.xxxxx.xxxxxxx"},"publicIp":{"type":"string","description":"The public IP associated with the NIC.","example":"192.0.2.0"}},"title":"LinkPublicIpLightForVm","additionalProperties":false,"description":"Information about the public IP associated with the NIC."},"LinkRouteTable":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"The ID of the association between the route table and the Subnet.","example":"rtbassoc-12345678"},"main":{"type":"boolean","description":"If true, the route table is the main one.","example":true},"routeTableId":{"type":"string","description":"The ID of the route table.","example":"rtb-12345678"},"subnetId":{"type":"string","description":"The ID of the Subnet.","example":"subnet-12345678"},"vpcId":{"type":"string","description":"The ID of the Vpc.","example":"vpc-12345678"}},"title":"LinkRouteTable","additionalProperties":false,"description":"One or more associations between the route table and the Subnets."},"LinkVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deviceName":{"type":"string","description":"The name of the device. For a root device, you must use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`, and the second `X` is a letter between `a` and `z`).","example":"/dev/sda1"},"vmId":{"type":"string","description":"The ID of the VM you want to attach the volume to.","example":"i-12345678"}},"title":"LinkVolume","required":["deviceName","vmId"],"additionalProperties":false},"LinkedVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the volume is deleted when terminating the VM. If false, the volume is not deleted when terminating the VM.","example":true},"deviceName":{"type":"string","description":"The name of the device.","example":"/dev/sda1"},"id":{"type":"string","description":"The ID of the volume.","example":"vol-12345678"},"state":{"type":"string","description":"The state of the attachment of the volume (`attaching` \\| `detaching` \\| `attached` \\| `detached`).","example":"attached"},"vmId":{"type":"string","description":"The ID of the VM.","example":"i-12345678"}},"title":"LinkedVolume","additionalProperties":false,"description":"Information about volume attachment."},"Listener":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"backendPort":{"type":"integer","description":"The port on which the back-end VM is listening (between `1` and `65535`, both included).","example":80},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).","example":"HTTP"},"loadBalancerPort":{"type":"integer","description":"The port on which the load balancer is listening (between `1` and `65535`, both included).","example":443},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).","example":"HTTPS"},"policyNames":{"type":"array","items":{"type":"string"},"description":"The names of the policies. If there are no policies enabled, the list is empty.","example":["example-browser-policy"]},"serverCertificateId":{"type":"string","description":"The NumSpot Resource Name of the server certificate.","example":"orn:ows:idauth::012345678910:server-certificate/Certificate"}},"title":"Listener","additionalProperties":false,"description":"Information about the listener."},"ListenerForCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"backendPort":{"type":"integer","description":"The port on which the back-end VM is listening (between `1` and `65535`, both included).","example":58},"backendProtocol":{"type":"string","description":"The protocol for routing traffic to back-end VMs (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).","example":"TCP"},"loadBalancerPort":{"type":"integer","description":"The port on which the load balancer is listening (between `1` and `65535`, both included).","example":62},"loadBalancerProtocol":{"type":"string","description":"The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).","example":"TCP"},"serverCertificateId":{"type":"string","description":"The server certificate orn","example":"orn:ows:idauth::012345678910:server-certificate/Certificate"}},"title":"ListenerForCreation","required":["backendPort","loadBalancerPort","loadBalancerProtocol"],"additionalProperties":false,"description":"Information about the listener to create."},"ListenerRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","description":"The type of action for the rule (always `forward`).","example":"forward"},"hostNamePattern":{"type":"string","description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except [-.?].","example":"*.example.com"},"id":{"type":"integer","description":"The ID of the listener rule.","example":1234},"listenerId":{"type":"integer","description":"The ID of the listener.","example":123456},"name":{"type":"string","description":"A human-readable name for the listener rule.","example":"example-listener-rule"},"pathPattern":{"type":"string","description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except [_-.$/~\u0026quot;'@:+?].","example":"/tmp"},"priority":{"type":"integer","description":"The priority level of the listener rule, between `1` and `19999` both included. Each rule must have a unique priority level. Otherwise, an error is returned.","example":10},"vmIds":{"type":"array","items":{"type":"string"},"description":"The IDs of the backend VMs.","example":["i-12345678"]}},"title":"ListenerRule","additionalProperties":false,"description":"Information about the listener rule."},"ListenerRuleForCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","description":"The type of action for the rule (always `forward`).","example":"forward"},"hostNamePattern":{"type":"string","description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except [-.?]. ","example":"*.example.com"},"listenerRuleName":{"type":"string","maxLength":32,"pattern":"^[a-zA-Z0-9-]+$","description":"A human-readable name for the listener rule, with a maximum length of 32 alphanumeric characters and dashes (-).","example":"example-listener-rule"},"pathPattern":{"type":"string","description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except [_-.$/~\u0026quot;'@:+?].","example":"/tmp"},"priority":{"type":"integer","description":"The priority level of the listener rule, between `1` and `19999` both included. Each rule must have a unique priority level. Otherwise, an error is returned.","example":10}},"title":"ListenerRuleForCreation","required":["listenerRuleName","priority"],"additionalProperties":false,"description":"Information about the listener rule."},"LoadBalancer":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"applicationStickyCookiePolicies":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationStickyCookiePolicy"},"description":"The stickiness policies defined for the load balancer."},"availabilityZoneNames":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityZoneName"},"description":"The ID of the Subregion in which the load balancer was created.","example":["eu-west-2a"]},"backendIps":{"type":"array","items":{"type":"string"},"description":"One or more public IPs of back-end VMs.","example":["192.0.4.0"]},"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of back-end VMs for the load balancer.","example":["i-12345678"]},"dnsName":{"type":"string","description":"The DNS name of the load balancer.","example":"private-lb-example.123456789.eu-west-2.lbu.outscale.com"},"healthCheck":{"$ref":"#/components/schemas/HealthCheck"},"listeners":{"type":"array","items":{"$ref":"#/components/schemas/Listener"},"description":"The listeners for the load balancer."},"name":{"type":"string","description":"The name of the load balancer.","example":"private-lb-example"},"publicIp":{"type":"string","description":"(internet-facing only) The public IP associated with the load balancer.","example":"192.0.4.0"},"securedCookies":{"type":"boolean","description":"Whether secure cookies are enabled for the load balancer.","example":false},"securityGroups":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the load balancers. Valid only for load balancers in a Vpc.","example":["sg-12345678"]},"stickyCookiePolicies":{"type":"array","items":{"$ref":"#/components/schemas/LoadBalancerStickyCookiePolicy"},"description":"The policies defined for the load balancer."},"subnets":{"type":"array","items":{"type":"string"},"description":"The ID of the Subnet in which the load balancer was created.","example":["subnet-12345678"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the load balancer."},"type":{"type":"string","description":"The type of load balancer. Valid only for load balancers in a Vpc.\u003cbr /\u003e\nIf `LoadBalancerType` is `internet-facing`, the load balancer has a public DNS name that resolves to a public IP.\u003cbr /\u003e\nIf `LoadBalancerType` is `internal`, the load balancer has a public DNS name that resolves to a private IP.","example":"internal"},"vpcId":{"type":"string","description":"The ID of the Vpc for the load balancer.","example":"vap-12345678"}},"title":"LoadBalancer","additionalProperties":false,"description":"Information about the load balancer."},"LoadBalancerLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"loadBalancerName":{"type":"string","description":"The name of the load balancer to which the listener is attached.","example":"private-lb-example"},"loadBalancerPort":{"type":"integer","description":"The port of load balancer on which the load balancer is listening (between `1` and `65535` both included).","example":80}},"title":"LoadBalancerLight","required":["loadBalancerName","loadBalancerPort"],"additionalProperties":false,"description":"Information about the load balancer."},"LoadBalancerStickyCookiePolicy":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cookieExpirationPeriod":{"type":"integer","description":"The time period, in seconds, after which the cookie should be considered stale.\u003cbr /\u003e\nIf `1`, the stickiness session lasts for the duration of the browser session.","example":1},"policyName":{"type":"string","description":"The name of the stickiness policy.","example":"example-browser-policy"}},"title":"LoadBalancerStickyCookiePolicy","additionalProperties":false,"description":"Information about the stickiness policy."},"LoadBalancerTag":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","description":"The key of the tag.","example":"key1"},"name":{"type":"string","description":"The name of the load balancer.","example":"private-lb-example"},"value":{"type":"string","description":"The value of the tag.","example":"value1"}},"title":"LoadBalancerTag","additionalProperties":false,"description":"Information about the load balancer tag."},"MaintenanceEvent":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"The code of the event (`system-reboot` \\| `system-maintenance`).","example":"system-maintenance"},"description":{"type":"string","description":"The description of the event.","example":"description of the maintenance"},"notAfter":{"type":"string","format":"date","description":"The latest scheduled end time for the event.","example":"2019-08-24"},"notBefore":{"type":"string","format":"date","description":"The earliest scheduled start time for the event.","example":"2019-08-24"}},"title":"MaintenanceEvent","additionalProperties":false,"description":"Information about the maintenance event."},"NatGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"The ID of the NAT gateway.","example":"nat-12345678"},"publicIps":{"type":"array","items":{"$ref":"#/components/schemas/PublicIpLight"},"description":"Information about the public IP or IPs associated with the NAT gateway."},"state":{"type":"string","description":"The state of the NAT gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).","example":"available"},"subnetId":{"type":"string","description":"The ID of the Subnet in which the NAT gateway is.","example":"subnet-12345678"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the NAT gateway."},"vpcId":{"type":"string","description":"The ID of the Vpc in which the NAT gateway is.","example":"vpc-12345678"}},"title":"NatGateway","additionalProperties":false,"description":"Information about the NAT gateway."},"Nic":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which the NIC is located.","$ref":"#/components/schemas/AvailabilityZoneName"},"description":{"type":"string","description":"The description of the NIC.","example":"Primary network interface"},"id":{"type":"string","description":"The ID of the NIC.","example":"nic-12345678"},"isSourceDestChecked":{"type":"boolean","description":"(Vpc only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Vpc.","example":true},"linkNic":{"$ref":"#/components/schemas/LinkNic"},"linkPublicIp":{"$ref":"#/components/schemas/LinkPublicIp"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.","example":"A1:B2:C3:D4:E5:F6"},"privateDnsName":{"type":"string","description":"The name of the private DNS.","example":"ip-10-0-0-4.eu-west-2.compute.internal"},"privateIps":{"type":"array","items":{"$ref":"#/components/schemas/PrivateIp"},"description":"The private IPs of the NIC."},"securityGroups":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupLight"},"description":"One or more IDs of security groups for the NIC."},"state":{"type":"string","description":"The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).","example":"attaching"},"subnetId":{"type":"string","description":"The ID of the Subnet.","example":"subnet-12345678"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the NIC."},"vpcId":{"type":"string","description":"The ID of the Vpc for the NIC.","example":"vpc-12345678"}},"title":"Nic","additionalProperties":false,"description":"Information about the NIC."},"NicLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"The description of the NIC.","example":"description of the nic"},"isSourceDestChecked":{"type":"boolean","description":"(Vpc only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Vpc.","example":true},"linkNic":{"$ref":"#/components/schemas/LinkNicLight"},"linkPublicIp":{"$ref":"#/components/schemas/LinkPublicIpLightForVm"},"macAddress":{"type":"string","description":"The Media Access Control (MAC) address of the NIC.","example":"A1:B2:C3:D4:E5:F6"},"nicId":{"type":"string","description":"The ID of the NIC.","example":"eni-12345678"},"privateDnsName":{"type":"string","description":"The name of the private DNS.","example":"ip-10-0-0-4.eu-west-2.compute.internal"},"privateIps":{"type":"array","items":{"$ref":"#/components/schemas/PrivateIpLightForVm"},"description":"The private IP or IPs of the NIC."},"securityGroups":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupLight"},"description":"One or more IDs of security groups for the NIC."},"state":{"type":"string","description":"The state of the NIC (`available` \\| `attaching` \\| `in-use` \\| `detaching`).","example":"available"},"subnetId":{"type":"string","description":"The ID of the Subnet for the NIC.","example":"subnet-12345678"},"vpcId":{"type":"string","description":"The ID of the Vpc for the NIC.","example":"vpc-12345678"}},"title":"NicLight","additionalProperties":false,"description":"Information about the network interface card (NIC)."},"Placement":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ. If you specify this parameter, you must not specify the `Nics` parameter.","$ref":"#/components/schemas/AvailabilityZoneName"},"tenancy":{"type":"string","description":"The tenancy of the VM (`default`, `dedicated`, or a dedicated group ID).","example":"default"}},"title":"Placement","additionalProperties":false,"description":"Information about the placement of the VM."},"PrivateIp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.","example":true},"linkPublicIp":{"$ref":"#/components/schemas/LinkPublicIp"},"privateDnsName":{"type":"string","description":"The name of the private DNS.","example":"ip-10-0-0-4.eu-west-2.compute.internal"},"privateIp":{"type":"string","description":"The private IP of the NIC.","example":"10.0.0.6"}},"title":"PrivateIp","additionalProperties":false,"description":"Information about the private IP."},"PrivateIpLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.","example":true},"privateIp":{"type":"string","description":"The private IP of the NIC.","example":"10.0.0.6"}},"title":"PrivateIpLight","additionalProperties":false,"description":"Information about the private IP."},"PrivateIpLightForVm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"isPrimary":{"type":"boolean","description":"If true, the IP is the primary private IP of the NIC.","example":true},"linkPublicIp":{"$ref":"#/components/schemas/LinkPublicIpLightForVm"},"privateDnsName":{"type":"string","description":"The name of the private DNS.","example":"ip-10-0-0-4.eu-west-2.compute.internal"},"privateIp":{"type":"string","description":"The private IP.","example":"10.0.0.6"}},"title":"PrivateIpLightForVm","additionalProperties":false,"description":"Information about the private IP of the NIC."},"PublicIp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"The allocation ID of the public IP.","example":"eipalloc-12345678"},"linkPublicIpId":{"type":"string","description":"(Required in a Vpc) The ID representing the association of the public IP with the VM or the NIC.","example":"eipassoc-12345678"},"nicId":{"type":"string","description":"The ID of the NIC the public IP is associated with (if any).","example":"eni-12345678"},"privateIp":{"type":"string","description":"The private IP associated with the public IP.","example":"10.0.0.4"},"publicIp":{"type":"string","description":"The public IP.","example":"192.0.2.0"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the public IP."},"vmId":{"type":"string","description":"The ID of the VM the public IP is associated with (if any).","example":"i-12345678"}},"title":"PublicIp","additionalProperties":false,"description":"Information about the public IP."},"PublicIpLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"publicIp":{"type":"string","description":"The public IP associated with the NAT gateway.","example":"192.0.4.0"},"publicIpId":{"type":"string","description":"The allocation ID of the public IP associated with the NAT gateway.","example":"eipalloc-12345678"}},"title":"PublicIpLight","additionalProperties":false,"description":"Information about the public IP."},"ReadAdminPassword":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"adminPassword":{"type":"string","description":"The password of the VM. After the first boot, returns an empty string.","example":"the password"},"vmId":{"type":"string","description":"The ID of the VM.","example":"i-12345678"}},"title":"ReadAdminPassword","additionalProperties":false},"ReadConsoleOutput":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"consoleOutput":{"type":"string","description":"The Base64-encoded output of the console. If a command line tool is used, the output is decoded by the tool.","example":"eW91ciBjb25zb2xlIG91dHB1dA=="},"vmId":{"type":"string","description":"The ID of the VM.","example":"i-12345678"}},"title":"ReadConsoleOutput","additionalProperties":false},"ReadDhcpOptions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DhcpOptionsSet"},"description":"Information about one or more DHCP options sets."}},"title":"ReadDhcpOptions","additionalProperties":false},"ReadFlexibleGpus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FlexibleGpu"},"description":"Information about one or more fGPUs."}},"title":"ReadFlexibleGpus","additionalProperties":false},"ReadImages":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Image"},"description":"Information about one or more Images."}},"title":"ReadImages","additionalProperties":false},"ReadInternetGateways":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InternetGateway"},"description":"Information about one or more Internet gateways."}},"title":"ReadInternetGateways","additionalProperties":false},"ReadKeypairs":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Keypair"},"description":"Information about one or more keypairs."}},"title":"ReadKeypairs","additionalProperties":false},"ReadKeypairsById":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fingerprint":{"type":"string","description":"The MD5 public key fingerprint as specified in section 4 of RFC 4716.","example":"11:22:33:44:55:66:77:88:99:00:aa:bb:cc:dd:ee:ff"},"name":{"type":"string","description":"The name of the keypair.","example":"keypair-example"},"type":{"type":"string","description":"The type of the keypair (`ssh-rsa`, `ssh-ed25519`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).","example":"ssh-rsa"}},"title":"ReadKeypairsById","additionalProperties":false,"description":"Information about the keypair."},"ReadListenerRules":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ListenerRule"},"description":"The list of the rules to describe."}},"title":"ReadListenerRules","additionalProperties":false},"ReadLoadBalancerTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LoadBalancerTag"},"description":"Information about one or more load balancer tags."}},"title":"ReadLoadBalancerTags","additionalProperties":false},"ReadLoadBalancers":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LoadBalancer"},"description":"Information about one or more load balancers."}},"title":"ReadLoadBalancers","additionalProperties":false},"ReadNatGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NatGateway"},"description":"Information about one or more NAT gateways."}},"title":"ReadNatGateway","additionalProperties":false},"ReadNics":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Nic"},"description":"Information about one or more NICs."}},"title":"ReadNics","additionalProperties":false},"ReadPublicIps":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PublicIp"},"description":"Information about one or more public IPs."}},"title":"ReadPublicIps","additionalProperties":false},"ReadRouteTables":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RouteTable"},"description":"Information about one or more route tables."}},"title":"ReadRouteTables","additionalProperties":false},"ReadSecurityGroups":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroup"},"description":"Information about one or more security groups."}},"title":"ReadSecurityGroups","additionalProperties":false},"ReadSnapshots":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Snapshot"},"description":"Information about one or more snapshots and their permissions."}},"title":"ReadSnapshots","additionalProperties":false},"ReadSubnets":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Subnet"},"description":"Information about one or more Subnets."}},"title":"ReadSubnets","additionalProperties":false},"ReadTags":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Tag"},"description":"Information about one or more tags."}},"title":"ReadTags","additionalProperties":false},"ReadVms":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Vm"},"description":"Information about one or more VMs."}},"title":"ReadVms","additionalProperties":false},"ReadVmsHealth":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"backendVmHealth":{"type":"array","items":{"$ref":"#/components/schemas/BackendVmHealth"},"description":"Information about the health of one or more back-end VMs."}},"title":"ReadVmsHealth","additionalProperties":false},"ReadVmsState":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VmStates"},"description":"Information about one or more VM states."}},"title":"ReadVmsState","additionalProperties":false},"ReadVolumes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Volume"},"description":"Information about one or more volumes."}},"title":"ReadVolumes","additionalProperties":false},"ReadVpcs":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Vpc"},"description":"Information about the described Vpcs."}},"title":"ReadVpcs","additionalProperties":false},"ReadServerCertificates":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ServerCertificate"},"description":"Information about one or more Server certificates."}},"title":"ReadServerCertificates","additionalProperties":false},"ResourceLoadBalancerTag":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.","example":"key1"}},"title":"ResourceLoadBalancerTag","additionalProperties":false,"description":"Information about the tag."},"ResourceTag":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.","example":"key1"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.","example":"value1"}},"title":"ResourceTag","required":["key","value"],"additionalProperties":false,"description":"Information about the tag."},"Route":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"creationMethod":{"type":"string","description":"The method used to create the route.","example":"CreateRouteTable"},"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).","example":"10.0.0.0/16"},"destinationServiceId":{"type":"string","description":"The ID of the NumSpot service.","example":"Service ID"},"gatewayId":{"type":"string","description":"The ID of the Internet gateway or virtual gateway attached to the Vpc.","example":"igw-12345678"},"natGatewayId":{"type":"string","description":"The ID of a NAT gateway attached to the Vpc.","example":"nat-12345678"},"nicId":{"type":"string","description":"The ID of the NIC.","example":"nic-12345678"},"state":{"type":"string","description":"The state of a route in the route table (always `active`). ","example":"active"},"vmId":{"type":"string","description":"The ID of a VM specified in a route in the table.","example":"i-12345678"},"vpcPeeringId":{"type":"string","description":"The ID of the Vpc peering.","example":"pcx-12345678"}},"title":"Route","additionalProperties":false,"description":"Information about the route."},"RoutePropagatingVirtualGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.","example":"vgw-12345678"}},"title":"RoutePropagatingVirtualGateway","additionalProperties":false,"description":"Information about the route propagating virtual gateway."},"RouteTable":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"The ID of the route table.","example":"rtb-12345678"},"linkRouteTables":{"type":"array","items":{"$ref":"#/components/schemas/LinkRouteTable"},"description":"One or more associations between the route table and Subnets."},"routePropagatingVirtualGateways":{"type":"array","items":{"$ref":"#/components/schemas/RoutePropagatingVirtualGateway"},"description":"Information about virtual gateways propagating routes."},"routes":{"type":"array","items":{"$ref":"#/components/schemas/Route"},"description":"One or more routes in the route table."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the route table."},"vpcId":{"type":"string","description":"The ID of the Vpc for the route table.","example":"vpc-12345678"}},"title":"RouteTable","additionalProperties":false,"description":"Information about the route table."},"SecurityGroup":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"The description of the security group.","example":"Security group example"},"id":{"type":"string","description":"The ID of the security group.","example":"sg-12345678"},"inboundRules":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupRule"},"description":"The inbound rules associated with the security group."},"name":{"type":"string","description":"The name of the security group.","example":"security-group-example"},"outboundRules":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupRule"},"description":"The outbound rules associated with the security group."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the security group."},"vpcId":{"type":"string","description":"The ID of the Vpc for the security group.","example":"vpc-12345678"}},"title":"SecurityGroup","additionalProperties":false,"description":"Information about the security group."},"SecurityGroupLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"securityGroupId":{"type":"string","description":"The ID of the security group.","example":"sg-12345678"},"securityGroupName":{"type":"string","description":"The name of the security group.","example":"Security group example"}},"title":"SecurityGroupLight","additionalProperties":false,"description":"Information about the security group."},"SecurityGroupRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fromPortRange":{"type":"integer","description":"The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.","example":22},"ipProtocol":{"type":"string","description":"The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). By default, `-1`. In a Vpc, this can also be an IP protocol number. For more information, see the [IANA.org website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).","example":"tcp"},"ipRanges":{"type":"array","items":{"type":"string"},"description":"One or more IP ranges for the security group rules, in CIDR notation (for example, `10.0.0.0/16`).","example":["10.0.0.0/16"]},"securityGroupsMembers":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupsMember"},"description":"Information about one or more source or destination security groups."},"serviceIds":{"type":"array","items":{"type":"string"},"description":"One or more service IDs to allow traffic from a Vpc to access the corresponding NumSpot services."},"toPortRange":{"type":"integer","description":"The end of the port range for the TCP and UDP protocols, or an ICMP code number.","example":22}},"title":"SecurityGroupRule","additionalProperties":false,"description":"Information about the security group rule."},"SecurityGroupsMember":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"securityGroupId":{"type":"string","description":"The ID of a source or destination security group that you want to link to the security group of the rule.","example":"sg-12345678"},"securityGroupName":{"type":"string","description":"(Public Cloud only) The name of a source or destination security group that you want to link to the security group of the rule.","example":"security-group-example"}},"title":"SecurityGroupsMember","additionalProperties":false,"description":"Information about a source or destination security group."},"Snapshot":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"access":{"$ref":"#/components/schemas/Access"},"creationDate":{"type":"string","format":"date-time","description":"The date and time of creation of the snapshot.","example":"2010-10-01 12:34:56.789000+00:00"},"description":{"type":"string","description":"The description of the snapshot.","example":"Snapshot created from a volume"},"id":{"type":"string","description":"The ID of the snapshot.","example":"snap-12345678"},"progress":{"type":"integer","description":"The progress of the snapshot, as a percentage.","example":0},"state":{"type":"string","description":"The state of the snapshot (`in-queue` \\| `completed` \\| `error`).","example":"completed"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the snapshot."},"volumeId":{"type":"string","description":"The ID of the volume used to create the snapshot.","example":"vol-12345678"},"volumeSize":{"type":"integer","description":"The size of the volume used to create the snapshot, in GB.","example":10}},"title":"Snapshot","additionalProperties":false,"description":"Information about the snapshot."},"StateComment":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"stateCode":{"type":"string","description":"The code of the change of state.","example":"code"},"stateMessage":{"type":"string","description":"A message explaining the change of state.","example":"message"}},"title":"StateComment","additionalProperties":false,"description":"Information about the change of state."},"StopVm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"forceStop":{"type":"boolean","description":"Forces the VM to stop.","example":true}},"title":"StopVm","additionalProperties":false},"Subnet":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which the Subnet is located.","$ref":"#/components/schemas/AvailabilityZoneName"},"availableIpsCount":{"type":"integer","description":"The number of available IPs in the Subnets.","example":16379},"id":{"type":"string","description":"The ID of the Subnet.","example":"subnet-12345678"},"ipRange":{"type":"string","description":"The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).","example":"10.0.0.0/16"},"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.","example":false},"state":{"type":"string","description":"The state of the Subnet (`pending` \\| `available` \\| `deleted`).","example":"available"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the Subnet."},"vpcId":{"type":"string","description":"The ID of the Vpc in which the Subnet is.","example":"vpc-12345678"}},"title":"Subnet","additionalProperties":false,"description":"Information about the Subnet."},"Tag":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","description":"The key of the tag, with a minimum of 1 character.","example":"key1"},"resourceId":{"type":"string","description":"The ID of the resource.","example":"snap-12345678"},"resourceType":{"type":"string","description":"The type of the resource.","example":"snapshot"},"value":{"type":"string","description":"The value of the tag, between 0 and 255 characters.","example":"value1"}},"title":"Tag","additionalProperties":false,"description":"Information about the tag."},"UnlinkInternetGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vpcId":{"type":"string","description":"The ID of the Vpc from which you want to detach the Internet gateway.","example":"vpc-12345678"}},"title":"UnlinkInternetGateway","required":["vpcId"],"additionalProperties":false},"UnlinkLoadBalancerBackendMachines":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"backendIps":{"type":"array","items":{"type":"string"},"description":" One or more public IPs of back-end VMs.","example":["192.0.2.0","198.51.100.0"]},"backendVmIds":{"type":"array","items":{"type":"string"},"description":" One or more IDs of back-end VMs.","example":["i-12345678","i-87654321"]}},"title":"UnlinkLoadBalancerBackendMachines","additionalProperties":false},"UnlinkNic":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkNicId":{"type":"string","description":"The ID of the attachment operation.","example":"eni-attach-12345678"}},"title":"UnlinkNic","required":["linkNicId"],"additionalProperties":false},"UnlinkPrivateIps":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"privateIps":{"type":"array","items":{"type":"string"},"description":"One or more secondary private IPs you want to unassign from the NIC.","example":["10.0.0.6","10.0.0.7"]}},"title":"UnlinkPrivateIps","required":["privateIps"],"additionalProperties":false},"UnlinkPublicIp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkPublicIpId":{"type":"string","description":"The ID representing the association of the public IP with the VM or the NIC. This parameter is required unless you use the `PublicIp` parameter.","example":"eipassoc-12345678"}},"title":"UnlinkPublicIp","additionalProperties":false},"UnlinkRouteTable":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.","example":"rtbassoc-12345678"}},"title":"UnlinkRouteTable","required":["linkRouteTableId"],"additionalProperties":false},"UnlinkVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"forceUnlink":{"type":"boolean","description":"Forces the detachment of the volume in case of previous failure. Important: This action may damage your data or file systems.","example":false}},"title":"UnlinkVolume","additionalProperties":false},"UpdateFlexibleGpu":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"deleteOnVmDeletion":{"type":"boolean","description":"If true, the fGPU is deleted when the VM is terminated.","example":true}},"title":"UpdateFlexibleGpu","additionalProperties":false},"UpdateImage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accessCreation":{"$ref":"#/components/schemas/AccessCreation"}},"title":"UpdateImage","required":["accessCreation"],"additionalProperties":false},"UpdateListenerRule":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"hostPattern":{"type":"string","description":"A host-name pattern for the rule, with a maximum length of 128 characters. This host-name pattern supports maximum three wildcards, and must not contain any special characters except [-.?].","example":"*.example.com"},"pathPattern":{"type":"string","description":"A path pattern for the rule, with a maximum length of 128 characters. This path pattern supports maximum three wildcards, and must not contain any special characters except [_-.$/~\u0026quot;'@:+?].","example":"/docs/*"}},"title":"UpdateListenerRule","additionalProperties":false},"UpdateLoadBalancer":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"healthCheck":{"$ref":"#/components/schemas/HealthCheck"},"loadBalancerPort":{"type":"integer","description":"The port on which the load balancer is listening (between `1` and `65535`, both included). This parameter is required if you want to update the server certificate.","example":80},"policyNames":{"type":"array","items":{"type":"string"},"description":"The name of the policy you want to enable for the listener.","example":["example-browser-policy"]},"publicIp":{"type":"string","description":"(internet-facing only) The public IP you want to associate with the load balancer. The former public IP of the load balancer is then disassociated. If you specify an empty string and the former public IP belonged to you, it is disassociated and replaced by a public IP owned by NumSpot.","example":"192.0.4.0"},"securedCookies":{"type":"boolean","description":"If true, secure cookies are enabled for the load balancer.","example":true},"securityGroups":{"type":"array","items":{"type":"string"},"description":"(Vpc only) One or more IDs of security groups you want to assign to the load balancer. You need to specify the already assigned security groups that you want to keep along with the new ones you are assigning. If the list is empty, the default security group of the Vpc is assigned to the load balancer.","example":["sg-12345678"]}},"title":"UpdateLoadBalancer","additionalProperties":false},"UpdateNic":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"description":{"type":"string","description":"A new description for the NIC.","example":"Example of description"},"linkNic":{"$ref":"#/components/schemas/LinkNicToUpdate"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the NIC.\u003cbr /\u003e\nYou must specify at least one group, even if you use the default security group in the Vpc.","example":["sg-12345678"]}},"title":"UpdateNic","additionalProperties":false},"UpdateRoute":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).","example":"10.0.0.0/24"},"gatewayId":{"type":"string","description":"The ID of an Internet gateway or virtual gateway attached to your Vpc.","example":"vgw-12345678"},"natGatewayId":{"type":"string","description":"The ID of a NAT gateway.","example":"nat-12345678"},"nicId":{"type":"string","description":"The ID of a network interface card (NIC).","example":"eni-12345678"},"vmId":{"type":"string","description":"The ID of a NAT VM in your Vpc.","example":"i-12345678"},"vpcPeeringId":{"type":"string","description":"The ID of a Vpc peering.","example":"pcx-12345678"}},"title":"UpdateRoute","required":["destinationIpRange"],"additionalProperties":false},"UpdateRouteTableRoutePropagation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"enable":{"type":"boolean","description":"If true, a virtual gateway can propagate routes to a specified route table of a Vpc. If false, the propagation is disabled.","example":true},"virtualGatewayId":{"type":"string","description":"The ID of the virtual gateway.","example":"vgw-12345678"}},"title":"UpdateRouteTableRoutePropagation","required":["enable","virtualGatewayId"],"additionalProperties":false},"UpdateSubnet":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mapPublicIpOnLaunch":{"type":"boolean","description":"If true, a public IP is assigned to the network interface cards (NICs) created in the specified Subnet.","example":true}},"title":"UpdateSubnet","required":["mapPublicIpOnLaunch"],"additionalProperties":false},"UpdateVm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"blockDeviceMappings":{"type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingVmUpdate"},"description":"One or more block device mappings of the VM."},"bsuOptimized":{"type":"boolean","description":"This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.","example":true},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.","example":true},"isSourceDestChecked":{"type":"boolean","description":"(Vpc only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Vpc.","example":true},"keypairName":{"type":"string","description":"The name of a keypair you want to associate with the VM.\u003cbr /\u003e\nWhen you replace the keypair of a VM with another one, the metadata of the VM is modified to reflect the new public key, but the replacement is still not effective in the operating system of the VM. To complete the replacement and effectively apply the new keypair, you need to perform other actions inside the VM.","example":"keypair-example"},"nestedVirtualization":{"type":"boolean","description":"(dedicated tenancy only) If true, nested virtualization is enabled. If false, it is disabled.","example":true},"performance":{"type":"string","enum":["medium","high","highest"],"description":"The performance of the VM (`medium` \\| `high` \\|  `highest`).","example":"medium"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of security groups for the VM.","example":["sg-12345678"]},"type":{"type":"string","enum":["ns-eco6-2c1r","ns-eco6-2c2r","ns-eco6-2c4r","ns-eco6-2c8r","ns-eco6-4c16r","ns-eco6-8c32r","ns-eco7-2c1r","ns-eco7-2c2r","ns-eco7-2c4r","ns-eco7-2c8r","ns-eco7-4c16r","ns-eco7-8c32r","ns-gus6-2c8r","ns-gus6-4c16r","ns-gus6-8c32r","ns-gus6-16c64r","ns-gus6-32c128r","ns-gus6-48c192r","ns-gus6-64c256r","ns-gus6-78c384r","ns-gus7-2c8r","ns-gus7-4c16r","ns-gus7-8c32r","ns-gus7-16c64r","ns-gus7-32c128r","ns-gus7-48c192r","ns-gus7-64c256r","ns-gus7-78c384r","ns-mem6-2c16r","ns-mem6-4c32r","ns-mem6-8c64r","ns-mem6-16c128r","ns-mem6-32c256r","ns-mem6-48c384r","ns-mem6-64c512r","ns-mem6-78c1024r","ns-mem7-2c16r","ns-mem7-4c32r","ns-mem7-8c64r","ns-mem7-16c128r","ns-mem7-32c256r","ns-mem7-48c384r","ns-mem7-64c512r","ns-mem7-78c1024r","ns-cus6-2c4r","ns-cus6-4c8r","ns-cus6-8c16r","ns-cus6-16c32r","ns-cus6-32c64r","ns-cus6-48c96r","ns-cus6-64c128r","ns-cus6-78c192r","ns-cus7-2c4r","ns-cus7-4c8r","ns-cus7-8c16r","ns-cus7-16c32r","ns-cus7-32c64r","ns-cus7-48c96r","ns-cus7-64c128r","ns-cus7-78c192r","ns-inf7-126c1024r-8h200g","ns-inf7-32c256r-2h100g","ns-inf7-64c450r-2h100g","ns-inf7-32c256r-2l40g","ns-inf7-16c128r-1l40g"],"description":"A valid type for a Numspot VM"},"userData":{"type":"string","description":"The Base64-encoded MIME user data, limited to 500 kibibytes (KiB)."},"vmInitiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. If set to `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is terminated.","example":"stop"}},"title":"UpdateVm","additionalProperties":false},"UpdateVolume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"iops":{"type":"integer","description":"**Cold volume**: the new number of I/O operations per second (IOPS). This parameter can be specified only if you update an `io1` volume or if you change the type of the volume for an `io1`. This modification is instantaneous. \u003cbr /\u003e\n**Hot volume**: the new number of I/O operations per second (IOPS). This parameter can be specified only if you update an `io1` volume. This modification is not instantaneous. \u003cbr /\u003e\u003cbr /\u003e\n The maximum number of IOPS allowed for `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per GB.","example":200},"size":{"type":"integer","description":"**Cold volume**: the new size of the volume, in GB. This value must be equal to or greater than the current size of the volume. This modification is not instantaneous. \u003cbr /\u003e\n**Hot volume**: you cannot change the size of a hot volume.","example":50},"volumeType":{"type":"string","description":"**Cold volume**: the new type of the volume (`standard` \\ | `io1` \\| `gp2`). This modification is instantaneous. If you update to an `io1` volume, you must also specify the `Iops` parameter.\u003cbr /\u003e\n **Hot volume**: you cannot change the type of a hot volume.","example":"io1"}},"title":"UpdateVolume","additionalProperties":false},"UpdateVpc":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or `default` if you want to associate the default one).","example":"dopt-12345678"}},"title":"UpdateVpc","required":["dhcpOptionsSetId"],"additionalProperties":false},"UpdateServerCertificate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"newName":{"type":"string","description":"A new name for the server certificate.","example":"new-name"},"newPath":{"type":"string","description":"A new path for the server certificate.","example":"/example/"}},"title":"UpdateServerCertificate","additionalProperties":false},"Vm":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"architecture":{"type":"string","description":"The architecture of the VM (`i386` \\| `x86_64`).","example":"i386"},"blockDeviceMappings":{"type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingCreated"},"description":"The block device mapping of the VM."},"bsuOptimized":{"type":"boolean","description":"This parameter is not available. It is present in our API for the sake of historical compatibility with AWS.","example":true},"clientToken":{"type":"string","description":"The idempotency token provided when launching the VM.","example":"string"},"creationDate":{"type":"string","format":"date-time","description":"The date and time of creation of the VM.","example":"2010-10-01 12:34:56.789000+00:00"},"deletionProtection":{"type":"boolean","description":"If true, you cannot delete the VM unless you change this parameter back to false.","example":true},"hypervisor":{"type":"string","description":"The hypervisor type of the VMs (`ovm` \\| `xen`).","example":"ovm"},"id":{"type":"string","description":"The ID of the VM.","example":"i-12345678"},"imageId":{"type":"string","description":"The ID of the Image used to create the VM.","example":"ami-12345678"},"initiatedShutdownBehavior":{"type":"string","description":"The VM behavior when you stop it. If set to `stop`, the VM stops. If set to `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops and is deleted.","example":"stop"},"isSourceDestChecked":{"type":"boolean","description":"(Vpc only) If true, the source/destination check is enabled. If false, it is disabled. This value must be false for a NAT VM to perform network address translation (NAT) in a Vpc.","example":true},"keypairName":{"type":"string","description":"The name of the keypair used when launching the VM.","example":"keypair-name"},"launchNumber":{"type":"integer","description":"The number for the VM when launching a group of several VMs (for example, `0`, `1`, `2`, and so on).","example":0},"nestedVirtualization":{"type":"boolean","description":"If true, nested virtualization is enabled. If false, it is disabled.","example":false},"nics":{"type":"array","items":{"$ref":"#/components/schemas/NicLight"},"description":"(Vpc only) The network interface cards (NICs) the VMs are attached to."},"osFamily":{"type":"string","description":"Indicates the operating system (OS) of the VM.","example":"operating system"},"performance":{"type":"string","description":"The performance of the VM (`medium` \\| `high` \\|  `highest`).","example":"medium"},"placement":{"$ref":"#/components/schemas/Placement"},"privateDnsName":{"type":"string","description":"The name of the private DNS.","example":"ip-10-0-0-4.eu-west-2.compute.internal"},"privateIp":{"type":"string","description":"The primary private IP of the VM.","example":"10.0.0.4"},"productCodes":{"type":"array","items":{"type":"string"},"description":"The product codes associated with the Image used to create the VM.","example":["0001"]},"publicDnsName":{"type":"string","description":"The name of the public DNS.","example":"ip-192-0-2-0.eu-west-2.xxxxx.xxxxxxx"},"publicIp":{"type":"string","description":"The public IP of the VM.","example":"192.0.4.0"},"reservationId":{"type":"string","description":"The reservation ID of the VM."},"rootDeviceName":{"type":"string","description":"The name of the root device for the VM (for example, `/dev/sda1`).","example":"/dev/sda1"},"rootDeviceType":{"type":"string","description":"The type of root device used by the VM (always `bsu`).","example":"bsu"},"securityGroups":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroupLight"},"description":"One or more security groups associated with the VM."},"state":{"type":"string","description":"The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).","example":"pending"},"stateReason":{"type":"string","description":"The reason explaining the current state of the VM.","example":"state reason"},"subnetId":{"type":"string","description":"The ID of the Subnet for the VM.","example":"subnet-12345678"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the VM."},"type":{"type":"string","description":"The type of VM.","example":"ns-cus6-2c4r"},"userData":{"type":"string","description":"The Base64-encoded MIME user data.","example":"dXNlciBkYXRh"},"vpcId":{"type":"string","description":"The ID of the Vpc in which the VM is running.","example":"vpc-12345678"}},"title":"Vm","additionalProperties":false,"description":"Information about the VM."},"VmState":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"currentState":{"type":"string","description":"The current state of the VM (`InService` \\| `OutOfService` \\| `Unknown`).","example":"InService"},"id":{"type":"string","description":"The ID of the VM.","example":"i-12345678"},"previousState":{"type":"string","description":"The previous state of the VM (`InService` \\| `OutOfService` \\| `Unknown`).","example":"Unknown"}},"title":"VmState","additionalProperties":false,"description":"Information about the state of the VM."},"VmStates":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ of the VM.","$ref":"#/components/schemas/AvailabilityZoneName"},"id":{"type":"string","description":"The ID of the VM.","example":"i-12345678"},"maintenanceEvents":{"type":"array","items":{"$ref":"#/components/schemas/MaintenanceEvent"},"description":"One or more scheduled events associated with the VM."},"vmState":{"type":"string","description":"The state of the VM (`pending` \\| `running` \\| `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).","example":"pending"}},"title":"VmStates","additionalProperties":false,"description":"Information about the states of the VMs."},"Volume":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"availabilityZoneName":{"description":"The name of the AZ in which the volume was created.","$ref":"#/components/schemas/AvailabilityZoneName"},"creationDate":{"type":"string","format":"date-time","description":"The date and time of creation of the volume.","example":"2010-10-01 12:34:56.789000+00:00"},"id":{"type":"string","description":"The ID of the volume.","example":"vol-12345678"},"iops":{"type":"integer","description":"The number of I/O operations per second (IOPS):\u003cbr /\u003e\n- For `io1` volumes, the number of provisioned IOPS\u003cbr /\u003e\n- For `gp2` volumes, the baseline performance of the volume","example":100},"linkedVolumes":{"type":"array","items":{"$ref":"#/components/schemas/LinkedVolume"},"description":"Information about your volume attachment."},"size":{"type":"integer","description":"The size of the volume, in GB.","example":10},"snapshotId":{"type":"string","description":"The snapshot from which the volume was created.","example":"snap-12345678"},"state":{"type":"string","description":"The state of the volume (`creating` \\| `available` \\| `in-use` \\| `updating` \\| `deleting` \\| `error`).","example":"creating"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the volume."},"type":{"type":"string","description":"The type of the volume (`standard` \\| `gp2` \\| `io1`).","example":"io1"}},"title":"Volume","additionalProperties":false,"description":"Information about the volume."},"Vpc":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dhcpOptionsSetId":{"type":"string","description":"The ID of the DHCP options set (or `default` if you want to associate the default one).","example":"dopt-12345678"},"id":{"type":"string","description":"The ID of the Vpc.","example":"vpc-12345678"},"ipRange":{"type":"string","description":"The IP range for the Vpc, in CIDR notation (for example, `10.0.0.0/16`).","example":"10.0.0.0/16"},"state":{"type":"string","description":"The state of the Vpc (`pending` \\| `available` \\| `deleting`).","example":"pending"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"description":"One or more tags associated with the Vpc."},"tenancy":{"type":"string","description":"The VM tenancy in a Vpc.","example":"deafult"}},"title":"Vpc","additionalProperties":false,"description":"Information about the Vpc."},"ServerCertificate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"expirationDate":{"type":"string","description":"The date on which the server certificate expires.","example":"2019-08-24"},"id":{"type":"string","description":"The ID of the server certificate.","example":"orn:ows:idauth::012345678910:server-certificate/example/server-cert-example"},"name":{"type":"string","description":"The name of the server certificate.","example":"server-cert-example"},"path":{"type":"string","description":"The path to the server certificate.","example":"/example/"},"uploadDate":{"type":"string","description":"The date on which the server certificate has been uploaded.","example":"2019-08-24"}},"title":"ServerCertificate","additionalProperties":false,"description":"Information about the Server Certificates."},"OsuApiKey":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"apiKeyId":{"type":"string","maxLength":128,"pattern":"^[ -~]+$","description":"The API key of the NumSpot object storage account that enables you to access the bucket."},"secretKey":{"type":"string","maxLength":128,"pattern":"^[ -~]+$","description":"The secret key of the NumSpot Object Storage account that enables you to access the bucket."}},"title":"OsuApiKey","additionalProperties":false,"description":"Information about the NumSpot Object storage API key."},"OsuExportToCreate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"diskImageFormat":{"type":"string","enum":["qcow2","raw"],"description":"The format of the export disk (`qcow2`, `raw`)."},"osuApiKey":{"description":"Information about the NumSpot Object Storage API key.","$ref":"#/components/schemas/OsuApiKey"},"osuBucket":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The name of the NumSpot Object storage bucket where you want to export the object."},"osuManifestUrl":{"type":"string","maxLength":128,"format":"url","description":"The URL of the manifest file."},"osuPrefix":{"type":"string","maxLength":800,"minLength":3,"pattern":"^\\/[a-zA-Z0-9._\\-_\\.\\*'\\(\\)!\\/]{2,800}\\/$","description":"The prefix for the key of the NumSpot Object Storage object.","example":"/prefix/"}},"title":"OsuExportToCreate","required":["diskImageFormat","osuBucket"],"additionalProperties":false,"description":"Information about the OOS export task to create."},"CreateImageExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"imageId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the Image to export."},"osuExport":{"description":"Information about the NumSpot Object Storage export task to create.","$ref":"#/components/schemas/OsuExportToCreate"}},"title":"CreateImageExportTask","required":["osuExport","imageId"],"additionalProperties":false,"description":"The info for a creation Export Task for Image."},"OsuExportImageExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"diskImageFormat":{"type":"string","enum":["qcow2","raw"],"description":"The format of the export disk (`qcow2` or `raw`)."},"osuBucket":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The name of the NumSpot Object Storage bucket the Image is exported to."},"osuManifestUrl":{"type":"string","maxLength":128,"format":"url","description":"The Url of the manifest file."},"osuPrefix":{"type":"string","maxLength":800,"minLength":3,"pattern":"^\\/[a-zA-Z0-9._\\-_\\.\\*'\\(\\)!\\/]{2,800}\\/$","description":"The prefix for the key of the NumSpot Object Storage object corresponding to the image.","example":"/prefix/"}},"title":"OsuExportImageExportTask","required":["diskImageFormat","osuBucket"],"additionalProperties":false,"description":"Information about the Image export task."},"OsuExportSnapshotExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"diskImageFormat":{"type":"string","enum":["qcow2","raw"],"description":"The format of the export disk (`qcow2` or `raw`)."},"osuBucket":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The name of the NumSpot Object Storage bucket the Image is exported to."},"osuPrefix":{"type":"string","maxLength":800,"minLength":3,"pattern":"^\\/[a-zA-Z0-9._\\-_\\.\\*'\\(\\)!\\/]{2,800}\\/$","description":"The prefix for the key of the NumSpot Object Storage object corresponding to the image.","example":"/prefix/"}},"title":"OsuExportSnapshotExportTask","required":["diskImageFormat","osuBucket"],"additionalProperties":false,"description":"Information about the Snapshot export task."},"ImageExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"comment":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"If the image export task fails, an error message appears."},"imageId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the Image to be exported."},"osuExport":{"description":"Information about the image export task.","$ref":"#/components/schemas/OsuExportImageExportTask"},"progress":{"type":"integer","maximum":100,"minimum":0,"description":"The progress of the Image Export Task, as a percentage."},"state":{"type":"string","enum":["pending/queued","pending","completed","failed","cancelled"],"description":"The state of the Image Export task (`pending/queued` \\| `pending` \\| `completed` \\| `failed` \\| `cancelled`)."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"maxItems":32,"description":"One or more tags associated with the image export task."},"taskId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the Image export task."}},"title":"ImageExportTask","additionalProperties":false,"description":"The Export task for Image."},"ReadImageExportTasks":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ImageExportTask"},"description":"Information about one or more image export tasks."}},"title":"ReadImageExportTasksResponse","additionalProperties":false,"description":"The info about an Export Tasks for Images."},"ReadSnapshotExportTasks":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SnapshotExportTask"},"maxItems":32,"description":"Information about one or more Snapshot Export Tasks."}},"title":"ReadSnapshotExportTasks","additionalProperties":false,"description":"The info about an Export Tasks for Snapshots."},"SnapshotExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"comment":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"If the snapshot export task fails, an error message appears."},"snapshotId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the snapshot to be exported.","example":"snap-1a3b5c78"},"osuExport":{"description":"Information about the image export task.","$ref":"#/components/schemas/OsuExportSnapshotExportTask"},"progress":{"type":"integer","maximum":100,"minimum":0,"description":"The progress of the snapshot export task, as a percentage.","example":10},"state":{"type":"string","enum":["pending","active","completed","cancelled","failed"],"description":"The state of the snapshot export task (pending | active | completed | cancelled | failed).","example":"active"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ResourceTag"},"maxItems":32,"description":"One or more tags assigned to the snapshot export task."},"taskId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the snapshot export task.","example":"snap-export-1a3b5c78"}},"title":"SnapshotExportTask","additionalProperties":false,"description":"The Export Tasks for Snapshot."},"CreateSnapshotExportTask":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"snapshotId":{"type":"string","maxLength":64,"pattern":"^[ -~]+$","description":"The ID of the snapshot to export."},"osuExport":{"description":"Information about the NumSpot Object Storage export task to create.","$ref":"#/components/schemas/OsuExportToCreate"}},"title":"CreateSnapshotExportTask","required":["osuExport","snapshotId"],"additionalProperties":false,"description":"The info for a creation Export Task for Snapshot."},"Bridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid"},"left":{"type":"object","properties":{"id":{"type":"string","pattern":"^(vpc-[a-z0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"vpcId or managedServiceId"},"type":{"type":"string","enum":["compute","managedservice"]}},"required":["id","type"]},"right":{"type":"object","properties":{"id":{"type":"string","pattern":"^(vpc-[a-z0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"vpcId or managedServiceId"},"type":{"type":"string","enum":["compute","managedservice"]}},"required":["id","type"]},"routes":{"type":"array","items":{"type":"object","properties":{"gatewayId":{"type":"string"},"ipRange":{"type":"string","pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}/[0-9]{1,2}$"}},"required":["gatewayId","ipRange"]}}},"title":"Bridge","required":["left","right","id"],"description":"Schema of a bridge"},"Bridges":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Bridge"}}},"title":"Bridges","required":["items"],"description":"List of bridges."},"CreateBridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"left":{"type":"object","properties":{"id":{"type":"string","pattern":"^(vpc-[a-z0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"vpcId or managedServiceId"},"type":{"type":"string","enum":["compute","managedservice"]}},"required":["id","type"]},"right":{"type":"object","properties":{"id":{"type":"string","pattern":"^(vpc-[a-z0-9]+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$","description":"vpcId or managedServiceId"},"type":{"type":"string","enum":["compute","managedservice"]}},"required":["id","type"]}},"title":"CreateBridge","required":["left","right"],"description":"Schema of a bridge creation"},"HttpDate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["Fri, 21 Mar 2025 00:00:00 GMT","Mon, 01 Jan 2024 12:34:56 GMT"],"title":"HttpDate","pattern":"^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} GMT$","description":"A timestamp formatted according to RFC 7231"},"RateLimit":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"type":"integer","examples":[100],"description":"Maximum allowed quota."},"remaining":{"type":"integer","examples":[0],"minimum":0,"description":"Remaining quota before this request."},"reset":{"type":"string","examples":["2025-03-21T00:00:00Z"],"format":"date-time","description":"Timestamp when the quota resets."}},"title":"RateLimit","additionalProperties":false,"description":"RateLimit communicates quota policies. It contains a `limit` to convey the expiring limit, `remaining` to convey the remaining quota units, and `reset` to convey the time window reset time. It corresponds to the rate-limit headers defined in https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers."},"Quota":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"resourceId":{"type":"string","examples":["01957f50-2730-71f5-9ea9-d8fc3575443a"],"format":"uuid","description":"Identifier of the resource affected by the quota exhaustion."},"resourceType":{"type":"string","examples":["vm","storage"],"description":"What type of resource is affected."},"origin":{"description":"From where the quota exhaustion originates (e.g., a specific cloud service).","$ref":"#/components/schemas/CloudServiceName","examples":["compute"]},"rateLimit":{"$ref":"#/components/schemas/RateLimit"},"recommendedAction":{"type":"string","examples":["Please contact support"],"description":"Recommended action for the client to resolve the quota issue."}},"title":"Quota","required":["resourceId","resourceType","rateLimit"],"additionalProperties":false,"description":"Represents a specific quota exhaustion event affecting a resource. This includes details on the affected resource, the type of quota exceeded, and recommendations for resolution. The object provides structured information about rate limits, origin, and potential actions for the client to take."},"TooManyRequestsError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"type":{"type":"string","enum":["urn:numspot:errors#too_many_requests"],"description":"URN that identifies this as a Too many Request."}},"required":["type"],"additionalProperties":false,"description":"Too many Request Type"},{"type":"object","properties":{"quota":{"type":"array","items":{"$ref":"#/components/schemas/Quota"},"minItems":1,"description":"Array of quota exhaustion details, listing each resource type that prevents the operation. Multiple quota types may apply simultaneously."}},"additionalProperties":false}],"title":"TooManyRequestsError","additionalProperties":false,"description":"For HTTP 429 Too Many Requests errors, detailing quota exhaustion. Implements https://datatracker.ietf.org/doc/html/rfc9457"},"ComputeBridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid"},"source":{"type":"string","examples":["compute"]},"destination":{"type":"string","examples":["compute"]},"sourceId":{"type":"string","examples":["vpc-12345678"]},"destinationId":{"type":"string","examples":["vpc-87654321"]},"gatewayId":{"type":"string","examples":["pcx-12345678"]},"sourceIpRange":{"$ref":"#/components/schemas/Cidr"},"destinationIpRange":{"$ref":"#/components/schemas/Cidr"}},"title":"ComputeBridge","required":["id","source","destination","sourceId","destinationId","gatewayId","sourceIpRange","destinationIpRange"],"description":"The bridge object representation between two compute VPCs."},"ComputeBridges":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ComputeBridge"}}},"title":"ComputeBridges","required":["items"],"description":"List of compute bridges."},"CreateComputeBridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sourceVpcId":{"type":"string","examples":["vpc-12345678"],"description":"Source VPC identifier."},"destinationVpcId":{"type":"string","examples":["vpc-87654321"],"description":"Destination VPC identifier."}},"title":"CreateComputeBridge","required":["sourceVpcId","destinationVpcId"],"description":"Schema request to bridge two compute VPCs."},"RouteConnectivity":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"$ref":"#/components/schemas/Cidr"},"gatewayId":{"type":"string","examples":["pcx-12345678"]}},"title":"RouteConnectivity","required":["destinationIpRange","gatewayId"],"description":"The route object representation."},"HybridBridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid"},"source":{"type":"string","examples":["postgresql"]},"destination":{"type":"string","examples":["compute"]},"sourceId":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid"},"destinationId":{"type":"string","examples":["vpc-12345678"]},"route":{"$ref":"#/components/schemas/RouteConnectivity"}},"title":"HybridBridge","required":["id","source","destination","sourceId","destinationId","route"],"description":"The bridge object representation between a managed service and a standalone compute VPC."},"HybridBridges":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/HybridBridge"}}},"title":"HybridBridges","required":["items"],"description":"List of hybrid bridges."},"CreateHybridBridge":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"managedServiceId":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid"},"vpcId":{"type":"string","examples":["vpc-12345678"]}},"title":"CreateHybridBridge","required":["managedServiceId","vpcId"],"description":"Schema request to bridge a managed service and a compute VPC."},"DirectLinkInterface":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vlan":{"type":"integer","description":"The VLAN number associated with the DirectLink interface."},"numspotPrivateIp":{"type":"string","description":"The IP on the NumSpot side of the DirectLink interface."},"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid","description":"The ID of the DirectLink interface."},"bgpAsn":{"type":"integer","description":"The BGP (Border Gateway Protocol) ASN (Autonomous System Number) on the customer's side of the DirectLink interface."},"clientPrivateIp":{"type":"string","description":"The IP on the customer's side of the DirectLink interface."},"virtualGatewayId":{"type":"string","description":"The ID of the target virtual gateway."},"directLinkInterfaceName":{"type":"string","description":"The name of the DirectLink interface."},"directLinkId":{"type":"string","description":"The ID of the DirectLink."},"mtu":{"type":"integer","description":"The maximum transmission unit (MTU) of the DirectLink interface, in bytes (always `1500`)."},"state":{"type":"string","description":"The state of the DirectLink interface (`pending` \\| `available` \\| `deleting` \\| `deleted` \\| `confirming` \\| `rejected` \\| `expired`)."},"interfaceType":{"type":"string","description":"The type of the DirectLink interface (always `private`)."},"location":{"type":"string","description":"The datacenter where the DirectLink interface is located."}},"title":"DirectLinkInterface","required":["vlan","numspotPrivateIp","id","bgpAsn","clientPrivateIp","virtualGatewayId","directLinkInterfaceName","directLinkId","mtu","state","interfaceType","location"],"description":"Information about the DirectLink interfaces."},"DirectLinkInterfaces":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DirectLinkInterface"}}},"title":"DirectLinkInterfaces","required":["items"],"description":"Information about one or more DirectLink interfaces."},"CreateDirectLinkInterface":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"directLinkId":{"type":"string","description":"The ID of the existing DirectLink for which you want to create the DirectLink interface."},"bgpAsn":{"type":"integer","description":"The BGP (Border Gateway Protocol) ASN (Autonomous System Number) on the customer's side of the DirectLink interface. This number must be between `64512` and `65534`."},"bgpKey":{"type":"string","description":"The BGP authentication key."},"clientPrivateIp":{"type":"string","description":"The IP on the customer's side of the DirectLink interface."},"name":{"type":"string","description":"The name of the DirectLink interface."},"numspotPrivateIp":{"type":"string","description":"The IP on the NumSpot side of the DirectLink interface."},"virtualGatewayId":{"type":"string","description":"The ID of the target virtual gateway."},"vlan":{"type":"integer","description":"The VLAN number associated with the DirectLink interface. This number must be unique and be between `2` and `4094`."}},"title":"CreateDirectLinkInterface","required":["bgpAsn","virtualGatewayId","vlan","name","directLinkId"],"description":"Create a Direct Link Interface."},"DirectLink":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bandwidth":{"type":"string","description":"The physical link bandwidth (either 1 Gbps or 10 Gbps)."},"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid","description":"The ID of the DirectLink."},"location":{"type":"string","description":"The datacenter where the DirectLink is located."},"name":{"type":"string","description":"The name of the DirectLink (for example, `dxcon-xxxxxxxx`)."},"regionName":{"type":"string","description":"The Region in which the DirectLink has been created."},"state":{"type":"string","description":"The state of the DirectLink.\u003cbr /\u003e\n* `requested`: The DirectLink is requested but the request has not been validated yet.\u003cbr /\u003e\n* `pending`: The DirectLink request has been validated. It remains in the `pending` state until you establish the physical link.\u003cbr /\u003e\n* `available`: The physical link is established and the connection is ready to use.\u003cbr /\u003e\n * `deleting`: The deletion process is in progress.\u003cbr /\u003e\n* `deleted`: The DirectLink is deleted."}},"title":"DirectLink","required":["bandwidth","id","location","name","regionName","state"],"description":"Information about the DirectLink."},"DirectLinks":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DirectLink"}}},"title":"DirectLinks","required":["items"],"description":"Information about one or more DirectLinks."},"CreateDirectLink":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bandwidth":{"type":"string","description":"The bandwidth of the DirectLink (`1Gbps` \\| `10Gbps`)."},"location":{"type":"string","description":"The code of the requested location for the DirectLink, returned by the [ReadLocations](#readlocations) method."},"name":{"type":"string","description":"The name of the DirectLink."}},"title":"CreateDirectLink","required":["bandwidth","location","name"],"description":"Create a Direct Link."},"Location":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"region":{"type":"string"},"subRegionName":{"type":"string"},"locationCode":{"type":"string"},"locationName":{"type":"string"}},"title":"Locations","required":["region","subRegionName","locationCode","locationName"],"description":"Locations of your availability zones."},"Locations":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Location"}}},"title":"Locations","required":["items"],"description":"Locations of your availability zones."},"ClientGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bgpAsn":{"type":"integer","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet.","example":65000},"connectionType":{"type":"string","description":"The type of communication tunnel used by the client gateway (only `ipsec.1` is supported).","example":"ipsec.1"},"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid","description":"The ID of the client gateway."},"publicIp":{"type":"string","description":"The public IPv4 address of the client gateway (must be a fixed address into a NATed network).","example":"192.0.2.0"},"state":{"type":"string","description":"The state of the client gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).","example":"available"}},"title":"ClientGateway","required":["bgpAsn","connectionType","id","publicIp","state"],"description":"Information about the client gateway."},"ClientGateways":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ClientGateway"}}},"title":"ClientGateways","required":["items"],"description":"Information about one or more ClientGateways."},"CreateClientGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bgpAsn":{"type":"integer","description":"The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the path to your client gateway through the Internet. \u003cbr/\u003e\nThis number must be between `1` and `4294967295`. If you do not have an ASN, you can choose one between 64512 and 65534, or between 4200000000 and 4294967294.","example":65000},"connectionType":{"type":"string","description":"The communication protocol used to establish tunnel with your client gateway (only `ipsec.1` is supported).","example":"ipsec.1"},"publicIp":{"type":"string","description":"The public fixed IPv4 address of your client gateway.","example":"192.0.2.0"}},"title":"CreateClientGateway","required":["bgpAsn","publicIp","connectionType"],"description":"Create a Client Gateway."},"VpcToVirtualGatewayLink":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"state":{"type":"string","description":"The state of the attachment (`attaching` \\| `attached` \\| `detaching` \\| `detached`).","example":"attaching"},"vpcId":{"type":"string","description":"The ID of the Vpc to which the virtual gateway is attached.","example":"vpc-12345678"}},"title":"VpcToVirtualGatewayLink","required":["state","vpcId"],"additionalProperties":false,"description":"Information about the attachment."},"VirtualGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (only `ipsec.1` is supported).","example":"ipsec.1"},"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid","description":"The ID of the virtual gateway."},"state":{"type":"string","description":"The state of the virtual gateway (`pending` \\| `available` \\| `deleting` \\| `deleted`).","example":"pending"},"vpcToVirtualGatewayLinks":{"type":"array","items":{"$ref":"#/components/schemas/VpcToVirtualGatewayLink"},"description":"the Vpc to which the virtual gateway is attached."}},"title":"VirtualGateway","required":["connectionType","id","state","vpcToVirtualGatewayLinks"],"description":"Information about the client gateway."},"VirtualGateways":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VirtualGateway"}}},"title":"VirtualGateways","required":["items"],"description":"Information about one or more VirtualGateways."},"CreateVirtualGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionType":{"type":"string","description":"The type of VPN connection supported by the virtual gateway (only `ipsec.1` is supported).","example":"ipsec.1"}},"title":"CreateVirtualGateway","required":["connectionType"],"description":"Create a Virtual Gateway."},"LinkUnlinkVirtualGateway":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vpcId":{"type":"string","description":"ID of the VPC to Link or Unlink.","example":"vpc-12345678"}},"title":"LinkUnlinkVirtualGateway","required":["vpcId"],"description":"Link or Unlink a Virtual Gateway."},"RouteLight":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","description":"The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).","example":"0.0.0.0/0"},"routeType":{"type":"string","description":"The type of route (always `static`).","example":"static"},"state":{"type":"string","description":"The current state of the static route (`pending` \\| `available` \\| `deleting` \\| `deleted`).","example":"available"}},"title":"RouteLight","required":["destinationIpRange","routeType","state"],"additionalProperties":false,"description":"Information about the route."},"VgwTelemetry":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"acceptedRouteCount":{"type":"integer","description":"The number of routes accepted through BGP (Border Gateway Protocol) route exchanges.","example":0},"lastStateChangeDate":{"type":"string","format":"date-time","description":"The date and time (UTC) of the latest state update.","example":"2017-05-10 12:34:56.789000+00:00"},"outsideIpAddress":{"type":"string","description":"The IP on the NumSpot side of the tunnel.","example":"192.0.2.0"},"state":{"type":"string","description":"The state of the IPSEC tunnel (`UP` \\| `DOWN`).","example":"UP"},"stateDescription":{"type":"string","description":"A description of the current state of the tunnel.","example":"IPSEC IS DOWN"}},"title":"VgwTelemetry","required":["acceptedRouteCount","lastStateChangeDate","outsideIpAddress","state","stateDescription"],"additionalProperties":false,"description":"Information about the current state of a VPN tunnel."},"Phase1Options":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"dpdTimeoutAction":{"type":"string","description":"The action to carry out after a Dead Peer Detection (DPD) timeout occurs.","example":"string"},"dpdTimeoutSeconds":{"type":"integer","description":"The maximum waiting time for a Dead Peer Detection (DPD) response before considering the peer as dead, in seconds.","example":0},"ikeVersions":{"type":"array","items":{"type":"string"},"description":"The Internet Key Exchange (IKE) versions allowed for the VPN tunnel.","example":["string"]},"phase1DhGroupNumbers":{"type":"array","items":{"type":"integer"},"description":"The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel for phase 1.","example":[0]},"phase1EncryptionAlgorithms":{"type":"array","items":{"type":"string"},"description":"The encryption algorithms allowed for the VPN tunnel for phase 1.","example":["string"]},"phase1IntegrityAlgorithms":{"type":"array","items":{"type":"string"},"description":"The integrity algorithms allowed for the VPN tunnel for phase 1.","example":["string"]},"phase1LifetimeSeconds":{"type":"integer","description":"The lifetime for phase 1 of the IKE negotiation process, in seconds.","example":0},"replayWindowSize":{"type":"integer","description":"The number of packets in an IKE replay window.","example":0},"startupAction":{"type":"string","description":"The action to carry out when establishing tunnels for a VPN connection.","example":"string"}},"title":"Phase1Options","additionalProperties":false,"description":"Information about Phase 1 of the Internet Key Exchange (IKE) negotiation. When Phase 1 finishes successfully, peers proceed to Phase 2 negotiations. "},"Phase2Options":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phase2DhGroupNumbers":{"type":"array","items":{"type":"integer"},"description":"The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel for phase 2.","example":[0]},"phase2EncryptionAlgorithms":{"type":"array","items":{"type":"string"},"description":"The encryption algorithms allowed for the VPN tunnel for phase 2.","example":["string"]},"phase2IntegrityAlgorithms":{"type":"array","items":{"type":"string"},"description":"The integrity algorithms allowed for the VPN tunnel for phase 2.","example":["string"]},"phase2LifetimeSeconds":{"type":"integer","description":"The lifetime for phase 2 of the Internet Key Exchange (IKE) negociation process, in seconds.","example":0},"preSharedKey":{"type":"string","description":"The pre-shared key to establish the initial authentication between the client gateway and the virtual gateway. This key can contain any character except line breaks and double quotes (\u0026quot;).","example":"string"}},"title":"Phase2Options","additionalProperties":false,"description":"Information about Phase 2 of the Internet Key Exchange (IKE) negotiation. "},"VpnOptions":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"phase1Options":{"$ref":"#/components/schemas/Phase1Options"},"phase2Options":{"$ref":"#/components/schemas/Phase2Options"},"tunnelInsideIpRange":{"type":"string","description":"The range of inside IPs for the tunnel. This must be a /30 CIDR block from the 169.254.254.0/24 range.","example":"169.254.254.0/26"}},"title":"VpnOptions","additionalProperties":false,"description":"Information about the VPN options."},"VPNConnection":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"clientGatewayId":{"description":"The ID of the client gateway used on the client end of the connection.","$ref":"#/components/schemas/Uuid"},"virtualGatewayId":{"description":"The ID of the virtual gateway used on the NumSpot end of the connection.","$ref":"#/components/schemas/Uuid"},"clientGatewayConfiguration":{"type":"string","description":"Example configuration for the client gateway.","example":"Example of configuration"},"connectionType":{"type":"string","description":"The type of VPN connection (always `ipsec.1`).","example":"ipsec.1"},"id":{"type":"string","examples":["0194f0c4-8452-77d1-aaaf-516a9731ce9e"],"format":"uuid","description":"The ID of the VPN connection."},"routes":{"type":"array","items":{"$ref":"#/components/schemas/RouteLight"},"description":"Information about one or more static routes associated with the VPN connection, if any."},"state":{"type":"string","description":"The state of the VPN connection (`pending` \\| `available` \\| `deleting` \\| `deleted`).","example":"pending"},"staticRoutesOnly":{"type":"boolean","description":"If false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](#createvpnconnectionroute) and [DeleteVpnConnectionRoute](#deletevpnconnectionroute).","example":false},"vgwTelemetries":{"type":"array","items":{"$ref":"#/components/schemas/VgwTelemetry"},"description":"Information about the current state of one or more of the VPN tunnels."},"vpnOptions":{"$ref":"#/components/schemas/VpnOptions"}},"title":"VPNConnection","required":["clientGatewayConfiguration","clientGatewayId","connectionType","id","routes","state","staticRoutesOnly","vgwTelemetries","virtualGatewayId"],"description":"Information about the vpn connection."},"VPNConnections":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VPNConnection"},"maxItems":1000}},"title":"VPNConnections","required":["items"],"description":"Information about one or more VPNConnections."},"CreateVPNConnection":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"clientGatewayId":{"$ref":"#/components/schemas/Uuid"},"virtualGatewayId":{"$ref":"#/components/schemas/Uuid"},"connectionType":{"type":"string","description":"The type of VPN connection (only `ipsec.1` is supported).","example":"ipsec.1"},"staticRoutesOnly":{"type":"boolean","description":"By default or if false, the VPN connection uses dynamic routing with Border Gateway Protocol (BGP). If true, routing is controlled using static routes. For more information about how to create and delete static routes, see [CreateVpnConnectionRoute](#createvpnconnectionroute) and [DeleteVpnConnectionRoute](#deletevpnconnectionroute).","example":true}},"title":"CreateVPNConnection","required":["clientGatewayId","connectionType","virtualGatewayId"],"description":"Create a VPN Connection."},"UpdateVPNConnection":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"vpnOptions":{"$ref":"#/components/schemas/VpnOptions"}},"title":"UpdateVPNConnection","description":"Update a VPN Connection."},"CreateVPNConnectionRoute":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","description":"The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).","example":"10.0.0.0/16"}},"title":"CreateVPNConnectionRoute","required":["destinationIpRange"],"description":"Schema to create a static route for a VPN connection."},"DeleteVPNConnectionRoute":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"destinationIpRange":{"type":"string","pattern":"^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)){3})\\/(?:[0-9]|[1-2][0-9]|3[0-2])$","description":"The network prefix of the route to delete, in CIDR notation (for example, `10.12.0.0/16`).","example":"10.12.0.0/16"}},"title":"DeleteVPNConnectionRoute","required":["destinationIpRange"],"description":"Delete a VPN Connection Route."},"Token":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string"}},"title":"Token","required":["token"]},"SubjectType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"SubjectType","enum":["users","serviceAccounts"]},"ACLList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ACL"},"maxItems":100,"minItems":1}},"title":"ACLList","required":["items"],"description":"List of ACLs."},"ACLListName":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/ACL"},{"type":"object","properties":{"name":{"type":"string","description":"Name of the permission"}},"required":["name"]}],"title":"ACLListName"},"ACLPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ACLListName"}}},"required":["items"]}],"title":"ACLPaginatedList"},"ACL":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"service":{"type":"string","description":"Name of the service making the call"},"resource":{"type":"string","description":"Type of the resource being accessed"},"resourceId":{"type":"string","description":"Unique identifier of a resource"},"permissionId":{"type":"string","format":"uuid","description":"id of the permission"}},"title":"ACL","required":["permissionId","service","resource","resourceId"]},"PermissionsPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RegisteredPermission"}}},"required":["items"]}],"title":"PermissionsPaginatedList"},"RolesPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RegisteredRole"}}},"required":["items"]}],"title":"RolesPaginatedList"},"IAMPolicy":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"roles":{"type":"array","items":{"allOf":[{"type":"string","format":"uuid","description":"role ID"}]},"description":"List of role UUIDs"},"permissions":{"type":"array","items":{"allOf":[{"type":"string","format":"uuid","description":"permission ID"}]},"description":"List of permission UUIDs"}},"title":"IAMPolicy"},"Registered":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Internal ID"},"createdOn":{"type":"string","format":"date-time","description":"creation date"},"updatedOn":{"type":"string","format":"date-time","description":"last update"}},"title":"Registered","required":["uuid","createdOn","updatedOn"]},"Role":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","description":"Human-readable name","example":"Storage Object Admin"},"description":{"type":"string","description":"Human-readable description","example":"Manage the resourcemanager.storage domain"},"tenantType":{"type":"array","items":{"$ref":"#/components/schemas/TenantType"},"description":"Array of tenant's type"}},"title":"Role","required":["name","description","tenantType"],"description":"A role, linked to 1 or more permissions"},"RegisteredRole":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Role"},{"$ref":"#/components/schemas/Registered"},{"type":"object","properties":{"custom":{"type":"boolean","description":"if its a custom role"}},"required":["custom"]}],"title":"RegisteredRole"},"Permission":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","description":"Human-readable name"},"description":{"type":"string","description":"Human-readable description"},"service":{"type":"string","pattern":"^[a-z]+$","description":"Service name","example":"resourcemanager"},"resource":{"type":"string","pattern":"^[a-zA-Z]+$","example":"storage"},"subResource":{"type":"string","pattern":"^[a-zA-Z]+$","example":"buckets"},"action":{"type":"string","pattern":"^[a-zA-Z]+$","description":"Allowed operation type","example":"delete"}},"title":"Permission","required":["name","description","service","action"],"description":"A permission in the \u003cservice\u003e[.\u003cresource\u003e.[\u003csubResource\u003e](0,1)](0,1).\u003caction\u003e form"},"RegisteredPermission":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/Permission"},{"$ref":"#/components/schemas/Registered"}],"title":"RegisteredPermission"},"TenantType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"TenantType","enum":["organisation","space"]},"AccessRights":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"identityUuid":{"type":"string","format":"uuid","description":"Identity UUID"},"identityType":{"type":"string","description":"Type of identity (User, ServiceAccount)"},"domain":{"type":"string","description":"Name of the Domain"},"resourceType":{"type":"string","description":"Name of the ResourceType"},"resourceUuid":{"type":"string","format":"uuid","description":"Resource UUID"},"pathType":{"type":"string","enum":["Role","Permission","ACL"],"description":"Type of access path"},"accessTypeName":{"type":"string","description":"Access information based on pathType"},"accessTypeId":{"type":"string","format":"uuid","description":"Role UUID or Permission UUID"},"action":{"type":"string","description":"Action verb"}},"title":"AccessRights","required":["identityUuid","identityType","domain","resourceType","resourceUuid","pathType","accessTypeName","accessTypeId","action"]},"AccessRightsPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AccessRights"}}},"required":["items"]}],"title":"AccessRightsPaginatedList"},"WebAuthnJavaScript":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"subscription_id":{"$ref":"#/components/schemas/NullUUID"},"updated_at":{"type":"string","format":"date-time"}},"title":"WebAuthnJavaScript","required":["id","name","created_at","updated_at"]},"OidcConfiguration":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"authorization_endpoint":{"type":"string","description":"OAuth 2.0 Authorization Endpoint URL"},"backchannel_logout_session_supported":{"type":"boolean","description":"OpenID Connect Back-Channel Logout Session Required\nBoolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP."},"backchannel_logout_supported":{"type":"boolean","description":"OpenID Connect Back-Channel Logout Supported\nBoolean value specifying whether the OP supports back-channel logout, with true indicating support."},"claims_parameter_supported":{"type":"boolean","description":"OpenID Connect Claims Parameter Parameter Supported\nBoolean value specifying whether the OP supports use of the claims parameter, with true indicating support."},"claims_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Supported Claims\nJSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list."},"code_challenge_methods_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 PKCE Supported Code Challenge Methods\nJSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server."},"credentials_endpoint_draft_00":{"type":"string","description":"OpenID Connect Verifiable Credentials Endpoint\n\nContains the URL of the Verifiable Credentials Endpoint."},"credentials_supported_draft_00":{"type":"array","items":{"$ref":"#/components/schemas/CredentialSupportedDraft00"},"description":"OpenID Connect Verifiable Credentials Supported\nJSON array containing a list of the Verifiable Credentials supported by this authorization server."},"end_session_endpoint":{"type":"string","description":"OpenID Connect End-Session Endpoint\nAn URL provided by the OpenID Provider (OP) that a Relying Party (RP) can redirect to, to initiate a logout process for the End-User at the OP. This is part of the OpenID Connect session management functionality,  allowing for single sign-out across applications."},"frontchannel_logout_session_supported":{"type":"boolean","description":"OpenID Connect Front-Channel Logout Session Required\nThe boolean indicates if the OpenID Provider (OP) can use issuer (iss) and session ID (sid) parameters to identify the Relying Party (RP) session during logout via the  frontchannel_logout_uri. If this is supported, the sid claim is also included in ID Tokens issued by the OP."},"frontchannel_logout_supported":{"type":"boolean","description":"OpenID Connect Front-Channel Logout Supported\nBoolean value specifying whether the OP supports HTTP-based logout, with true indicating support."},"grant_types_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 Supported Grant Types\nJSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports."},"id_token_signed_response_alg":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Default ID Token Signing Algorithms\n\nAlgorithm used to sign OpenID Connect ID Tokens."},"id_token_signing_alg_values_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Supported ID Token Signing Algorithms\n\nJSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT."},"issuer":{"type":"string","description":"OpenID Connect Issuer URL\nAn URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL Identifier. If IssuerURL discovery is supported, this value MUST be identical to the issuer value returned by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL."},"jwks_uri":{"type":"string","description":"OpenID Connect Well-Known JSON Web Keys URL\nThe jwks_uri is the URL for the OpenID Provider's (OP) JSON Web Key Set (JWK) document, which contains the keys used by the Relying Party (RP) to validate the OP's signatures and, optionally, encrypt requests. Each key must specify its use (signing or encryption) for security purposes. The JWK set may include X.509  representations of keys via the x5c parameter, but the bare key values must still be present and match those in the certificate."},"registration_endpoint":{"type":"string","description":"OpenID Connect Dynamic Client Registration Endpoint URL"},"request_object_signing_alg_values_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Supported Request Object Signing Algorithms\nJSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects, which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when the Request Object is passed by value (using the request parameter) and when it is passed by reference (using the request_uri parameter)."},"request_parameter_supported":{"type":"boolean","description":"OpenID Connect Request Parameter Supported\nBoolean value specifying whether the OP supports use of the request parameter, with true indicating support."},"request_uri_parameter_supported":{"type":"boolean","description":"OpenID Connect Request URI Parameter Supported\nBoolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support."},"require_request_uri_registration":{"type":"boolean","description":"OpenID Connect Requires Request URI Registration\nBoolean value specifying whether the OP requires any request_uri values used to be pre-registered using the request_uris registration parameter."},"response_modes_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 Supported Response Modes\nJSON array containing a list of the OAuth 2.0 response_mode values that this OP supports."},"response_types_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 Supported Response Types\nJSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values."},"revocation_endpoint":{"type":"string","description":"OAuth 2.0 Token Revocation URL\n\nURL of the authorization server's OAuth 2.0 revocation endpoint."},"scopes_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 Supported Scope Values\nJSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used"},"subject_types_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Supported Subject Types\nJSON array containing a list of the Subject Identifier types that this OP supports. Valid types include pairwise and public."},"token_endpoint":{"type":"string","description":"OAuth 2.0 Token Endpoint URL"},"token_endpoint_auth_methods_supported":{"type":"array","items":{"type":"string"},"description":"OAuth 2.0 Supported Client Authentication Methods\n\nJSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0"},"userinfo_endpoint":{"type":"string","description":"OpenID Connect Userinfo URL\n\nURL of the OP's UserInfo Endpoint."},"userinfo_signed_response_alg":{"type":"array","items":{"type":"string"},"description":"OpenID Connect User Userinfo Signing Algorithm\n\nAlgorithm used to sign OpenID Connect Userinfo Responses."},"userinfo_signing_alg_values_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Supported Userinfo Signing Algorithm\nJSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]."}},"title":"OpenID Connect Discovery Metadata","required":["issuer","authorization_endpoint","token_endpoint","jwks_uri","subject_types_supported","response_types_supported","id_token_signing_alg_values_supported","id_token_signed_response_alg","userinfo_signed_response_alg"],"description":"Includes links to several endpoints and exposes information on supported signature algorithms among others."},"CredentialSupportedDraft00":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cryptographic_binding_methods_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Verifiable Credentials Cryptographic Binding Methods Supported\n\nContains a list of cryptographic binding methods supported for signing the proof."},"cryptographic_suites_supported":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Verifiable Credentials Cryptographic Suites Supported\n\nContains a list of cryptographic suites methods supported for signing the proof."},"format":{"type":"string","description":"OpenID Connect Verifiable Credentials Format\n\nContains the format that is supported by this authorization server."},"types":{"type":"array","items":{"type":"string"},"description":"OpenID Connect Verifiable Credentials Types\n\nContains the types of verifiable credentials supported."}},"title":"Verifiable Credentials Metadata (Draft 00)","description":"Includes information about the supported verifiable credentials."},"JsonWebKey":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"alg":{"type":"string","description":"The \"alg\" (algorithm) parameter identifies the algorithm intended for use with the key.  The values used should either be registered in the IANA \"JSON Web Signature and Encryption Algorithms\" registry established by [JWA] or be a value that contains a Collision-Resistant Name.","example":"RS256"},"crv":{"type":"string","example":"P-256"},"d":{"type":"string"},"dp":{"type":"string"},"dq":{"type":"string"},"e":{"type":"string"},"k":{"type":"string"},"kid":{"type":"string","description":"The \"kid\" (key ID) parameter is used to match a specific key. This is used, for instance, to choose among a set of keys within a JWK Set during key rollover.  The structure of the \"kid\" value is unspecified. When \"kid\" values are used within a JWK Set, different keys within the JWK Set SHOULD use distinct \"kid\" values. (One example in which different keys might use the same \"kid\" value is if they have different \"kty\" (key type) values but are considered to be equivalent alternatives by the application using them.)  The \"kid\" value is a case-sensitive string."},"kty":{"type":"string","description":"The \"kty\" parameter in JSON Web Keys (JWK) specifies the cryptographic algorithm family,such as \"RSA\" or \"EC\". It must be a case-sensitive string and is required in a JWK. The value should be registered in the IANA \"JSON Web Key Types\" registry or be a Collision-Resistant Name"},"n":{"type":"string"},"p":{"type":"string"},"q":{"type":"string"},"qi":{"type":"string"},"use":{"type":"string","description":"Use (\"public key use\") identifies the intended use of the public key. The \"use\" parameter is employed to indicate whether a public key is used for encrypting data or verifying the signature on data. Values are commonly \"sig\" (signature) or \"enc\" (encryption).","example":"sig"},"x":{"type":"string"},"x5c":{"type":"array","items":{"type":"string"},"description":"The \"x5c\" parameter in JSON Web Keys (JWK) includes a chain of one or more PKIX certificates, represented as a JSON array of base64-encoded DER certificate values. The first certificate must contain the key value and must match the public key represented by other JWK members. Additional certificates can follow, with each certifying the previous one. This parameter is optional."},"y":{"type":"string"}},"title":"JsonWebKey","required":["use","kty","kid","alg"]},"JsonWebKeySet":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/JsonWebKey"},"description":"List of JSON Web Keys The value of the \"keys\" parameter is an array of JSON Web Key (JWK) values. By default, the order of the JWK values within the array does not imply an order of preference among them, although applications  of JWK Sets can choose to assign a meaning to the order for their  purposes, if desired."}},"title":"Json Web Key Set","description":"JSON Web Key Set"},"TokenReq":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"client_id":{"type":"string","format":"uuid","description":"The client id."},"client_secret":{"type":"string","description":"The client secret."},"grant_type":{"type":"string","description":"The grant type."},"code":{"type":"string","description":"The code authorization."},"redirect_uri":{"type":"string","description":"The URLs redirection"},"refresh_token":{"type":"string","description":"The refresh Token"},"code_verifier":{"type":"string","description":"The code verifier for the PKCE request, that the app originally generated before the authorization request."}},"title":"TokenReq","required":["grant_type"]},"TokenBody":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"token":{"type":"string","description":"The token to provide."}},"title":"TokenBody","required":["token"]},"UserInfo":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"sub":{"type":"string"},"firstname":{"type":"string"},"lastname":{"type":"string"},"email":{"type":"string"}},"title":"UserInfo","required":["sub"]},"TokenResp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"access_token":{"type":"string","description":"The access token."},"refresh_token":{"type":"string","description":"The refresh token."},"expires_in":{"type":"integer","description":"The lifetime in seconds of the access token."},"token_type":{"type":"string","description":"The type of the token issued."},"id_token":{"type":"string","description":"The id token."}},"title":"TokenResp","required":["access_token","expires_in","token_type"]},"ErrorOauth2":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"string","description":"The error type."},"error_description":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."}},"title":"ErrorOauth2","required":["error"]},"IntrospectResp":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"boolean","description":"A boolean value indicating whether the token is active or not."},"scope":{"type":"string","description":"The scope of the token, defining the permissions it grants."},"client_id":{"type":"string","description":"The unique identifier of the client application that requested the token."},"sub":{"type":"string","description":"The subject of the token, typically the user or resource the token is issued for."},"exp":{"type":"integer","description":"The expiration time of the token in seconds since the Unix epoch."},"iat":{"type":"integer","description":"The issued-at time of the token in seconds since the Unix epoch."},"nbf":{"type":"integer","description":"The not-before time of the token in seconds since the Unix epoch, indicating the earliest time the token can be used."},"aud":{"type":"array","items":{"type":"string"},"description":"The intended audience of the token, specifying who the token is intended for."},"iss":{"type":"string","description":"The issuer of the token, identify the authorization server that issued the token."},"token_type":{"type":"string","description":"Indicate the type of the token, such as \"Bearer\"."},"token_use":{"type":"string","description":"Specify the intended use of the token, such as \"access\" or \"refresh\"."}},"title":"IntrospectResp","required":["active"]},"ID":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"integer","title":"ID","format":"int64"},"JSONRawMessage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","title":"JSON Raw Message","description":"JSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger."},"NullTime":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Null Time","format":"date-time"},"NullUUID":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Null UUID","format":"uuid4"},"OAuth2Client":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"access_token_strategy":{"type":"string","description":"OAuth 2.0 Access Token Strategy  AccessTokenStrategy is the strategy used to generate access tokens. Valid options are `jwt` and `opaque`. `jwt` is a bad idea."},"allowed_cors_origins":{"type":"array","items":{"type":"string"}},"audience":{"type":"array","items":{"type":"string"}},"authorization_code_grant_access_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"authorization_code_grant_id_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"authorization_code_grant_refresh_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"backchannel_logout_session_required":{"type":"boolean","description":"OpenID Connect Back-Channel Logout Session Required  Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout Token to identify the RP session with the OP when the backchannel_logout_uri is used. If omitted, the default value is false."},"backchannel_logout_uri":{"type":"string","description":"OpenID Connect Back-Channel Logout URI  RP URL that will cause the RP to log itself out when sent a Logout Token by the OP."},"client_credentials_grant_access_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"client_id":{"type":"string","description":"OAuth 2.0 Client ID  The ID is immutable. If no ID is provided, a UUID4 will be generated."},"client_name":{"type":"string","description":"OAuth 2.0 Client Name  The human-readable name of the client to be presented to the end-user during authorization."},"client_secret":{"type":"string","description":"OAuth 2.0 Client Secret  The secret will be included in the create request as cleartext, and then never again. The secret is kept in hashed format and is not recoverable once lost."},"client_secret_expires_at":{"type":"integer","format":"int64","description":"OAuth 2.0 Client Secret Expires At  The field is currently not supported and its value is always 0."},"client_uri":{"type":"string","description":"OAuth 2.0 Client URI  ClientURI is a URL string of a web page providing information about the client. If present, the server SHOULD display this URL to the end-user in a clickable fashion."},"contacts":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time","description":"OAuth 2.0 Client Creation Date  CreatedAt returns the timestamp of the client's creation."},"frontchannel_logout_session_required":{"type":"boolean","description":"OpenID Connect Front-Channel Logout Session Required  Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be included to identify the RP session with the OP when the frontchannel_logout_uri is used. If omitted, the default value is false."},"frontchannel_logout_uri":{"type":"string","description":"OpenID Connect Front-Channel Logout URI  RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the request and to determine which of the potentially multiple sessions is to be logged out; if either is included, both MUST be."},"grant_types":{"type":"array","items":{"type":"string"}},"implicit_grant_access_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"implicit_grant_id_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"jwks":{"description":"OAuth 2.0 Client JSON Web Key Set  Client's JSON Web Key Set [JWK] document, passed by value. The semantics of the jwks parameter are the same as the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference. This parameter is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter, for instance, by native applications that might not have a location to host the contents of the JWK Set. If a Client can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key rotation (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri and jwks parameters MUST NOT be used together."},"jwks_uri":{"type":"string","description":"OAuth 2.0 Client JSON Web Key Set URL  URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate."},"jwt_bearer_grant_access_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"logo_uri":{"type":"string","description":"OAuth 2.0 Client Logo URI  A URL string referencing the client's logo."},"metadata":{},"owner":{"type":"string","description":"OAuth 2.0 Client Owner  Owner is a string identifying the owner of the OAuth 2.0 Client."},"policy_uri":{"type":"string","description":"OAuth 2.0 Client Policy URI  PolicyURI is a URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data."},"post_logout_redirect_uris":{"type":"array","items":{"type":"string"}},"redirect_uris":{"type":"array","items":{"type":"string"}},"refresh_token_grant_access_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"refresh_token_grant_id_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"refresh_token_grant_refresh_token_lifespan":{"type":"string","description":"Specify a time duration in milliseconds, seconds, minutes, hours."},"registration_access_token":{"type":"string","description":"OpenID Connect Dynamic Client Registration Access Token  RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. It is sent when creating a client using Dynamic Client Registration."},"registration_client_uri":{"type":"string","description":"OpenID Connect Dynamic Client Registration URL  RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client."},"request_object_signing_alg":{"type":"string","description":"OpenID Connect Request Object Signing Algorithm  JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects from this Client MUST be rejected, if not signed with this algorithm."},"request_uris":{"type":"array","items":{"type":"string"}},"response_types":{"type":"array","items":{"type":"string"}},"scope":{"type":"string","description":"OAuth 2.0 Client Scope  Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens."},"sector_identifier_uri":{"type":"string","description":"OpenID Connect Sector Identifier URI  URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a file with a single JSON array of redirect_uri values."},"skip_consent":{"type":"boolean","description":"SkipConsent skips the consent screen for this client. This field can only be set from the admin API."},"skip_logout_consent":{"type":"boolean","description":"SkipLogoutConsent skips the logout consent screen for this client. This field can only be set from the admin API."},"subject_type":{"type":"string","description":"OpenID Connect Subject Type  The `subject_types_supported` Discovery parameter contains a list of the supported subject_type values for this server. Valid types include `pairwise` and `public`."},"token_endpoint_auth_method":{"type":"string","description":"OAuth 2.0 Token Endpoint Authentication Method  Requested Client Authentication method for the Token Endpoint. The options are:  `client_secret_basic`: (default) Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` encoded in the HTTP Authorization header. `client_secret_post`: Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` in the HTTP body. `private_key_jwt`: Use JSON Web Tokens to authenticate the client. `none`: Used for public clients (native apps, mobile apps) which can not have secrets."},"token_endpoint_auth_signing_alg":{"type":"string","description":"OAuth 2.0 Token Endpoint Signing Algorithm  Requested Client Authentication signing algorithm for the Token Endpoint."},"tos_uri":{"type":"string","description":"OAuth 2.0 Client Terms of Service URI  A URL string pointing to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client."},"updated_at":{"type":"string","format":"date-time","description":"OAuth 2.0 Client Last Update Date  UpdatedAt returns the timestamp of the last update."},"userinfo_signed_response_alg":{"type":"string","description":"OpenID Connect Request Userinfo Signed Response Algorithm  JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims as a UTF-8 encoded JSON object using the application/json content-type."}},"title":"OAuth2 Client","description":"OAuth2Client OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities."},"OAuth2ConsentRequestOpenIDConnectContext":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"acr_values":{"type":"array","items":{"type":"string"},"description":"ACRValues is the Authentication AuthorizationContext Class Reference requested in the OAuth 2.0 Authorization request. It is a parameter defined by OpenID Connect and expresses which level of authentication (e.g. 2FA) is required.  OpenID Connect defines it as follows: \u003e Requested Authentication AuthorizationContext Class Reference values. Space-separated string that specifies the acr values that the Authorization Server is being requested to use for processing this Authentication Request, with the values appearing in order of preference. The Authentication AuthorizationContext Class satisfied by the authentication performed is returned as the acr Claim Value, as specified in Section 2. The acr Claim is requested as a Voluntary Claim by this parameter."},"display":{"type":"string","description":"Display is a string value that specifies how the Authorization Server displays the authentication and consent user interface pages to the End-User. The defined values are: page: The Authorization Server SHOULD display the authentication and consent UI consistent with a full User Agent page view. If the display parameter is not specified, this is the default display mode. popup: The Authorization Server SHOULD display the authentication and consent UI consistent with a popup User Agent window. The popup User Agent window should be of an appropriate size for a login-focused dialog and should not obscure the entire window that it is popping up over. touch: The Authorization Server SHOULD display the authentication and consent UI consistent with a device that leverages a touch interface. wap: The Authorization Server SHOULD display the authentication and consent UI consistent with a \\\"feature phone\\\" type display.  The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an appropriate display."},"id_token_hint_claims":{"type":"object","additionalProperties":{},"description":"IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a hint about the End-User's current or past authenticated session with the Client."},"login_hint":{"type":"string","description":"LoginHint hints about the login identifier the End-User might use to log in (if necessary). This hint can be used by an RP if it first asks the End-User for their e-mail address (or other identifier) and then wants to pass that value as a hint to the discovered authorization service. This value MAY also be a phone number in the format specified for the phone_number Claim. The use of this parameter is optional."},"ui_locales":{"type":"array","items":{"type":"string"},"description":"UILocales is the End-User'id preferred languages and scripts for the user interface, represented as a space-separated list of BCP47 [RFC5646] language tag values, ordered by preference. For instance, the value \\\"fr-CA fr en\\\" represents a preference for French as spoken in Canada, then French (without a region designation), followed by English (without a region designation). An error SHOULD NOT result if some or all of the requested locales are not supported by the OpenID Provider."}},"title":"OAuth2 Consent Request OpenIDConnect Context","description":"OAuth2ConsentRequestOpenIDConnectContext struct"},"OAuth2LoginRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"challenge":{"type":"string","description":"ID is the identifier (\\\"login challenge\\\") of the login request. It is used to identify the session."},"client":{"$ref":"#/components/schemas/OAuth2Client"},"oidc_context":{"$ref":"#/components/schemas/OAuth2ConsentRequestOpenIDConnectContext"},"request_url":{"type":"string","description":"RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters."},"requested_access_token_audience":{"type":"array","items":{"type":"string"}},"requested_scope":{"type":"array","items":{"type":"string"}},"session_id":{"type":"string","description":"SessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \\\"sid\\\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user."},"skip":{"type":"boolean","description":"Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you can skip asking the user to grant the requested scopes, and simply forward the user to the redirect URL.  This feature allows you to update / set session information."},"subject":{"type":"string","description":"Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type when accepting the login request, or the request will fail."}},"title":"OAuth2 Login Request","description":"OAuth2LoginRequest struct for OAuth2LoginRequest"},"RecoveryAddressType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Recovery Address Type","description":"RecoveryAddressType must not exceed 16 characters as that is the limitation in the SQL Schema."},"AuthenticatorAssuranceLevel":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Authenticator Assurance Level (AAL)","enum":["aal0","aal1","aal2","aal3"],"description":"The authenticator assurance level can be one of \"aal1\", \"aal2\", or \"aal3\". A higher number means that it is harder\nfor an attacker to compromise the account.\nGenerally, \"aal1\" implies that one authentication factor was used while AAL2 implies that two factors (password + TOTP) have been used."},"ContinueWith":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/components/schemas/ContinueWithVerificationUi"},{"$ref":"#/components/schemas/ContinueWithSetSessionToken"},{"$ref":"#/components/schemas/ContinueWithSettingsUi"},{"$ref":"#/components/schemas/ContinueWithRecoveryUi"}],"discriminator":{"propertyName":"action","mapping":{"set_session_token":"#/components/schemas/ContinueWithSetSessionToken","show_recovery_ui":"#/components/schemas/ContinueWithRecoveryUi","show_settings_ui":"#/components/schemas/ContinueWithSettingsUi","show_verification_ui":"#/components/schemas/ContinueWithVerificationUi"}},"title":"Continue With"},"ContinueWithRecoveryUi":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","enum":["show_recovery_ui"],"description":"Action will always be `show_recovery_ui`\nshow_recovery_ui ContinueWithActionShowRecoveryUIString"},"flow":{"$ref":"#/components/schemas/ContinueWithRecoveryUiFlow"}},"title":"Continue With Recovery Ui","required":["action","flow"],"description":"Indicates, that the UI flow could be continued by showing a recovery ui"},"ContinueWithRecoveryUiFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the recovery flow"},"url":{"type":"string","description":"The URL of the recovery flow"}},"title":"Continue With Recovery Ui Flow","required":["id"]},"ContinueWithSetSessionToken":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","enum":["set_session_token"],"description":"Action will always be `set_session_token`\nset_session_token ContinueWithActionSetSessionTokenString"},"session_token":{"type":"string","description":"Token is the token of the session"}},"title":"Continue With Set Session Token","required":["action","session_token"],"description":"Indicates that a session was issued, and the application should use this token for authenticated requests"},"ContinueWithSettingsUi":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","enum":["show_settings_ui"],"description":"Action will always be `show_settings_ui`\nshow_settings_ui ContinueWithActionShowSettingsUIString"},"flow":{"$ref":"#/components/schemas/ContinueWithSettingsUiFlow"}},"title":"Continue With Settings Ui","required":["action","flow"],"description":"Indicates, that the UI flow could be continued by showing a settings ui"},"ContinueWithSettingsUiFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the settings flow"}},"title":"Continue With Settings Ui Flow","required":["id"]},"ContinueWithVerificationUi":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","enum":["show_verification_ui"],"description":"Action will always be `show_verification_ui`\nshow_verification_ui ContinueWithActionShowVerificationUIString"},"flow":{"$ref":"#/components/schemas/ContinueWithVerificationUiFlow"}},"title":"Continue With Verification Ui","required":["action","flow"],"description":"Indicates, that the UI flow could be continued by showing a verification ui"},"ContinueWithVerificationUiFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The ID of the verification flow"},"url":{"type":"string","description":"The URL of the verification flow"},"verifiable_address":{"type":"string","description":"The address that should be verified in this flow"}},"title":"Continue With Verification Ui Flow","required":["id","verifiable_address"]},"ErrorBrowserLocationChangeRequired":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"$ref":"#/components/schemas/ErrorGeneric"},"redirect_browser_to":{"type":"string","description":"Points to where to redirect the user to next."}},"title":"Is sent when a flow requires a browser to change its location."},"ErrorGeneric":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"$ref":"#/components/schemas/GenericError"}},"title":"JSON API Error Response","required":["error"],"description":"The standard  JSON API error format."},"FlowError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"created_at":{"type":"string","format":"date-time","description":"CreatedAt is a helper struct field for gobuffalo.pop."},"error":{"type":"object"},"id":{"type":"string","format":"uuid","description":"ID of the error container."},"updated_at":{"type":"string","format":"date-time","description":"UpdatedAt is a helper struct field for gobuffalo.pop."}},"title":"Flow Error","required":["id"]},"GenericError":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"integer","format":"int64","description":"The status code","example":404},"debug":{"type":"string","description":"Debug information\n\nThis field is often not exposed to protect against leaking\nsensitive information.","example":"SQL field \"foo\" is not a bool."},"details":{"type":"object","additionalProperties":false,"description":"Further error details"},"id":{"type":"string","description":"The error ID\n\nUseful when trying to identify various errors in application logic."},"message":{"type":"string","description":"Error message\n\nThe error's message.","example":"The resource could not be found"},"reason":{"type":"string","description":"A human-readable reason for the error","example":"User with ID 1234 does not exist."},"request":{"type":"string","description":"The request ID\n\nThe request ID is often exposed internally in order to trace\nerrors across service architectures. This is often a UUID.","example":"d7ef54b1-ec15-46e6-bccb-524b82c035e6"},"status":{"type":"string","description":"The status description","example":"Not Found"}},"title":"JSON API Error Response","required":["message"]},"Identity":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"created_at":{"type":"string","format":"date-time","description":"CreatedAt is a helper struct field for gobuffalo.pop."},"credentials":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/IdentityCredentials"},"description":"Credentials represents all credentials that can be used for authenticating this identity."},"id":{"type":"string","format":"uuid","description":"ID is the identity's unique identifier.\nThe Identity ID can not be changed and can not be chosen. This ensures future\ncompatibility and optimization for distributed stores such as CockroachDB."},"metadata_admin":{"$ref":"#/components/schemas/NullJsonRawMessage"},"metadata_public":{"$ref":"#/components/schemas/NullJsonRawMessage"},"organization_id":{"$ref":"#/components/schemas/NullUUID"},"recovery_addresses":{"type":"array","items":{"$ref":"#/components/schemas/RecoveryIdentityAddress"},"description":"RecoveryAddresses contains all the addresses that can be used to recover an identity."},"schema_id":{"type":"string","description":"SchemaID is the ID of the JSON Schema to be used for validating the identity's traits."},"schema_url":{"type":"string","description":"SchemaURL is the URL of the endpoint where the identity's traits schema can be fetched from."},"state":{"type":"string","enum":["active","inactive"],"description":"State is the identity's state.\n\nThis value has currently no effect.\nactive StateActive\ninactive StateInactive"},"state_changed_at":{"$ref":"#/components/schemas/NullTime"},"traits":{"$ref":"#/components/schemas/IdentityTraits"},"updated_at":{"type":"string","format":"date-time","description":"UpdatedAt is a helper struct field for gobuffalo.pop."},"verifiable_addresses":{"type":"array","items":{"$ref":"#/components/schemas/VerifiableIdentityAddress"},"description":"VerifiableAddresses contains all the addresses that can be verified by the user."}},"title":"Identity represents an identity","required":["id","schema_id","schema_url","traits"],"description":"An identity represents a (human) user."},"IdentityCredentials":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"config":{"$ref":"#/components/schemas/JSONRawMessage"},"created_at":{"type":"string","format":"date-time","description":"CreatedAt is a helper struct field for gobuffalo.pop."},"identifiers":{"type":"array","items":{"type":"string"},"description":"Identifiers represents a list of unique identifiers this credential type matches."},"type":{"type":"string","enum":["password","oidc","totp","lookup_secret","webauthn","code","link_recovery","code_recovery"],"description":"Type discriminates between different types of credentials.\npassword CredentialsTypePassword\noidc CredentialsTypeOIDC\ntotp CredentialsTypeTOTP\nlookup_secret CredentialsTypeLookup\nwebauthn CredentialsTypeWebAuthn\ncode CredentialsTypeCodeAuth\nlink_recovery CredentialsTypeRecoveryLink  CredentialsTypeRecoveryLink is a special credential type linked to the link strategy (recovery flow).  It is not used within the credentials object itself.\ncode_recovery CredentialsTypeRecoveryCode"},"updated_at":{"type":"string","format":"date-time","description":"UpdatedAt is a helper struct field for gobuffalo.pop."},"version":{"type":"integer","format":"int64","description":"Version refers to the version of the credential. Useful when changing the config schema."}},"title":"Identity Credentials","description":"Credentials represents a specific credential type"},"IdentityTraits":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Identity Traits","description":"Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_url`."},"IdentityVerifiableAddressStatus":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Identity Verifiable Address Status","description":"VerifiableAddressStatus must not exceed 16 characters as that is the limitation in the SQL Schema"},"LoginFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"string","enum":["password","oidc","totp","lookup_secret","webauthn","code","link_recovery","code_recovery"],"description":"The active login method\n\nIf set contains the login method used. If the flow is new, it is unset.\npassword CredentialsTypePassword\noidc CredentialsTypeOIDC\ntotp CredentialsTypeTOTP\nlookup_secret CredentialsTypeLookup\nwebauthn CredentialsTypeWebAuthn\ncode CredentialsTypeCodeAuth\nlink_recovery CredentialsTypeRecoveryLink  CredentialsTypeRecoveryLink is a special credential type linked to the link strategy (recovery flow).  It is not used within the credentials object itself.\ncode_recovery CredentialsTypeRecoveryCode"},"created_at":{"type":"string","format":"date-time","description":"CreatedAt is a helper struct field for gobuffalo.pop."},"expires_at":{"type":"string","format":"date-time","description":"ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in,\na new flow has to be initiated."},"id":{"type":"string","format":"uuid","description":"ID represents the flow's unique ID. When performing the login flow, this\nrepresents the id in the login UI's query parameter: http://\u003cselfservice.flows.login.ui_url\u003e/?flow=\u003cflow_id\u003e"},"issued_at":{"type":"string","format":"date-time","description":"IssuedAt is the time (UTC) when the flow started."},"oauth2_login_challenge":{"type":"string"},"oauth2_login_request":{"$ref":"#/components/schemas/OAuth2LoginRequest"},"organization_id":{"$ref":"#/components/schemas/NullUUID"},"refresh":{"type":"boolean","description":"Refresh stores whether this login flow should enforce re-authentication."},"request_url":{"type":"string","description":"RequestURL is the initial URL that was requested. It can be used\nto forward information contained in the URL's path or query for example."},"requested_aal":{"$ref":"#/components/schemas/AuthenticatorAssuranceLevel"},"return_to":{"type":"string","description":"ReturnTo contains the requested return_to URL."},"session_token_exchange_code":{"type":"string","description":"SessionTokenExchangeCode holds the secret code that the client can use to retrieve a session token after the login flow has been completed.\nThis is only set if the client has requested a session token exchange code, and if the flow is of type \"api\",\nand only on creating the login flow."},"state":{"description":"State represents the state of this request:\n\nchoose_method: ask the user to choose a method to sign in with\nsent_email: the email has been sent to the user\npassed_challenge: the request was successful and the login challenge was passed."},"type":{"$ref":"#/components/schemas/SelfServiceFlowType"},"ui":{"$ref":"#/components/schemas/UiContainer"},"updated_at":{"type":"string","format":"date-time","description":"UpdatedAt is a helper struct field for gobuffalo.pop."}},"title":"Login Flow","required":["id","type","expires_at","issued_at","request_url","ui","state"],"description":"This object represents a login flow. A login flow is initiated at the \"Initiate Login API / Browser Flow\"\nendpoint by a client.\n\nOnce a login flow is completed successfully, a session cookie or session token will be issued."},"LogoutFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"logout_token":{"type":"string","description":"LogoutToken can be used to perform logout using AJAX."},"logout_url":{"type":"string","description":"LogoutURL can be opened in a browser to sign the user out.\n\nformat: uri"}},"title":"Logout Flow","required":["logout_url","logout_token"],"description":"Logout Flow"},"NullJsonRawMessage":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Null Json RawMessage"},"RecoveryFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"string","description":"Active, if set, contains the recovery method that is being used. It is initially not set."},"continue_with":{"type":"array","items":{"$ref":"#/components/schemas/ContinueWith"},"description":"Contains possible actions that could follow this flow"},"expires_at":{"type":"string","format":"date-time","description":"ExpiresAt is the time (UTC) when the request expires. If the user still wishes to update the setting, a new request has to be initiated."},"id":{"type":"string","format":"uuid","description":"ID represents the request's unique ID."},"issued_at":{"type":"string","format":"date-time","description":"IssuedAt is the time (UTC) when the request occurred."},"request_url":{"type":"string","description":"RequestURL is the initial URL that was requested. It can be used\nto forward information contained in the URL's path or query for example."},"return_to":{"type":"string","description":"ReturnTo contains the requested return_to URL."},"state":{"description":"State represents the state of this request:\nchoose_method: ask the user to choose a method (e.g. recover account via email)\nsent_email: the email has been sent to the user\npassed_challenge: the request was successful and the recovery challenge was passed."},"type":{"$ref":"#/components/schemas/SelfServiceFlowType"},"ui":{"$ref":"#/components/schemas/UiContainer"}},"title":"A Recovery Flow","required":["id","type","expires_at","issued_at","request_url","ui","state"],"description":"This request is used when an identity wants to recover their account."},"RecoveryIdentityAddress":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"created_at":{"type":"string","format":"date-time","description":"CreatedAt is a helper struct field for gobuffalo.pop."},"id":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"date-time","description":"UpdatedAt is a helper struct field for gobuffalo.pop."},"value":{"type":"string"},"via":{"$ref":"#/components/schemas/RecoveryAddressType"}},"title":"Recovery Identity Address","required":["id","value","via"]},"SelfServiceFlowType":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","title":"Type is the flow type.","description":"The flow type can either be `api` or `browser`."},"Session":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"boolean","description":"Active state. If false the session is no longer active."},"authenticated_at":{"type":"string","format":"date-time","description":"The Session Authentication Timestamp\n\nWhen this session was authenticated at. If multi-factor authentication was used this\nis the time when the last factor was authenticated (e.g. the TOTP code challenge was completed)."},"authentication_methods":{"$ref":"#/components/schemas/SessionAuthenticationMethods"},"authenticator_assurance_level":{"$ref":"#/components/schemas/AuthenticatorAssuranceLevel"},"devices":{"type":"array","items":{"$ref":"#/components/schemas/SessionDevice"},"description":"Devices has history of all endpoints where the session was used"},"expires_at":{"type":"string","format":"date-time","description":"The Session Expiry\n\nWhen this session expires at."},"id":{"type":"string","format":"uuid","description":"Session ID"},"identity":{"$ref":"#/components/schemas/Identity"},"issued_at":{"type":"string","format":"date-time","description":"The Session Issuance Timestamp\n\nWhen this session was issued at. Usually equal or close to `authenticated_at`."},"tokenized":{"type":"string","description":"Tokenized is the tokenized (e.g. JWT) version of the session.\n\nIt is only set when the `tokenize` query parameter was set to a valid tokenize template during calls to `/session/whoami`."}},"title":"AuthenticationMethod identifies an authentication method","required":["id"],"description":"A Session"},"SessionAuthenticationMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"aal":{"$ref":"#/components/schemas/AuthenticatorAssuranceLevel"},"completed_at":{"type":"string","format":"date-time","description":"When the authentication challenge was completed."},"method":{"type":"string","title":"The method used","enum":["link_recovery","code_recovery","password","code","totp","oidc","webauthn","lookup_secret","v0.6_legacy_session"]},"organization":{"type":"string","description":"The Organization id used for authentication"},"provider":{"type":"string","description":"OIDC or SAML provider id used for authentication"}},"title":"AuthenticationMethod identifies an authentication method","description":"A singular authenticator used during authentication / login."},"SessionAuthenticationMethods":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"$ref":"#/components/schemas/SessionAuthenticationMethod"},"title":"List of (Used) AuthenticationMethods","description":"A list of authenticators which were used to authenticate the session."},"SessionDevice":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Device record ID"},"ip_address":{"type":"string","description":"IPAddress of the client"},"location":{"type":"string","description":"Geo Location corresponding to the IP Address"},"user_agent":{"type":"string","description":"UserAgent of the client"}},"title":"Session Device","required":["id"],"description":"Device corresponding to a Session"},"SettingsFlow":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"active":{"type":"string","description":"Active, if set, contains the registration method that is being used. It is initially\nnot set."},"continue_with":{"type":"array","items":{"$ref":"#/components/schemas/ContinueWith"},"description":"Contains a list of actions, that could follow this flow\n\nIt can, for example, contain a reference to the verification flow, created as part of the user's\nregistration."},"expires_at":{"type":"string","format":"date-time","description":"ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to update the setting,\na new flow has to be initiated."},"id":{"type":"string","format":"uuid","description":"ID represents the flow's unique ID. When performing the settings flow, this\nrepresents the id in the settings ui's query parameter: http://\u003cselfservice.flows.settings.ui_url\u003e?flow=\u003cid\u003e"},"identity":{"$ref":"#/components/schemas/Identity"},"issued_at":{"type":"string","format":"date-time","description":"IssuedAt is the time (UTC) when the flow occurred."},"request_url":{"type":"string","description":"RequestURL is the initial URL that was requested. It can be used to forward information contained in the URL's path or query for example."},"return_to":{"type":"string","description":"ReturnTo contains the requested return_to URL."},"state":{"description":"State represents the state of this flow. It knows two states:\nshow_form: No user data has been collected, or it is invalid, and thus the form should be shown.\nsuccess: Indicates that the settings flow has been updated successfully with the provided data.\nDone will stay true when repeatedly checking. If set to true, done will revert back to false only\nwhen a flow with invalid (e.g. \"please use a valid phone number\") data was sent."},"type":{"$ref":"#/components/schemas/SelfServiceFlowType"},"ui":{"$ref":"#/components/schemas/UiContainer"}},"title":"Flow represents a Settings Flow","required":["id","type","expires_at","issued_at","request_url","ui","identity","state"],"description":"This flow is used when an identity wants to update settings"},"SuccessfulNativeLogin":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"session":{"$ref":"#/components/schemas/Session"},"session_token":{"type":"string","description":"The Session Token\nA session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization\nHeader:\nAuthorization: bearer ${session-token}\nThe session token is only issued for API flows, not for Browser flows!"}},"title":"Successful Native Login","required":["session"],"description":"The Response for Login Flows via API"},"UiContainer":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"action":{"type":"string","description":"Action should be used as the form action URL `\u003cform action=\"{{.Action }}\" method=\"post\"\u003e`."},"messages":{"$ref":"#/components/schemas/UiTexts"},"method":{"type":"string","description":"Method is the form method (e.g. POST)"},"nodes":{"$ref":"#/components/schemas/UiNodes"}},"title":"Ui Container","required":["action","method","nodes"],"description":"Container represents a HTML Form. The container can work with both HTTP Form and JSON requests."},"UiNode":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"attributes":{"$ref":"#/components/schemas/UiNodeAttributes"},"group":{"type":"string","enum":["default","password","oidc","profile","link","code","totp","lookup_secret","webauthn"],"description":"Group specifies which group (e.g. password authenticator) this node belongs to.\ndefault DefaultGroup\npassword PasswordGroup\noidc OpenIDConnectGroup\nprofile ProfileGroup\nlink LinkGroup\ncode CodeGroup\ntotp TOTPGroup\nlookup_secret LookupGroup\nwebauthn WebAuthnGroup"},"messages":{"$ref":"#/components/schemas/UiTexts"},"meta":{"$ref":"#/components/schemas/UiNodeMeta"},"type":{"type":"string","enum":["text","input","img","a","script"],"description":"The node's type\ntext Text\ninput Input\nimg Image\na Anchor\nscript Script"}},"title":"Node represents a flow's nodes","required":["type","group","attributes","messages","meta"],"description":"Nodes are represented as HTML elements or their native UI equivalents. For example,\na node can be an `\u003cimg\u003e` tag, or an `\u003cinput element\u003e` but also `some plain text`."},"UiNodeAnchorAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"href":{"type":"string","description":"The link's href (destination) URL.\n\nformat: uri"},"id":{"type":"string","description":"A unique identifier"},"node_type":{"type":"string","description":"NodeType represents this node's types. It is a mirror of `node.type` and\nis primarily used to allow compatibility with OpenAPI 3.0.  In this struct it technically always is \"a\"."},"title":{"$ref":"#/components/schemas/UiText"}},"title":"AnchorAttributes represents the attributes of an anchor node.","required":["href","title","id","node_type"]},"UiNodeAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/components/schemas/UiNodeInputAttributes"},{"$ref":"#/components/schemas/UiNodeTextAttributes"},{"$ref":"#/components/schemas/UiNodeImageAttributes"},{"$ref":"#/components/schemas/UiNodeAnchorAttributes"},{"$ref":"#/components/schemas/UiNodeScriptAttributes"}],"discriminator":{"propertyName":"node_type","mapping":{"a":"#/components/schemas/UiNodeAnchorAttributes","img":"#/components/schemas/UiNodeImageAttributes","input":"#/components/schemas/UiNodeInputAttributes","script":"#/components/schemas/UiNodeScriptAttributes","text":"#/components/schemas/UiNodeTextAttributes"}},"title":"Attributes represents a list of attributes"},"UiNodeImageAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"height":{"type":"integer","format":"int64","description":"Height of the image"},"id":{"type":"string","description":"A unique identifier"},"node_type":{"type":"string","description":"NodeType represents this node's types. It is a mirror of `node.type` and\nis primarily used to allow compatibility with OpenAPI 3.0.  In this struct it technically always is \"img\"."},"src":{"type":"string","description":"The image's source URL.\n\nformat: uri"},"width":{"type":"integer","format":"int64","description":"Width of the image"}},"title":"ImageAttributes represents the attributes of an image node.","required":["src","id","width","height","node_type"]},"UiNodeInputAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"autocomplete":{"type":"string","enum":["email","tel","url","current-password","new-password","one-time-code"],"description":"The autocomplete attribute for the input.\nemail InputAttributeAutocompleteEmail\ntel InputAttributeAutocompleteTel\nurl InputAttributeAutocompleteUrl\ncurrent-password InputAttributeAutocompleteCurrentPassword\nnew-password InputAttributeAutocompleteNewPassword\none-time-code InputAttributeAutocompleteOneTimeCode"},"disabled":{"type":"boolean","description":"Sets the input's disabled field to true or false."},"label":{"$ref":"#/components/schemas/UiText"},"name":{"type":"string","description":"The input's element name."},"node_type":{"type":"string","description":"NodeType represents this node's types. It is a mirror of `node.type` and\nis primarily used to allow compatibility with OpenAPI 3.0.  In this struct it technically always is \"input\"."},"onclick":{"type":"string","description":"OnClick may contain javascript which should be executed on click. This is primarily\nused for WebAuthn."},"pattern":{"type":"string","description":"The input's pattern."},"required":{"type":"boolean","description":"Mark this input field as required."},"type":{"type":"string","enum":["text","password","number","checkbox","hidden","email","tel","submit","button","datetime-local","date","url"],"description":"The input's element type.\ntext InputAttributeTypeText\npassword InputAttributeTypePassword\nnumber InputAttributeTypeNumber\ncheckbox InputAttributeTypeCheckbox\nhidden InputAttributeTypeHidden\nemail InputAttributeTypeEmail\ntel InputAttributeTypeTel\nsubmit InputAttributeTypeSubmit\nbutton InputAttributeTypeButton\ndatetime-local InputAttributeTypeDateTimeLocal\ndate InputAttributeTypeDate\nurl InputAttributeTypeURI"},"value":{"description":"The input's value."}},"title":"ScriptAttributes represent input nodes which load javascript.","required":["name","type","disabled","node_type"],"description":"InputAttributes represents the attributes of an input node"},"UiNodeMeta":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"label":{"$ref":"#/components/schemas/UiText"}},"title":"A Node's Meta Information","description":"This might include a label and other information that can optionally\nbe used to render UIs."},"UiNodeScriptAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"async":{"type":"boolean","description":"The script async type"},"crossorigin":{"type":"string","description":"The script cross origin policy"},"id":{"type":"string","description":"A unique identifier"},"integrity":{"type":"string","description":"The script's integrity hash"},"node_type":{"type":"string","description":"NodeType represents this node's types. It is a mirror of `node.type` and\nis primarily used to allow compatibility with OpenAPI 3.0. In this struct it technically always is \"script\"."},"nonce":{"type":"string","description":"Nonce for CSP\n\nA nonce you may want to use to improve your Content Security Policy.\nYou do not have to use this value but if you want to improve your CSP\npolicies you may use it. You can also choose to use your own nonce value!"},"referrerpolicy":{"type":"string","description":"The script referrer policy"},"src":{"type":"string","description":"The script source"},"type":{"type":"string","description":"The script MIME type"}},"title":"ScriptAttributes represent script nodes which load javascript.","required":["src","async","referrerpolicy","crossorigin","integrity","type","id","nonce","node_type"]},"UiNodeTextAttributes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","description":"A unique identifier"},"node_type":{"type":"string","description":"NodeType represents this node's types. It is a mirror of `node.type` and\nis primarily used to allow compatibility with OpenAPI 3.0.  In this struct it technically always is \"text\"."},"text":{"$ref":"#/components/schemas/UiText"}},"title":"TextAttributes represents the attributes of a text node.","required":["text","id","node_type"]},"UiNodes":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"$ref":"#/components/schemas/UiNode"},"title":"Ui Nodes"},"UiText":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"context":{"type":"object","description":"The message's context. Useful when customizing messages."},"id":{"$ref":"#/components/schemas/ID"},"text":{"type":"string","description":"The message text. Written in american english."},"type":{"type":"string","enum":["info","error","success"],"description":"The message type.\ninfo Info\nerror Error\nsuccess Success"}},"title":"Ui Text","required":["id","text","type"]},"UiTexts":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"array","items":{"$ref":"#/components/schemas/UiText"},"title":"Ui Texts"},"UpdateLoginFlowBody":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/components/schemas/UpdateLoginFlowWithPasswordMethod"},{"$ref":"#/components/schemas/UpdateLoginFlowWithOidcMethod"},{"$ref":"#/components/schemas/UpdateLoginFlowWithTotpMethod"},{"$ref":"#/components/schemas/UpdateLoginFlowWithWebAuthnMethod"},{"$ref":"#/components/schemas/UpdateLoginFlowWithLookupSecretMethod"},{"$ref":"#/components/schemas/UpdateLoginFlowWithCodeMethod"}],"discriminator":{"propertyName":"method","mapping":{"code":"#/components/schemas/UpdateLoginFlowWithCodeMethod","lookup_secret":"#/components/schemas/UpdateLoginFlowWithLookupSecretMethod","oidc":"#/components/schemas/UpdateLoginFlowWithOidcMethod","password":"#/components/schemas/UpdateLoginFlowWithPasswordMethod","totp":"#/components/schemas/UpdateLoginFlowWithTotpMethod","webauthn":"#/components/schemas/UpdateLoginFlowWithWebAuthnMethod"}},"title":"Update Login Flow Body"},"UpdateLoginFlowWithCodeMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"Code is the 6 digits code sent to the user"},"csrf_token":{"type":"string","description":"CSRFToken is the anti-CSRF token"},"identifier":{"type":"string","description":"Identifier is the code identifier\nThe identifier requires that the user has already completed the registration or settings with code flow."},"method":{"type":"string","description":"Method should be set to \"code\" when logging in using the code strategy."},"resend":{"type":"string","description":"Resend is set when the user wants to resend the code"}},"title":"Update Login Flow Code","required":["method","csrf_token"],"description":"Update Login flow using the code method"},"UpdateLoginFlowWithLookupSecretMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"lookup_secret":{"type":"string","description":"The lookup secret."},"method":{"type":"string","description":"Method should be set to \"lookup_secret\" when logging in using the lookup_secret strategy."}},"title":"Update Login Flow Lookup Secret","required":["method","lookup_secret"],"description":"Update Login Flow with Lookup Secret Method"},"UpdateLoginFlowWithOidcMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"The CSRF Token"},"id_token":{"type":"string","description":"IDToken is an optional id token provided by an OIDC provider\n\nIf submitted, it is verified using the OIDC provider's public key set and the claims are used to populate\nthe OIDC credentials of the identity.\nIf the OIDC provider does not store additional claims (such as name, etc.) in the IDToken itself, you can use\nthe `traits` field to populate the identity's traits. Note, that Apple only includes the users email in the IDToken.\n\nSupported providers are\nApple"},"id_token_nonce":{"type":"string","description":"IDTokenNonce is the nonce, used when generating the IDToken.\nIf the provider supports nonce validation, the nonce will be validated against this value and required."},"method":{"type":"string","description":"Method to use\n\nThis field must be set to `oidc` when using the oidc method."},"provider":{"type":"string","description":"The provider to register with"},"traits":{"type":"object","description":"The identity traits. This is a placeholder for the registration flow."},"upstream_parameters":{"type":"object","description":"UpstreamParameters are the parameters that are passed to the upstream identity provider.\n\nThese parameters are optional and depend on what the upstream identity provider supports.\nSupported parameters are:\n`login_hint` (string): The `login_hint` parameter suppresses the account chooser and either pre-fills the email box on the sign-in form, or selects the proper session.\n`hd` (string): The `hd` parameter limits the login/registration process to a Google Organization, e.g. `mycollege.edu`.\n`prompt` (string): The `prompt` specifies whether the Authorization Server prompts the End-User for reauthentication and consent, e.g. `select_account`."}},"title":"Update Login Flow Oidc","required":["provider","method"],"description":"Update Login Flow with OpenID Connect Method"},"UpdateLoginFlowWithPasswordMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"identifier":{"type":"string","description":"Identifier is the email or username of the user trying to log in."},"method":{"type":"string","description":"Method should be set to \"password\" when logging in using the identifier and password strategy."},"password":{"type":"string","description":"The user's password."},"password_identifier":{"type":"string","description":"Identifier is the email or username of the user trying to log in.\nThis field is deprecated!"}},"title":"Update Login Flow Password","required":["method","password","identifier"],"description":"Update Login Flow with Password Method"},"UpdateLoginFlowWithTotpMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"method":{"type":"string","description":"Method should be set to \"totp\" when logging in using the TOTP strategy."},"totp_code":{"type":"string","description":"The TOTP code."}},"title":"Update Login Flow Totp","required":["method","totp_code"],"description":"Update Login Flow with TOTP Method"},"UpdateLoginFlowWithWebAuthnMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"identifier":{"type":"string","description":"Identifier is the email or username of the user trying to log in."},"method":{"type":"string","description":"Method should be set to \"webAuthn\" when logging in using the WebAuthn strategy."},"webauthn_login":{"type":"string","description":"Login a WebAuthn Security Key\n\nThis must contain the ID of the WebAuthN connection."}},"title":"Update Login Flow WebAuthn","required":["identifier","method"],"description":"Update Login Flow with WebAuthn Method"},"UpdateRecoveryFlowBody":{"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"$ref":"#/components/schemas/UpdateRecoveryFlowWithLinkMethod"},{"$ref":"#/components/schemas/UpdateRecoveryFlowWithCodeMethod"}],"discriminator":{"propertyName":"method","mapping":{"code":"#/components/schemas/UpdateRecoveryFlowWithCodeMethod","link":"#/components/schemas/UpdateRecoveryFlowWithLinkMethod"}},"title":"Update Recovery Flow Body","description":"Update Recovery Flow Request Body"},"UpdateRecoveryFlowWithCodeMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"code":{"type":"string","description":"Code from the recovery email\n\nIf you want to submit a code, use this field, but make sure to _not_ include the email field, as well."},"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"email":{"type":"string","description":"If the email belongs to a valid account, a recovery email will be sent."},"method":{"type":"string","enum":["link","code"],"description":"Method is the method that should be used for this recovery flow\n\nAllowed values are `link` and `code`.\nlink RecoveryStrategyLink\ncode RecoveryStrategyCode"}},"title":"Update Recovery Flow Code","required":["method"],"description":"Update Recovery Flow with Code Method"},"UpdateRecoveryFlowWithLinkMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"csrf_token":{"type":"string","description":"Sending the anti-csrf token is only required for browser login flows."},"email":{"type":"string","format":"email","description":"Email to Recover\nNeeds to be set when initiating the flow. If the email is a registered recovery email, a recovery link will be sent. If the email is not known,a email with details on what happened will be sent instead."},"method":{"type":"string","enum":["link","code"],"description":"Method is the method that should be used for this recovery flow\n\nAllowed values are `link` and `code`\nlink RecoveryStrategyLink\ncode RecoveryStrategyCode"}},"title":"Update Recovery Flow Link","required":["email","method"],"description":"Update Recovery Flow with Link Method"},"UpdateSettingsFlowBody":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","oneOf":[{"$ref":"#/components/schemas/UpdateSettingsFlowWithPasswordMethod"},{"$ref":"#/components/schemas/UpdateSettingsFlowWithTotpMethod"}],"discriminator":{"propertyName":"method","mapping":{"password":"#/components/schemas/UpdateSettingsFlowWithPasswordMethod","totp":"#/components/schemas/UpdateSettingsFlowWithTotpMethod"}},"title":"Update Settings Flow Body"},"UpdateSettingsFlowWithPasswordMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/UpdateSettingsFlowMethod"},{"type":"object","properties":{"method":{"const":"password"},"csrf_token":{"type":"string","description":"CSRFToken is the anti-CSRF token"},"password":{"type":"string","description":"Password is the updated password"}},"required":["password"]}],"title":"Update Settings Flow Password","description":"Update Settings Flow with Password Method"},"UpdateSettingsFlowMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"method":{"type":"string","description":"Method\n\nShould be set to password when trying to update a password."}},"title":"Update Settings Flow method","required":["method"]},"UpdateSettingsFlowWithTotpMethod":{"$schema":"https://json-schema.org/draft/2020-12/schema","allOf":[{"$ref":"#/components/schemas/UpdateSettingsFlowMethod"},{"type":"object","properties":{"method":{"const":"totp"},"csrf_token":{"type":"string","description":"CSRFToken is the anti-CSRF token"},"totp_code":{"type":"string","description":"ValidationTOTP must contain a valid TOTP based on the"},"totp_unlink":{"type":"boolean","description":"UnlinkTOTP if true will remove the TOTP pairing,\neffectively removing the credential. This can be used\nto set up a new TOTP device."}}}],"title":"Update Settings Flow Totp","description":"Update Settings Flow with TOTP Method"},"VerifiableIdentityAddress":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"created_at":{"type":"string","format":"date-time","description":"When this entry was created","example":"2014-01-01T23:28:56.782Z"},"id":{"type":"string","format":"uuid","description":"The ID"},"status":{"$ref":"#/components/schemas/IdentityVerifiableAddressStatus"},"updated_at":{"type":"string","format":"date-time","description":"When this entry was last updated","example":"2014-01-01T23:28:56.782Z"},"value":{"type":"string","description":"The address value\n\nexample foo@user.com"},"verified":{"type":"boolean","description":"Indicates if the address has already been verified","example":true},"verified_at":{"$ref":"#/components/schemas/NullTime"},"via":{"type":"string","enum":["email","sms"],"description":"The delivery method","example":"email"}},"title":"Verifiable Identity Address","required":["value","verified","via","status"],"description":"VerifiableAddress is an identity's verifiable address"},"AKSK":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ak":{"type":"string"},"sk":{"type":"string"}},"title":"AKSK","required":["ak","sk"]},"SpaceSimple":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Space identifier"}},"title":"SpaceSimple","required":["id"]},"SpaceSimplePaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceSimple"}}},"required":["items"]}],"title":"SpaceSimplePaginatedList"},"ServiceAccount":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","maxLength":64,"minLength":1,"format":"string","description":"Service account name"},"tokenDuration":{"type":"string","format":"duration","description":"Token duration in ISO 8601 format. Default is 24 hours (PT24H). Must be between 1 second (PT1S) and 48 hours (PT48H).","default":"PT24H"},"expirationDate":{"type":"string","description":"Expiration date in RFC 3339 format."}},"title":"ServiceAccount","required":["name"]},"ServiceAccountItem":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","format":"string","description":"Service Accounts name"},"id":{"type":"string","format":"string","description":"Service account ID"},"tokenDuration":{"type":"string","format":"duration","description":"Access token duration"},"expirationDate":{"type":"string","description":"Expiration date"}},"title":"ServiceAccountItem","required":["name","id"]},"ServiceAccountEdited":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","format":"string","description":"Service Accounts name"},"id":{"type":"string","format":"string","description":"Service account ID"},"tokenDuration":{"type":"string","format":"duration","description":"Set access token duration"},"expirationDate":{"type":"string","description":"Expiration date"}},"title":"ServiceAccountEdited","required":["name","id"]},"CreatedServiceAccount":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/ServiceAccountEdited"},{"type":"object","properties":{"secret":{"type":"string","description":"Service account secret."}},"required":["secret"]}],"title":"CreatedServiceAccount"},"ServiceAccountPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ServiceAccountItem"}}},"required":["items"]}],"title":"ServiceAccountPaginatedList"},"User":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"$ref":"#/components/schemas/Email"},"firstname":{"type":"string","maxLength":64,"description":"Firstname"},"lastname":{"type":"string","maxLength":64,"description":"Lastname"}},"title":"User","required":["email","firstname","lastname"]},"UserEdited":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"User ID"},"active":{"type":"boolean","description":"Account activation/deactivation state"},"createdOn":{"$ref":"#/components/schemas/DateTime"},"updatedOn":{"$ref":"#/components/schemas/DateTime"}},"title":"UserEdited","required":["id","active","createdOn","updatedOn"]},"UserModified":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/User"},{"$ref":"#/components/schemas/UserEdited"}],"title":"UserModified"},"UserCreation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"User ID"},"active":{"type":"boolean","description":"Account activation/deactivation state"},"createdOn":{"$ref":"#/components/schemas/DateTime"}},"title":"UserCreation","required":["id","active","createdOn"]},"UserCreated":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/User"},{"$ref":"#/components/schemas/UserCreation"}],"title":"UserCreated"},"UserUpdate":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/User"},{"type":"object","properties":{"active":{"type":"boolean","description":"Account activation/deactivation state"}},"required":["active"]}],"title":"UserUpdate"},"UserPaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserModified"}}},"required":["items"]}],"title":"UserPaginatedList"},"RecoveryLink":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"link":{"type":"string","format":"uri","description":"Recovery link"},"code":{"type":"string","description":"Recovery code correctly generated"},"expiration":{"$ref":"#/components/schemas/DateTime"}},"title":"RecoveryLink","required":["link","expiration"]},"Email":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["john.smith@acme.org"],"title":"Email","format":"email","description":"A string representing email address."},"DateTime":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","examples":["2018-11-13T20:20:39+00:00"],"title":"DateTime","format":"date-time","description":"A string representing a date, time and timezone information."},"ListOrganisations":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Organisation"}}},"required":["items"]}],"title":"List of organisations"},"Organisation":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"organisation ID"},"organisationId":{"type":"string","format":"uuid","description":"organisation ID"},"name":{"type":"string","format":"string","description":"Organisation name"},"description":{"type":"string","format":"string","description":"Organisation description"},"createdOn":{"type":"string","format":"date-time","description":"Organisation creation date"},"updatedOn":{"type":"string","format":"date-time","description":"Organisation last update"}},"title":"Organisation schema","required":["id","organisationId","name","description","createdOn","updatedOn"]},"SpacePaginatedList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/PaginatedList"},{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Space"}}},"required":["items"]}],"title":"SpacePaginatedList"},"CreateSpace":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/MutableSpace"},{"required":["name","description"]}],"title":"CreateSpace"},"MutableSpace":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","maxLength":50,"minLength":1,"format":"string","description":"Space name"},"description":{"type":"string","maxLength":300,"minLength":1,"format":"string","description":"Space description"}},"title":"MutableSpace"},"ImmutableSpace":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Internal ID"},"organisationId":{"type":"string","format":"uuid","description":"Organisation_id"},"status":{"type":"string","enum":["QUEUED","RUNNING","READY","FAILED"],"description":"status of the space, the space can only be used when the status is ready."},"createdOn":{"type":"string","format":"date-time","description":"Space creation date"},"updatedOn":{"type":"string","format":"date-time","description":"Space last update"}},"title":"ImmutableSpace","required":["id","organisationId","createdOn","updatedOn","status"]},"Space":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/MutableSpace"},{"$ref":"#/components/schemas/ImmutableSpace"},{"required":["name","description"]}],"title":"Space"},"ListOrganisationsBadRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/BadRequestError"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#organisation_not_found","urn:numspot:errors#unauthenticated_access"]}},"required":["type"]}],"title":"[Bad Request] List Organisations that belongs to an identity"},"ListRequesterSpacesBadRequest":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","allOf":[{"$ref":"#/components/schemas/BadRequestError"},{"type":"object","properties":{"type":{"type":"string","format":"uri","enum":["urn:numspot:errors#space_not_found","urn:numspot:errors#unauthenticated_access"]}},"required":["type"]}],"title":"[Bad Request] List Spaces that belongs to an identity"}},"responses":{"InventoryListResourcesBySpaceId200Response":{"description":"Successful retrieval of the resource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryResourcesLight"}}}},"InventoryListResourcesBySpaceId400Response":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InventoryBadRequestError"}}}},"InventoryListResourcesBySpaceId500Response":{"description":"Internal Server Error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalServerError"}}}},"ListKubernetesVersions200Response":{"description":"List all supported Kubernetes versions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesVersions"}}}},"Error401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalServerError"}}}},"ListKubernetesClusters200Response":{"description":"List Kubernetes clusters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesClustersList"}}}},"CreateKubernetesCluster201Response":{"description":"Created cluster is running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesCluster"}}}},"Error400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/BadRequestError"}}}},"Error409":{"description":"Conflict","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ConflictError"}}}},"GetKubernetesCluster200Response":{"description":"Cluster details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesCluster"}}}},"Error404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DeleteKubernetesCluster202Response":{"description":"Cluster details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesCluster"}}}},"GetKubernetesKubeConfig200Response":{"description":"Retrieve Kubernetes configuration on hex encode binaries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesKubeConfig"}}}},"ListKubernetesNodePools200Response":{"description":"List Kubernetes cluster nodepools.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesNodePoolsList"}}}},"CreateKubernetesNodePool201Response":{"description":"Create cluster nodepool request was accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesNodePool"}}}},"GetKubernetesNodePool200Response":{"description":"Cluster Nodepool details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesNodePool"}}}},"PostgreSQLDeleteCluster202Response":{"description":"The cluster has been marked for deletion.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCluster"}}}},"PostgreSQLGetCluster200Response":{"description":"The cluster has been found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCluster"}}}},"PostgreSQLModifyCluster200Response":{"description":"The cluster is being modified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCluster"}}}},"PostgreSQLListClusters200Response":{"description":"The clusters have been listed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLClusters"}}}},"PostgreSQLCreateCluster201Response":{"description":"The cluster is being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCluster"}}}},"PostgreSQLUpgradeClusterMinor200Response":{"description":"The cluster is being upgraded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCluster"}}}},"PostgreSQLGetClusterMinorUpgrade200Response":{"description":"Minor upgrade availability information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLMinorUpgrade"}}}},"PostgreSQLListVersions200Response":{"description":"The supported versions have been listed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLVersions"}}}},"PostgreSQLResetClusterPassword202Response":{"description":"The password is being reset."},"PostgreSQLGetClusterPassword200Response":{"description":"The password has been found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCredentials"}}}},"PostgreSQLCreateBackup201Response":{"description":"The backup is being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLBackup"}}}},"PostgreSQLListBackups200Response":{"description":"The backups have been listed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLBackups"}}}},"PostgreSQLGetBackup200Response":{"description":"The backup has been found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLBackup"}}}},"PostgreSQLDeleteBackup204Response":{"description":"The backup has been deleted."},"PostgreSQLInvalidRequestProblem400Response":{"description":"The request you provided is invalid.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PostgreSQLInvalidRequestError"}}}},"PostgreSQLUnauthorizedProblem401Response":{"description":"Unauthorized.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PostgreSQLUnauthorizedError"}}}},"PostgreSQLResourceNotFoundProblem404Response":{"description":"The requested resource does not exist.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PostgreSQLResourceNotFoundError"}}}},"PostgreSQLBackupForbiddenDeleteProblem403Response":{"description":"Auto-generated backups cannot be deleted.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/PostgreSQLBackupForbiddenDeleteError"}}}},"CatalogueGetPublic200Response":{"description":"Public catalogue retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CataloguePublicResponse"}}}},"CatalogueBadRequestError400Response":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CatalogueBadRequestError"}}}},"CatalogueInternalServerError500Response":{"description":"Internal Server Error.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/CatalogueInternalServerError"}}}},"ListRegistryVersions200Response":{"description":"Response payload for list registry available versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryVersionsList"}}}},"ListRegistries200Response":{"description":"Response payload for Read Registries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistriesList"}}}},"ErrorRegistryBadRequest400Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RegistryInvalidRequestError"}}}},"ErrorRegistryUnauthorized401Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RegistryUnauthorizedError"}}}},"ErrorRegistryForbidden403Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RegistryUnauthorizedError"}}}},"ErrorRegistryNotFound404Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RegistryNotFoundError"}}}},"ErrorRegistryInternalServer500Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/InternalServerError"}}}},"CreateRegistry201Response":{"description":"Response payload for Create Registry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Registry"}}}},"ErrorRegistryConflict409Response":{"description":"Response payload for Read Registries","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/RegistryConflictError"}}}},"ReadRegistryPassword200Response":{"description":"Response payload for list registry available versions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryPassword"}}}},"ReadRegistryById200Response":{"description":"Response payload for ReadRegistryById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Registry"}}}},"UpdateRegistry200Response":{"description":"Response payload for UpdateRegistry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Registry"}}}},"CreateDhcpOptions201Response":{"description":"Response payload for CreateDhcpOptions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DhcpOptionsSet"}}}},"CreateFlexibleGpu201Response":{"description":"Response payload for CreateFlexibleGpu","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlexibleGpu"}}}},"CreateImage201Response":{"description":"Response payload for CreateImage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Image"}}}},"CreateInternetGateway201Response":{"description":"Response payload for CreateInternetGateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternetGateway"}}}},"CreateKeypair201Response":{"description":"Response payload for CreateKeypair","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeypair"}}}},"CreateListenerRule201Response":{"description":"Response payload for CreateListenerRule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListenerRule"}}}},"CreateLoadBalancerListeners201Response":{"description":"Response payload for CreateLoadBalancerListeners","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadBalancer"}}}},"CreateLoadBalancerPolicy201Response":{"description":"Response payload for CreateLoadBalancerPolicy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadBalancer"}}}},"CreateLoadBalancer201Response":{"description":"Response payload for CreateLoadBalancer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadBalancer"}}}},"CreateNatGateway201Response":{"description":"Response payload for CreateNatGateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NatGateway"}}}},"CreateNic201Response":{"description":"Response payload for CreateNic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nic"}}}},"CreatePublicIp201Response":{"description":"Response payload for CreatePublicIp","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicIp"}}}},"CreateRoute201Response":{"description":"Response payload for CreateRoute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteTable"}}}},"CreateRouteTable201Response":{"description":"Response payload for CreateRouteTable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteTable"}}}},"CreateSecurityGroup201Response":{"description":"Response payload for CreateSecurityGroup","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityGroup"}}}},"CreateSecurityGroupRule201Response":{"description":"Response payload for CreateSecurityGroupRule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityGroup"}}}},"CreateSnapshot201Response":{"description":"Response payload for CreateSnapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Snapshot"}}}},"CreateSubnet201Response":{"description":"Response payload for CreateSubnet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subnet"}}}},"CreateVms201Response":{"description":"Response payload for CreateVms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vm"}}}},"CreateVolume201Response":{"description":"Response payload for CreateVolume","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Volume"}}}},"CreateVpc201Response":{"description":"Response payload for CreateVpc","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vpc"}}}},"CreateServerCertificate201Response":{"description":"Response payload for CreateServerCertificate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerCertificate"}}}},"LinkNic200Response":{"description":"Response payload for LinkNic","content":{"application/json":{"schema":{"type":"object","properties":{"linkNicId":{"type":"string","description":"The ID of the NIC attachment.","example":"eni-attach-12345678"}},"additionalProperties":false}}}},"LinkPublicIp200Response":{"description":"Response payload for LinkPublicIp","content":{"application/json":{"schema":{"type":"object","properties":{"linkPublicIpId":{"type":"string","description":"(Vpc only) The ID representing the association of the public IP with the VM or the NIC.","example":"eipassoc-12345678"}},"additionalProperties":false}}}},"LinkRouteTable200Response":{"description":"Response payload for LinkRouteTable","content":{"application/json":{"schema":{"type":"object","properties":{"linkRouteTableId":{"type":"string","description":"The ID of the association between the route table and the Subnet.","example":"rtbassoc-12345678"}},"additionalProperties":false}}}},"ReadAdminPassword200Response":{"description":"Response payload for ReadAdminPassword","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadAdminPassword"}}}},"ReadConsoleOutput200Response":{"description":"Response payload for ReadConsoleOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadConsoleOutput"}}}},"ReadDhcpOptionsById200Response":{"description":"Response payload for ReadDhcpOptionsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DhcpOptionsSet"}}}},"ReadDhcpOptions200Response":{"description":"Response payload for ReadDhcpOptions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadDhcpOptions"}}}},"ReadFlexibleGpusById200Response":{"description":"Response payload for ReadFlexibleGpusById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlexibleGpu"}}}},"ReadFlexibleGpus200Response":{"description":"Response payload for ReadFlexibleGpus","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadFlexibleGpus"}}}},"ReadImagesById200Response":{"description":"Response payload for ReadImagesById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Image"}}}},"ReadImages200Response":{"description":"Response payload for ReadImages","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadImages"}}}},"ReadInternetGatewaysById200Response":{"description":"Response payload for ReadInternetGatewaysById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternetGateway"}}}},"ReadInternetGateways200Response":{"description":"Response payload for ReadInternetGateways","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadInternetGateways"}}}},"ReadKeypairsById200Response":{"description":"Response payload for ReadKeypairsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadKeypairsById"}}}},"ReadKeypairs200Response":{"description":"Response payload for ReadKeypairs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadKeypairs"}}}},"ReadListenerRulesById200Response":{"description":"Response payload for ReadListenerRulesById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListenerRule"}}}},"ReadListenerRules200Response":{"description":"Response payload for ReadListenerRules","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadListenerRules"}}}},"ReadLoadBalancerTags200Response":{"description":"Response payload for ReadLoadBalancerTags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadLoadBalancerTags"}}}},"ReadLoadBalancersById200Response":{"description":"Response payload for ReadLoadBalancersById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadBalancer"}}}},"ReadLoadBalancers200Response":{"description":"Response payload for ReadLoadBalancers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadLoadBalancers"}}}},"ReadNatGatewayById200Response":{"description":"Response payload for ReadNatGatewayById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NatGateway"}}}},"ReadNatGateway200Response":{"description":"Response payload for ReadNatGateway","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadNatGateway"}}}},"ReadNicsById200Response":{"description":"Response payload for ReadNicsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nic"}}}},"ReadNics200Response":{"description":"Response payload for ReadNics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadNics"}}}},"ReadPublicIpsById200Response":{"description":"Response payload for ReadPublicIpsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicIp"}}}},"ReadPublicIps200Response":{"description":"Response payload for ReadPublicIps","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadPublicIps"}}}},"ReadRouteTablesById200Response":{"description":"Response payload for ReadRouteTablesById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteTable"}}}},"ReadRouteTables200Response":{"description":"Response payload for ReadRouteTables","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadRouteTables"}}}},"ReadSecurityGroupsById200Response":{"description":"Response payload for ReadSecurityGroupsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityGroup"}}}},"ReadSecurityGroups200Response":{"description":"Response payload for ReadSecurityGroups","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadSecurityGroups"}}}},"ReadSnapshotsById200Response":{"description":"Response payload for ReadSnapshotsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Snapshot"}}}},"ReadSnapshots200Response":{"description":"Response payload for ReadSnapshots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadSnapshots"}}}},"ReadSubnetsById200Response":{"description":"Response payload for ReadSubnetsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subnet"}}}},"ReadSubnets200Response":{"description":"Response payload for ReadSubnets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadSubnets"}}}},"ReadTags200Response":{"description":"Response payload for ReadTags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadTags"}}}},"ReadVmsById200Response":{"description":"Response payload for ReadVmsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vm"}}}},"ReadVmsHealth200Response":{"description":"Response payload for ReadVmsHealth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadVmsHealth"}}}},"ReadVms200Response":{"description":"Response payload for ReadVms","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadVms"}}}},"ReadVmsState200Response":{"description":"Response payload for ReadVmsState","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadVmsState"}}}},"ReadVolumesById200Response":{"description":"Response payload for ReadVolumesById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Volume"}}}},"ReadVolumes200Response":{"description":"Response payload for ReadVolumes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadVolumes"}}}},"ReadVpcsById200Response":{"description":"Response payload for ReadVpcsById","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vpc"}}}},"ReadVpcs200Response":{"description":"Response payload for ReadVpcs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadVpcs"}}}},"ReadServerCertificates200Response":{"description":"Response payload for ReadServerCertificates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadServerCertificates"}}}},"StartVm200Response":{"description":"Response payload for StartVm","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VmState"}}}},"StopVm200Response":{"description":"Response payload for StopVm","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VmState"}}}},"UpdateFlexibleGpu200Response":{"description":"Response payload for UpdateFlexibleGpu","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlexibleGpu"}}}},"UpdateImage200Response":{"description":"Response payload for UpdateImage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Image"}}}},"UpdateListenerRule200Response":{"description":"Response payload for UpdateListenerRule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListenerRule"}}}},"UpdateLoadBalancer200Response":{"description":"Response payload for UpdateLoadBalancer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadBalancer"}}}},"UpdateNic200Response":{"description":"Response payload for UpdateNic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Nic"}}}},"UpdateRoute200Response":{"description":"Response payload for UpdateRoute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteTable"}}}},"UpdateRouteTableRoutePropagation200Response":{"description":"Response payload for UpdateRouteTableRoutePropagation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteTable"}}}},"UpdateSubnet200Response":{"description":"Response payload for UpdateSubnet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subnet"}}}},"UpdateVm200Response":{"description":"Response payload for UpdateVm","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vm"}}}},"UpdateVolume200Response":{"description":"Response payload for UpdateVolume","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Volume"}}}},"UpdateVpc200Response":{"description":"Response payload for UpdateVpc","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vpc"}}}},"UpdateServerCertificate200Response":{"description":"Response payload for UpdateServerCertificate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerCertificate"}}}},"Error414":{"description":"The HTTP 414 response (URI Too Long).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ReadImageExportTasks200Response":{"description":"Response payload for ReadImageExportTasks","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadImageExportTasks"}}}},"ReadImageExportTaskById200Response":{"description":"Response payload for ReadImageExportTask","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageExportTask"}}}},"CreateImageExportTask202Response":{"description":"Response payload for CreateImageExportTask","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageExportTask"}}}},"ReadSnapshotExportTasks200Response":{"description":"Response payload for ReadSnapshotExportTasks","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadSnapshotExportTasks"}}}},"ReadSnapshotExportTaskById200Response":{"description":"Response payload for ReadSnapshotExportTask","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotExportTask"}}}},"CreateSnapshotExportTask202Response":{"description":"Response payload for CreateSnapshotExportTask","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotExportTask"}}}},"ListBridges200Response":{"description":"List of bridges 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bridges"}}}},"Error429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Indicates how long the client should wait before making a new request. Can be a delay in seconds or a timestamp.","schema":{"oneOf":[{"type":"integer","examples":[120],"description":"Number of seconds to wait before retrying."},{"description":"An HTTP-date when the request can be retried.","$ref":"#/components/schemas/HttpDate"}]}},"RateLimit-Limit":{"description":"The maximum number of allowed requests in the current quota period.","schema":{"type":"integer","examples":[10000]}},"RateLimit-Remaining":{"description":"The number of remaining requests in the current quota period.","schema":{"type":"integer","examples":[0],"minimum":0}},"RateLimit-Reset":{"description":"The timestamp when the quota resets.","schema":{"type":"string","examples":["2025-03-21T00:00:00Z"],"format":"date-time"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/TooManyRequestsError"}}}},"ReadBridge200Response":{"description":"Read a bridge 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bridge"}}}},"ListComputeBridges200Response":{"description":"List of compute bridges 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeBridges"}}}},"CreateComputeBridge201Response":{"description":"Create a compute bridge 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeBridge"}}}},"ReadComputeBridge200Response":{"description":"Read a bridge 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComputeBridge"}}}},"ListHybridBridges200Response":{"description":"List of hybrid bridges 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridBridges"}}}},"CreateHybridBridge201Response":{"description":"Create a hybrid bridge 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridBridge"}}}},"ReadHybridBridge200Response":{"description":"Read a hybrid bridge 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridBridge"}}}},"ListDirectLinkInterfaces200Response":{"description":"List of direct link interfaces 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLinkInterfaces"}}}},"CreateDirectLinkInterface201Response":{"description":"Create a direct link interface 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLinkInterface"}}}},"ReadDirectLinkInterface200Response":{"description":"Read a direct link interface 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLinkInterface"}}}},"ListDirectLinks200Response":{"description":"List of direct links 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLinks"}}}},"CreateDirectLink201Response":{"description":"Create a direct link 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLink"}}}},"ReadDirectLink200Response":{"description":"Read a direct link 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectLink"}}}},"ReadLocations200Response":{"description":"List of locations 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locations"}}}},"ListClientGateways200Response":{"description":"List of client gateways 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientGateways"}}}},"CreateClientGateway201Response":{"description":"Create a client gateway 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientGateway"}}}},"ReadClientGateway200Response":{"description":"Read a client gateway 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientGateway"}}}},"ListVirtualGateways200Response":{"description":"List of virtual gateways 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualGateways"}}}},"CreateVirtualGateway201Response":{"description":"Create a virtual gateway 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualGateway"}}}},"ReadVirtualGateway200Response":{"description":"Read a virtual gateway 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualGateway"}}}},"ListVPNConnections200Response":{"description":"List of VPN connections 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPNConnections"}}}},"CreateVPNConnection201Response":{"description":"Create a VPN connection 201 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPNConnection"}}}},"ReadVPNConnection200Response":{"description":"Read a VPN connection 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPNConnection"}}}},"UpdateVPNConnection200Response":{"description":"Update a VPN connection 200 response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VPNConnection"}}}},"GetIAMPolicy200Response":{"description":"The IAMPolicy currently associated with the object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IAMPolicy"}}}},"CreateRole200Response":{"description":"A role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisteredRole"}}},"links":{"GetRole":{"operationId":"GetRole","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the role"},"UpdateRole":{"operationId":"UpdateRole","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the role"},"DeleteRole":{"operationId":"DeleteRole","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the role"}}},"ListRoles200Response":{"description":"A list of roles","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolesPaginatedList"}}}},"GetPermission200Response":{"description":"A permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisteredPermission"}}},"links":{"GetPermission":{"operationId":"GetPermission","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the permission"},"UpdatePermission":{"operationId":"UpdatePermission","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the permission"},"DeletePermission":{"operationId":"DeletePermission","parameters":{"uuid":"$response.body#/uuid"},"description":"The returned uuid field can be reused to do further operations on the permission"}}},"GetRole200Response":{"description":"A role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisteredRole"}}}},"ListPermissions200Response":{"description":"A list of permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsPaginatedList"}}}},"GetRolePermissions200Response":{"description":"A list of permissions assigned to a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsPaginatedList"}}}},"GetACL200Response":{"description":"a list of acl.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLPaginatedList"}}}},"ListIdentityAccessByResource200Response":{"description":"A list of identity with their access rights","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRightsPaginatedList"}}}},"ListResourceAccessByIdentity200Response":{"description":"A list of resources with their access rights to an identity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRightsPaginatedList"}}}},"GetUserInfo200Response":{"description":"get user info 200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInfo"}}}},"Token200Response":{"description":"OAuth2 token response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResp"}}}},"Introspect200Response":{"description":"OAuth2 introspect response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntrospectResp"}}}},"JsonWebKeys200Response":{"description":"JsonWebKeySet","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonWebKeySet"}}}},"GetWebAuthnJavaScript200Response":{"description":"Web authn javascript","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnJavaScript"}}}},"ConvertToken200Response":{"description":"AK/SK based on givenToken","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AKSK"}}}},"ListSpacesUser200Response":{"description":"A list of spaces","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpaceSimplePaginatedList"}}}},"ListSpacesServiceAccount200Response":{"description":"A list of spaces","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpaceSimplePaginatedList"}}}},"CreateServiceAccount201Response":{"description":"Create a new service account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedServiceAccount"}}}},"ListServiceAccount200Response":{"description":"A list of services accounts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountPaginatedList"}}}},"MatchServiceAccount200Response":{"description":"Match a service account's name with existing ones.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountPaginatedList"}}}},"GetServiceAccount200Response":{"description":"Get a service account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountEdited"}}}},"UpdateServiceAccount200Response":{"description":"Update a service account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountEdited"}}}},"CreateUser201Response":{"description":"New user creation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreated"}}}},"ListUser200Response":{"description":"A list of users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPaginatedList"}}}},"GetUser200Response":{"description":"Retrieve a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserModified"}}}},"UpdateUser200Response":{"description":"Update a user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserModified"}}}},"RecoverUser200Response":{"description":"Generate recovery link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryLink"}}}},"GetSpaceById200Response":{"description":"a Space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Space"}}}},"CreateSpace200Response":{"description":"a Space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Space"}}}},"ListSpaces200Response":{"description":"A list of Spaces","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpacePaginatedList"}}}},"ListRequesterOrganisations200Response":{"description":"A list of organisation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganisations"}}}},"ListRequesterSpaces200Response":{"description":"A list of spaces","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpacePaginatedList"}}}},"ListRequesterOrganisations400Response":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListOrganisationsBadRequest"}}}},"ListRequesterSpaces400Response":{"description":"Bad request. Invalid input provided.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ListRequesterSpacesBadRequest"}}}}},"parameters":{"InventoryPaginatedRequest":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"SpaceId":{"name":"spaceId","in":"path","description":"Identifier of the Space","required":true,"schema":{"type":"string","format":"uuid"}},"KubernetesPage":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"$ref":"#/components/schemas/Page"}},"ClusterId":{"name":"clusterId","in":"path","description":"Identifier of the Cluster","required":true,"schema":{"type":"string","format":"uuid"}},"NodePoolId":{"name":"nodePoolId","in":"path","description":"Identifier of the Cluster","required":true,"schema":{"type":"string","format":"uuid"}},"PostgreSQLClusterIdParameter":{"name":"clusterId","in":"path","description":"The unique identifier of a cluster.","required":true,"schema":{"$ref":"#/components/schemas/PostgreSQLClusterId"}},"PostgreSQLBackupIdParameter":{"name":"backupId","in":"path","description":"The unique identifier of a backup.","required":true,"schema":{"$ref":"#/components/schemas/PostgreSQLBackupId"}},"CatalogueListPage":{"name":"page","in":"query","description":"List articles in paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":500,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":100},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"CloudServiceNameParam":{"name":"domain","in":"query","required":false,"schema":{"$ref":"#/components/schemas/CloudServiceName"}},"KindParam":{"name":"kind","in":"query","required":false,"schema":{"type":"string","examples":["virtual-machine"],"description":"Filter products by their specific kind (e.g., virtual-machine, database)"}},"RegionCodeParam":{"name":"regionCode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/CatalogueRegionCode"}},"RegistryId":{"name":"registryId","in":"path","description":"Registry instance Identifier","required":true,"schema":{"type":"string","maxLength":36,"format":"uuid"}},"ResourceIdentifier":{"name":"id","in":"path","description":"Unique identifier of the resource.","required":true,"schema":{"$ref":"#/components/schemas/Uuid"}},"ServiceAccountId":{"name":"serviceAccountId","in":"path","description":"Service account ID","required":true,"schema":{"type":"string","format":"uuid"}},"UserId":{"name":"userId","in":"path","description":"User account ID","required":true,"schema":{"type":"string","format":"uuid"}},"ResourceId":{"name":"resourceId","in":"path","description":"Identity resource ID","required":true,"schema":{"type":"string","format":"uuid"}},"RoleName":{"name":"name","in":"query","description":"Role name","schema":{"type":"string","format":"string"}},"ListPolicyPage":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":100,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":50},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListRolesPage":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListPermissionsPage":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListRolePermissionsPage":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"Service":{"name":"service","in":"query","description":"service the permission is related to","required":false,"schema":{"type":"string","example":"storageblock"}},"Resource":{"name":"resource","in":"query","description":"resource the permission is related to","required":false,"schema":{"type":"string","example":"bucket"}},"SubResource":{"name":"subresource","in":"query","description":"subresource the permission is related to","required":false,"schema":{"type":"string","example":"object"}},"Action":{"name":"action","in":"query","description":"action the permission allows to perform","required":false,"schema":{"type":"string","example":"get"}},"RoleUuid":{"name":"roleUuid","in":"path","description":"Role ID","required":true,"schema":{"type":"string","format":"uuid"}},"PermissionUuid":{"name":"permissionUuid","in":"path","description":"Permission ID","required":true,"schema":{"type":"string","format":"uuid"}},"SubjectId":{"name":"subjectId","in":"path","description":"Identifier of the subject of the operation.","required":true,"schema":{"type":"string","format":"uuid"}},"SubjectTypeParam":{"name":"subjectType","in":"path","description":"The Type of the Object holding or destined to hold an IAMPolicy","required":true,"schema":{"$ref":"#/components/schemas/SubjectType"}},"OrganisationId":{"name":"organisationId","in":"path","description":"Identifier of the Organisation","required":true,"schema":{"type":"string","format":"uuid"}},"CodeChallengeMethod":{"name":"code_challenge_method","in":"query","description":"Either plain or S256, depending on whether the challenge is the plain verifier string or the SHA256 hash of the string.","required":false,"schema":{"type":"string"}},"CodeChallenge":{"name":"code_challenge","in":"query","description":"The code challenge generated.","required":false,"schema":{"type":"string"}},"ConsentVerifier":{"name":"consent_verifier","in":"query","description":"The code consent verifier.","required":false,"schema":{"type":"string"}},"LoginVerifier":{"name":"login_verifier","in":"query","description":"The code login verifier.","required":false,"schema":{"type":"string"}},"Authorization":{"name":"Authorization","in":"header","description":"The client identifier.","required":false,"schema":{"type":"string"}},"ConsentChallenge":{"name":"consent_challenge","in":"query","description":"token consent challenge","required":true,"schema":{"type":"string"}},"ClientId":{"name":"client_id","in":"query","description":"The client identifier.","required":false,"schema":{"type":"string","format":"uuid"}},"RedirectUri":{"name":"redirect_uri","in":"query","description":"The client's redirect URI.","required":false,"schema":{"type":"string"}},"ResponseType":{"name":"response_type","in":"query","description":"The expected response type.","required":true,"schema":{"type":"string"}},"Scope":{"name":"scope","in":"query","description":"The requested scopes.","required":false,"schema":{"type":"string"}},"State":{"name":"state","in":"query","description":"An opaque value passed to the application after authentication.","required":false,"schema":{"type":"string"}},"UserEmail":{"name":"email","in":"query","description":"User email","required":true,"schema":{"type":"string","format":"email"}},"ServiceAccountName":{"name":"serviceAccountName","in":"query","description":"Service account name","required":true,"schema":{"type":"string","format":"string"}},"ListServiceAccounts":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListSpacesOfUser":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListSpacesOfServiceAccount":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListUser":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"RequiredAuthorization":{"name":"Authorization","in":"header","description":"required authorization token","required":true,"schema":{"type":"string"}},"ListSpacesPage":{"name":"page","in":"query","description":"list spaces paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":30},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListRequesterOrganisations":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}},"ListSpaces":{"name":"page","in":"query","description":"Paginated request","required":false,"style":"deepObject","schema":{"type":"object","properties":{"size":{"type":"integer","maximum":50,"minimum":1,"format":"int32","description":"The maximum number of items to return. The service may return fewer than this value.","default":20},"nextToken":{"type":"string","description":"A page token received from a previous call. Provide this to retrieve the subsequent page."}}}}},"requestBodies":{"CreateKubernetesClusterRequest":{"description":"Cluster creation request body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesClusterCreate"}}}},"CreateKubernetesNodePoolRequest":{"description":"NodePool creation request body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesNodePoolCreate"}}}},"PostgreSQLCreateClusterRequest":{"description":"The request body to create a cluster.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLClusterCreationRequest"}}}},"PostgreSQLModifyClusterRequest":{"description":"The request body to modify a cluster.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLClusterModificationRequest"}}}},"PostgreSQLCreateBackupRequest":{"description":"The request body to create a backup.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostgreSQLCreateBackupRequest"}}}},"CreateRegistryRequest":{"description":"Registry creation request body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryCreation"}}}},"UpdateRegistryRequest":{"description":"Registry update request body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryUpdate"}}}},"CreateDhcpOptionsRequest":{"description":"create dhcp options request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDhcpOptions"}}}},"CreateFlexibleGpuRequest":{"description":"create flexible gpu request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFlexibleGpu"}}}},"CreateImageRequest":{"description":"create image request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImage"}}}},"CreateKeypairRequest":{"description":"create keypair request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeypairRequestSchema"}}}},"CreateListenerRuleRequest":{"description":"create listener rule request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateListenerRule"}}}},"CreateLoadBalancerListenersRequest":{"description":"create load balancer listeners request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLoadBalancerListeners"}}}},"CreateLoadBalancerPolicyRequest":{"description":"create load balancer policy request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLoadBalancerPolicy"}}}},"CreateLoadBalancerRequest":{"description":"create load balancer request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLoadBalancer"}}}},"CreateLoadBalancerTagsRequest":{"description":"create laod balancer tags request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLoadBalancerTags"}}}},"CreateNatGatewayRequest":{"description":"create NAT gateway request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNatGateway"}}}},"CreateNicRequest":{"description":"create Nic request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNic"}}}},"CreateRouteRequest":{"description":"create route request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoute"}}}},"CreateRouteTableRequest":{"description":"create route table request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRouteTable"}}}},"CreateSecurityGroupRequest":{"description":"create security group request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecurityGroup"}}}},"CreateSecurityGroupRuleRequest":{"description":"create security group rule request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecurityGroupRule"}}}},"CreateSnapshotRequest":{"description":"create snapshot request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSnapshot"}}}},"CreateSubnetRequest":{"description":"create subnet request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubnet"}}}},"CreateTagsRequest":{"description":"create tags request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTags"}}}},"CreateVmsRequest":{"description":"create VMs request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVms"}}}},"CreateVolumeRequest":{"description":"create volume request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVolume"}}}},"CreateVpcRequest":{"description":"create VPC request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVpc"}}}},"CreateServerCertificateRequest":{"description":"create server certificate request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServerCertificate"}}}},"DeleteLoadBalancerListenersRequest":{"description":"delete load balancer listeners request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteLoadBalancerListeners"}}}},"DeleteLoadBalancerPolicyRequest":{"description":"delete load balancer policy request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteLoadBalancerPolicy"}}}},"DeleteLoadBalancerTagsRequest":{"description":"delete load balancer tags request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteLoadBalancerTags"}}}},"DeleteRouteRequest":{"description":"delete route request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRoute"}}}},"DeleteSecurityGroupRuleRequest":{"description":"delete security group rule request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteSecurityGroupRule"}}}},"DeleteTagsRequest":{"description":"delete tags request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTags"}}}},"LinkFlexibleGpuRequest":{"description":"link flexible gpu request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkFlexibleGpu"}}}},"LinkInternetGatewayRequest":{"description":"link internet gateway request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkInternetGateway"}}}},"LinkLoadBalancerBackendMachinesRequest":{"description":"link load balancer backend machines request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkLoadBalancerBackendMachines"}}}},"LinkNicRequest":{"description":"link Nic request body","content":{"application/json":{"schema":{"type":"object","properties":{"deviceNumber":{"type":"integer","description":"The index of the VM device for the NIC attachment (between `1` and `7`, both included).","example":1},"vmId":{"type":"string","description":"The ID of the VM to which you want to attach the NIC.","example":"i-12345678"}},"required":["deviceNumber","vmId"],"additionalProperties":false}}}},"LinkPrivateIpsRequest":{"description":"link private IPs request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkPrivateIps"}}}},"LinkPublicIpRequest":{"description":"link public IP request body","content":{"application/json":{"schema":{"type":"object","properties":{"allowRelink":{"type":"boolean","description":"If true, allows the public IP to be associated with the VM or NIC that you specify even if it is already associated with another VM or NIC. If false, prevents the public IP from being associated with the VM or NIC that you specify if it is already associated with another VM or NIC. (By default, true in the public Cloud, false in a Vpc.)","example":true},"nicId":{"type":"string","description":"(Vpc only) The ID of the NIC. This parameter is required if the VM has more than one NIC attached. Otherwise, you need to specify the `VmId` parameter instead. You cannot specify both parameters at the same time.","example":"eni-12345678"},"privateIp":{"type":"string","description":"(Vpc only) The primary or secondary private IP of the specified NIC. By default, the primary private IP.","example":"10.0.0.6"},"vmId":{"type":"string","description":"The ID of the VM.\u003cbr /\u003e\n- In the public Cloud, this parameter is required.\u003cbr /\u003e\n- In a Vpc, this parameter is required if the VM has only one NIC. Otherwise, you need to specify the `NicId` parameter instead. You cannot specify both parameters at the same time.","example":"i-12345678"}},"additionalProperties":false}}}},"LinkRouteTableRequest":{"description":"link route table request body","content":{"application/json":{"schema":{"type":"object","properties":{"subnetId":{"type":"string","description":"The ID of the Subnet.","example":"subnet-12345678"}},"required":["subnetId"],"additionalProperties":false}}}},"LinkVolumeRequest":{"description":"link volume request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkVolume"}}}},"ReadLoadBalancerTagsRequest":{"description":"read load balancer tags request body","content":{"application/json":{"schema":{"type":"object","properties":{"names":{"type":"array","items":{"type":"string"},"description":"One or more load balancer names.","example":["private-lb-example"]}},"required":["names"],"additionalProperties":false}}}},"ReadVmsHealthRequest":{"description":"read vms health request body","content":{"application/json":{"schema":{"type":"object","properties":{"backendVmIds":{"type":"array","items":{"type":"string"},"description":"One or more IDs of back-end VMs.","example":["i-12345678","i-87654321"]}},"additionalProperties":false}}}},"StopVmRequest":{"description":"stop VM request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StopVm"}}}},"UnlinkInternetGatewayRequest":{"description":"unlink internet gateway request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkInternetGateway"}}}},"UnlinkLoadBalancerBackendMachinesRequest":{"description":"unlink load balancer backend machines request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkLoadBalancerBackendMachines"}}}},"UnlinkNicRequest":{"description":"unlink Nic request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkNic"}}}},"UnlinkPrivateIpsRequest":{"description":"unlink private IPs request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkPrivateIps"}}}},"UnlinkPublicIpRequest":{"description":"unlink public IP request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkPublicIp"}}}},"UnlinkRouteTableRequest":{"description":"unlink route table request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkRouteTable"}}}},"UnlinkVolumeRequest":{"description":"unlink volume request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlinkVolume"}}}},"UpdateFlexibleGpuRequest":{"description":"update flexible gpu request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFlexibleGpu"}}}},"UpdateImageRequest":{"description":"update image request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateImage"}}}},"UpdateListenerRuleRequest":{"description":"update listener rule request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateListenerRule"}}}},"UpdateLoadBalancerRequest":{"description":"update load balancer request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLoadBalancer"}}}},"UpdateNicRequest":{"description":"update Nic request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNic"}}}},"UpdateRouteRequest":{"description":"update route request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoute"}}}},"UpdateRouteTableRoutePropagationRequest":{"description":"update route table propagation request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRouteTableRoutePropagation"}}}},"UpdateSubnetRequest":{"description":"update subnet request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubnet"}}}},"UpdateVmRequest":{"description":"update vm request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVm"}}}},"UpdateVolumeRequest":{"description":"update volume request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVolume"}}}},"UpdateVpcRequest":{"description":"update VPC request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVpc"}}}},"UpdateServerCertificateRequest":{"description":"update server certificate request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServerCertificate"}}}},"CreateImageExportTaskRequest":{"description":"Create image export task request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageExportTask"}}}},"CreateSnapshotExportTaskRequest":{"description":"Create snapshot export task request body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSnapshotExportTask"}}}},"CreateBridgeRequest":{"description":"Create a bridge between two Numspot resources.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBridge"}}},"required":true},"CreateComputeBridgeRequest":{"description":"Create a bridge between two NumSpot resources.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateComputeBridge"}}},"required":true},"CreateHybridBridgeRequest":{"description":"Create a bridge between a NumSpot resource and an external resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateHybridBridge"}}},"required":true},"CreateDirectLinkInterfaceRequest":{"description":"Create an interface to a direct link.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDirectLinkInterface"}}},"required":true},"CreateDirectLinkRequest":{"description":"Create a direct link, please contact NumSpot support for more information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDirectLink"}}},"required":true},"CreateClientGatewayRequest":{"description":"Create a client gateway resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClientGateway"}}}},"CreateVirtualGatewayRequest":{"description":"Create a virtual gateway resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVirtualGateway"}}}},"LinkUnlinkVirtualGatewayRequest":{"description":"Link virtual gateway.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkUnlinkVirtualGateway"}}}},"CreateVPNConnectionRequest":{"description":"Create a VPN connection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVPNConnection"}}}},"UpdateVPNConnectionRequest":{"description":"Update VPN connection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVPNConnection"}}}},"CreateVPNConnectionRouteRequest":{"description":"Create a VPN connection route.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVPNConnectionRoute"}}}},"DeleteVPNConnectionRouteRequest":{"description":"Delete VPN connection route.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteVPNConnectionRoute"}}}},"CreateRoleRequest":{"description":"Role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"required":true},"SetACLRequest":{"description":"Contains ACLs to be added.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLList"}}},"required":true},"DeleteACLRequest":{"description":"Contains ACLs to be removed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ACLList"}}},"required":true},"SetIAMPolicyRequest":{"description":"Contains details of roles and permissions to be added or deleted from the IAM policy","content":{"application/json":{"schema":{"type":"object","properties":{"add":{"$ref":"#/components/schemas/IAMPolicy"},"delete":{"$ref":"#/components/schemas/IAMPolicy"}},"description":"Defines the structure for modification instructions for roles and permissions"}}},"required":true},"IntrospectRequest":{"description":"OAuth2 introspect request","content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/TokenBody"}}},"required":true},"TokenRequest":{"description":"OAuth2 token request","content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/TokenReq"}}},"required":true},"RevokeRequest":{"description":"OAuth2 revoke request","content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/TokenBody"}}},"required":true},"ConvertTokenRequest":{"description":"Token to be converted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}},"required":true},"CreateServiceAccountRequest":{"description":"Create a new service account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"required":true},"UpdateServiceAccountRequest":{"description":"Update a service account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccount"}}},"required":true},"CreateUserRequest":{"description":"Create a user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"required":true},"UpdateUserRequest":{"description":"Update a user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"CreateSpaceRequest":{"description":"Space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSpace"}}},"required":true},"UpdateSpaceRequest":{"description":"Space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MutableSpace"}}},"required":true}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"BasicAuth":{"type":"http","scheme":"basic"}}},"tags":[{"name":"Inventory","description":"API to manage and query inventory resources"},{"name":"Kubernetes","description":"Kubernetes Endpoints"},{"name":"PostgreSQL","description":"PostgreSQL Endpoints"},{"name":"Catalogue","description":"API for accessing NumSpot's catalogue of products with pricing information"},{"name":"Registry","description":"Registry Endpoints"},{"name":"Compute","description":"IaaS Compute Endpoints"},{"name":"Connectivity","description":"Connectivity Endpoints"},{"name":"Identity Access Management","description":"All the endpoints related to Identity and Access Management (aka IAM)"}]}