openapi: 3.0.1
servers:
  - url: https://online.visualstudio.com
info:
  description: Public APIs for managing VS Codespaces
  title: VSOnline
  version: v1
  x-apisguru-categories:
    - developer_tools
    - collaboration
  x-origin:
    - format: openapi
      url: https://online.visualstudio.com/api/v1/swagger
      version: "3.0"
  x-providerName: visualstudio.com
security:
  - Bearer: []
paths:
  /api/v1/AgentTelemetry:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          application/json-patch+json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          text/json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
      tags:
        - AgentTelemetry
  /api/v1/AgentTelemetry/standalone:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          application/json-patch+json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
          text/json:
            schema:
              items:
                $ref: "#/components/schemas/TelemetryData"
              type: array
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
      tags:
        - AgentTelemetry
  "/api/v1/Agents/{family}":
    get:
      parameters:
        - in: path
          name: family
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AgentResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/AgentResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/AgentResponse"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Agents
  /api/v1/Environments:
    get:
      parameters:
        - in: query
          name: name
          schema:
            type: string
        - in: query
          name: planId
          schema:
            type: string
        - in: query
          name: deleted
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/CloudEnvironmentResult"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/CloudEnvironmentResult"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/CloudEnvironmentResult"
                type: array
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
      tags:
        - Environments
    post:
      parameters:
        - in: query
          name: access
          schema:
            type: boolean
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateCloudEnvironmentBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateCloudEnvironmentBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateCloudEnvironmentBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateCloudEnvironmentBody"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Created
        "307":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Redirect
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Forbidden
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Conflict
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}":
    delete:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
    get:
      operationId: GetEnvironmentRoute
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: connect
          schema:
            type: boolean
        - in: query
          name: pfConnect
          schema:
            type: boolean
        - in: query
          name: deleted
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
    patch:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateCloudEnvironmentBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateCloudEnvironmentBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdateCloudEnvironmentBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateCloudEnvironmentBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Conflict
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/_callback":
    post:
      operationId: UpdateEnvironmentRoute
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/EnvironmentRegistrationCallbackBody"
          application/json:
            schema:
              $ref: "#/components/schemas/EnvironmentRegistrationCallbackBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/EnvironmentRegistrationCallbackBody"
          text/json:
            schema:
              $ref: "#/components/schemas/EnvironmentRegistrationCallbackBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/archive":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnfilteredCloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/UnfilteredCloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/UnfilteredCloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/export":
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/folder":
    patch:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CloudEnvironmentFolderBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CloudEnvironmentFolderBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CloudEnvironmentFolderBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CloudEnvironmentFolderBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/MessageCodes"
                type: array
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/heartbeattoken":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/notify":
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NotificationDataBody"
          application/json:
            schema:
              $ref: "#/components/schemas/NotificationDataBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NotificationDataBody"
          text/json:
            schema:
              $ref: "#/components/schemas/NotificationDataBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
            text/plain:
              schema:
                type: string
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/ports/{port}":
    delete:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
        - in: path
          name: port
          required: true
          schema:
            format: int32
            maximum: 65535
            minimum: 1
            type: integer
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
    put:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
        - in: path
          name: port
          required: true
          schema:
            format: int32
            maximum: 65535
            minimum: 1
            type: integer
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/AddForwardedPortSettings"
          application/json:
            schema:
              $ref: "#/components/schemas/AddForwardedPortSettings"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/AddForwardedPortSettings"
          text/json:
            schema:
              $ref: "#/components/schemas/AddForwardedPortSettings"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/restore":
    patch:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/secrets":
    put:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateUserSecretsRequestBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateUserSecretsRequestBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdateUserSecretsRequestBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateUserSecretsRequestBody"
      responses:
        "204":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: No Content
        "307":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Redirect
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Forbidden
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/shutdown":
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/start":
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: access
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/state":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/Environments/{environmentId}/updates":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  /api/v1/GenevaActions/Billing/resend:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ReplayBillRequestBody"
          application/json:
            schema:
              $ref: "#/components/schemas/ReplayBillRequestBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/ReplayBillRequestBody"
          text/json:
            schema:
              $ref: "#/components/schemas/ReplayBillRequestBody"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillSummary"
            text/json:
              schema:
                $ref: "#/components/schemas/BillSummary"
            text/plain:
              schema:
                $ref: "#/components/schemas/BillSummary"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Billing
  "/api/v1/GenevaActions/Billing/{environmentId}":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: startTime
          schema:
            type: string
        - in: query
          name: endTime
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillSummary"
            text/json:
              schema:
                $ref: "#/components/schemas/BillSummary"
            text/plain:
              schema:
                $ref: "#/components/schemas/BillSummary"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Billing
  "/api/v1/GenevaActions/Billing/{environmentId}/state-changes":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
            text/json:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
            text/plain:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Billing
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentStateChangeBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentStateChangeBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentStateChangeBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentStateChangeBody"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
            text/json:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
            text/plain:
              schema:
                $ref: "#/components/schemas/EnvironmentStateChange"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Billing
  "/api/v1/GenevaActions/Configuration/{target}":
    post:
      parameters:
        - in: path
          name: target
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdateSystemConfigurationBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateSystemConfigurationBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdateSystemConfigurationBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdateSystemConfigurationBody"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Configuration
  "/api/v1/GenevaActions/Configuration/{target}/{key}":
    delete:
      parameters:
        - in: path
          name: target
          required: true
          schema:
            type: string
        - in: path
          name: key
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Configuration
    get:
      parameters:
        - in: path
          name: target
          required: true
          schema:
            type: string
        - in: path
          name: key
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Configuration
  "/api/v1/GenevaActions/Environments/storage/{environmentIdOrFriendlyName}/{targetBlob}":
    get:
      parameters:
        - in: path
          name: environmentIdOrFriendlyName
          required: true
          schema:
            type: string
        - in: path
          name: targetBlob
          required: true
          schema:
            default: None
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
            text/plain:
              schema:
                type: string
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/GenevaActions/Environments/{environmentId}":
    delete:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: deletionType
          schema:
            type: string
      responses:
        "204":
          description: No Content
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/GenevaActions/Environments/{environmentId}/archive":
    put:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/GenevaActions/Environments/{environmentId}/shutdown":
    put:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CloudEnvironmentResult"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  "/api/v1/GenevaActions/Environments/{environmentId}/upload/running/vm/logs":
    post:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VmLogsUploadInfo"
            text/json:
              schema:
                $ref: "#/components/schemas/VmLogsUploadInfo"
            text/plain:
              schema:
                $ref: "#/components/schemas/VmLogsUploadInfo"
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Environments
  /api/v1/GenevaActions/Pools/change-resource-deletion-setting:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ChangeResourceDeletionRequestBody"
          application/json:
            schema:
              $ref: "#/components/schemas/ChangeResourceDeletionRequestBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/ChangeResourceDeletionRequestBody"
          text/json:
            schema:
              $ref: "#/components/schemas/ChangeResourceDeletionRequestBody"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Pools
  "/api/v1/GenevaActions/Pools/{poolCode}/rotate-pool":
    post:
      parameters:
        - in: path
          name: poolCode
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "503":
          description: Server Error
      tags:
        - Pools
  "/api/v1/GenevaActions/Pools/{target}":
    post:
      parameters:
        - in: path
          name: target
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PoolConfigRequestBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PoolConfigRequestBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PoolConfigRequestBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PoolConfigRequestBody"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/SystemConfigurationResponse"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Pools
  /api/v1/GenevaActions/Prebuilds/pools/createorupdatesettings:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
        required: true
      responses:
        "201":
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Prebuilds
  /api/v1/GenevaActions/Prebuilds/pools/delete:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PoolSettingsBody"
        required: true
      responses:
        "201":
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Prebuilds
  /api/v1/GenevaActions/Privacy/refresh-profile-telemetry-properties:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesRequest"
          application/json:
            schema:
              $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesRequest"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesRequest"
          text/json:
            schema:
              $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesResponse"
            text/json:
              schema:
                $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesResponse"
            text/plain:
              schema:
                $ref: "#/components/schemas/RefreshProfileTelemetryPropertiesResponse"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Privacy
  "/api/v1/GenevaActions/Resources/{resourceId}/under-investigation":
    post:
      parameters:
        - in: path
          name: resourceId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnderInvestigationResponseBody"
            text/json:
              schema:
                $ref: "#/components/schemas/UnderInvestigationResponseBody"
            text/plain:
              schema:
                $ref: "#/components/schemas/UnderInvestigationResponseBody"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Resources
  /api/v1/GenevaActions/VnetPoolDefinitions:
    delete:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          application/json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          text/json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          description: Server Error
      tags:
        - VnetPoolDefinitions
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          application/json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
          text/json:
            schema:
              $ref: "#/components/schemas/PoolDefinitionInput"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          description: Server Error
      tags:
        - VnetPoolDefinitions
  /api/v1/HeartBeat:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/HeartBeatBody"
          application/json:
            schema:
              $ref: "#/components/schemas/HeartBeatBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/HeartBeatBody"
          text/json:
            schema:
              $ref: "#/components/schemas/HeartBeatBody"
      responses:
        "204":
          description: No Content
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Client Error
      tags:
        - HeartBeat
  /api/v1/Locations:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocationsResult"
            text/json:
              schema:
                $ref: "#/components/schemas/LocationsResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/LocationsResult"
          description: Success
      tags:
        - Locations
  "/api/v1/Locations/{location}":
    get:
      parameters:
        - in: path
          name: location
          required: true
          schema:
            type: string
        - in: query
          name: planId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LocationInfoResult"
            text/json:
              schema:
                $ref: "#/components/schemas/LocationInfoResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/LocationInfoResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Locations
  "/api/v1/Prebuilds/pools/{poolId}/instances":
    post:
      parameters:
        - in: path
          name: poolId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
      responses:
        "201":
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Prebuilds
    put:
      parameters:
        - in: path
          name: poolId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateEnvironmentPoolResourceBody"
      responses:
        "201":
          description: Created
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Prebuilds
  "/api/v1/Prebuilds/template/{environmentId}":
    get:
      operationId: GetTemplateInfoRoute
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PrebuildTemplateInfoResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PrebuildTemplateInfoResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PrebuildTemplateInfoResult"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Prebuilds
  /api/v1/Sas:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Sas
  /api/v1/Secrets:
    get:
      parameters:
        - in: query
          name: planId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/ScopedSecretResultBody"
                type: array
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Secrets
    post:
      parameters:
        - in: query
          name: planId
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ScopedCreateSecretBody"
          application/json:
            schema:
              $ref: "#/components/schemas/ScopedCreateSecretBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/ScopedCreateSecretBody"
          text/json:
            schema:
              $ref: "#/components/schemas/ScopedCreateSecretBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
            text/json:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
            text/plain:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Secrets
  "/api/v1/Secrets/{secretId}":
    delete:
      parameters:
        - in: query
          name: planId
          schema:
            type: string
        - in: query
          name: scope
          schema:
            $ref: "#/components/schemas/SecretScope"
        - in: path
          name: secretId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "204":
          description: No Content
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Secrets
    put:
      parameters:
        - in: query
          name: planId
          schema:
            type: string
        - in: path
          name: secretId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ScopedUpdateSecretBody"
          application/json:
            schema:
              $ref: "#/components/schemas/ScopedUpdateSecretBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/ScopedUpdateSecretBody"
          text/json:
            schema:
              $ref: "#/components/schemas/ScopedUpdateSecretBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
            text/json:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
            text/plain:
              schema:
                $ref: "#/components/schemas/ScopedSecretResultBody"
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
      tags:
        - Secrets
  "/api/v1/Tenant/{tenantId}":
    delete:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Tenant
    get:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TenantInfoResult"
            text/json:
              schema:
                $ref: "#/components/schemas/TenantInfoResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/TenantInfoResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Tenant
    put:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Tenant
  "/api/v1/Tokens/plans/{planName}/deleteAllCodespaces":
    post:
      parameters:
        - in: path
          name: planName
          required: true
          schema:
            type: string
        - in: header
          name: x-subscription-id
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Tokens
  "/api/v1/Tokens/plans/{planName}/readAllCodespaces":
    post:
      parameters:
        - in: path
          name: planName
          required: true
          schema:
            type: string
        - in: header
          name: x-subscription-id
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Tokens
  "/api/v1/Tokens/plans/{planName}/writeCodespaces":
    post:
      parameters:
        - in: path
          name: planName
          required: true
          schema:
            type: string
        - in: header
          name: x-subscription-id
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Tokens
  "/api/v1/Tokens/plans/{planName}/writeDelegates":
    post:
      parameters:
        - in: path
          name: planName
          required: true
          schema:
            type: string
        - in: header
          name: x-subscription-id
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          text/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
      responses:
        "200":
          description: Success
      tags:
        - Tokens
  "/api/v1/Tokens/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/{providerNamespace}/plans/{resourceName}":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: providerNamespace
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: header
          name: headers
          schema:
            $ref: "#/components/schemas/PlanResourceHeaders"
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Tokens
  "/api/v1/Tunnel/{environmentId}/portInfo":
    get:
      parameters:
        - in: path
          name: environmentId
          required: true
          schema:
            format: uuid
            type: string
        - in: query
          name: portNumber
          schema:
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TunnelPortInfoResult"
            text/json:
              schema:
                $ref: "#/components/schemas/TunnelPortInfoResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/TunnelPortInfoResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Tunnel
  /api/v1/UserSubscriptions:
    delete:
      parameters:
        - in: query
          name: email
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - UserSubscriptions
    post:
      parameters:
        - in: query
          name: email
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - UserSubscriptions
  /api/v1/pools/default:
    get:
      parameters:
        - in: query
          name: skuName
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/PoolStatusResponseBody"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/PoolStatusResponseBody"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/PoolStatusResponseBody"
                type: array
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
      tags:
        - Pools
  "/api/v1/subscriptions/{subscriptionId}/providers/GitHub.Network/{resourceType}/SubscriptionLifeCycleNotification":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          text/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/providers/GitHub.Network/{resourceType}/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/providers/Microsoft.Codespaces/plans/SubscriptionLifeCycleNotification":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          text/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/providers/Microsoft.Codespaces/plans/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/providers/Microsoft.VSOnline/plans/SubscriptionLifeCycleNotification":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
          text/json:
            schema:
              $ref: "#/components/schemas/RPSubscriptionNotification"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/providers/Microsoft.VSOnline/plans/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResourceList"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}":
    delete:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
    patch:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourceCreationCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourceCreationValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourceDeletionCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourceDeletionValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourcePatchCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourcePatchValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/GitHub.Network/{resourceType}/{resourceName}/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceType
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
          text/json:
            schema:
              $ref: "#/components/schemas/NetworkSettingsResource"
      responses:
        "200":
          description: Success
      tags:
        - NetworkSettings
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: header
          name: headers
          schema:
            $ref: "#/components/schemas/PlanResourceHeaders"
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/deleteAllCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/deleteAllEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/readAllCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/readAllEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/readDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourceCreationCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourceCreationValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourceDeletionValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourcePatchCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: header
          name: headers
          schema:
            $ref: "#/components/schemas/PlanResourceHeaders"
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourcePatchValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/writeCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/writeDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          text/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/writeEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceList"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}":
    put:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: header
          name: headers
          schema:
            $ref: "#/components/schemas/PlanResourceHeaders"
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/deleteAllCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/deleteAllEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/readAllCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/readAllEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/readDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourceCreationCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourceCreationValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourceDeletionValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourcePatchCompleted":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: header
          name: headers
          schema:
            $ref: "#/components/schemas/PlanResourceHeaders"
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourcePatchValidate":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResourceUpdateBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/resourceReadBegin":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/PlanResource"
          text/json:
            schema:
              $ref: "#/components/schemas/PlanResource"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/writeCodespaces":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/writeDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
          text/json:
            schema:
              $ref: "#/components/schemas/IssueDelegatePlanAccessTokenBody"
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/writeEnvironments":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
        - in: query
          name: expiration
          schema:
            format: date-time
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/{resourceGroup}/providers/Microsoft.Codespaces/plans/{resourceName}/deleteDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/subscriptions/{subscriptionId}/{resourceGroup}/providers/Microsoft.VSOnline/plans/{resourceName}/deleteDelegates":
    post:
      parameters:
        - in: path
          name: subscriptionId
          required: true
          schema:
            type: string
        - in: path
          name: resourceGroup
          required: true
          schema:
            type: string
        - in: path
          name: resourceName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
      tags:
        - Plans
  "/api/v1/tenant/{tenantId}/Pool/{poolName}":
    delete:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Pool
    get:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PoolResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Pool
    patch:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PoolResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Pool
    put:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreateOrUpdatePoolBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PoolResult"
          description: Success
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PoolResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PoolResult"
          description: Accepted
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Pool
  "/api/v1/tenant/{tenantId}/PoolGroup/{poolGroupName}":
    delete:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolGroupName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - PoolGroup
    get:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolGroupName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PoolGroupResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PoolGroupResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PoolGroupResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - PoolGroup
    patch:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolGroupName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdatePoolGroupBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePoolGroupBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdatePoolGroupBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdatePoolGroupBody"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - PoolGroup
    put:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolGroupName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreatePoolGroupBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePoolGroupBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreatePoolGroupBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreatePoolGroupBody"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - PoolGroup
  "/api/v1/tenant/{tenantId}/pool/{poolName}/Vm":
    get:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/VMResult"
                type: array
            text/json:
              schema:
                items:
                  $ref: "#/components/schemas/VMResult"
                type: array
            text/plain:
              schema:
                items:
                  $ref: "#/components/schemas/VMResult"
                type: array
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
  "/api/v1/tenant/{tenantId}/pool/{poolName}/Vm/{vmName}":
    delete:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
        - in: path
          name: vmName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
    get:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
        - in: path
          name: vmName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/VMResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
    put:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
        - in: path
          name: vmName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/ClaimVMBody"
          application/json:
            schema:
              $ref: "#/components/schemas/ClaimVMBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/ClaimVMBody"
          text/json:
            schema:
              $ref: "#/components/schemas/ClaimVMBody"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/VMResult"
          description: Success
        "202":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/json:
              schema:
                $ref: "#/components/schemas/VMResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/VMResult"
          description: Accepted
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
  "/api/v1/tenant/{tenantId}/pool/{poolName}/Vm/{vmName}/start":
    post:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
        - in: path
          name: vmName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
  "/api/v1/tenant/{tenantId}/pool/{poolName}/Vm/{vmName}/stop":
    post:
      parameters:
        - in: path
          name: tenantId
          required: true
          schema:
            format: uuid
            type: string
        - in: path
          name: poolName
          required: true
          schema:
            type: string
        - in: path
          name: vmName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "500":
          description: Server Error
        "503":
          description: Server Error
      tags:
        - Vm
  /api/v2/prebuilds/delete:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/DeletePrebuildTemplatesBody"
          application/json:
            schema:
              $ref: "#/components/schemas/DeletePrebuildTemplatesBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/DeletePrebuildTemplatesBody"
          text/json:
            schema:
              $ref: "#/components/schemas/DeletePrebuildTemplatesBody"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - PrebuildsV
  "/api/v2/prebuilds/repository/{repoId}/branch/{branchName}":
    delete:
      parameters:
        - in: path
          name: repoId
          required: true
          schema:
            format: int64
            type: integer
        - in: path
          name: branchName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - PrebuildsV
  /api/v2/prebuilds/templates:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/CreatePrebuildTemplateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePrebuildTemplateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/CreatePrebuildTemplateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/CreatePrebuildTemplateBody"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateTemplateResult"
            text/json:
              schema:
                $ref: "#/components/schemas/CreateTemplateResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/CreateTemplateResult"
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
      tags:
        - PrebuildsV
  "/api/v2/prebuilds/templates/skus/repo/{repoId}/branch/{branchName}/hash/{prebuildHash}/location/{location}/devcontainerpath/{devContainerPath}":
    get:
      operationId: GetPrebuildReadinessSkusRoute
      parameters:
        - in: path
          name: repoId
          required: true
          schema:
            type: string
        - in: path
          name: branchName
          required: true
          schema:
            type: string
        - in: path
          name: prebuildHash
          required: true
          schema:
            type: string
        - in: path
          name: location
          required: true
          schema:
            type: string
        - in: path
          name: devContainerPath
          required: true
          schema:
            type: string
        - in: query
          name: storageType
          schema:
            $ref: "#/components/schemas/StorageType"
        - in: query
          name: fastPathEnabled
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PrebuildReadinessResult"
            text/json:
              schema:
                $ref: "#/components/schemas/PrebuildReadinessResult"
            text/plain:
              schema:
                $ref: "#/components/schemas/PrebuildReadinessResult"
          description: Success
        "400":
          content:
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
            text/plain:
              schema:
                type: string
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - PrebuildsV
  /api/v2/prebuilds/templates/updatemaxversions:
    post:
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateVersionsBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateVersionsBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateVersionsBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateVersionsBody"
      responses:
        "200":
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Bad Request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
        "503":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/json:
              schema:
                $ref: "#/components/schemas/MessageCodes"
            text/plain:
              schema:
                $ref: "#/components/schemas/MessageCodes"
          description: Server Error
      tags:
        - PrebuildsV
  "/api/v2/prebuilds/templates/{templateId}/updatestatus":
    post:
      parameters:
        - in: path
          name: templateId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/*+json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateBody"
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateBody"
          application/json-patch+json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateBody"
          text/json:
            schema:
              $ref: "#/components/schemas/UpdatePrebuildTemplateBody"
      responses:
        "200":
          description: Success
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - PrebuildsV
  /health:
    get:
      responses:
        "200":
          description: Success
        "500":
          description: Server Error
      tags:
        - Health
  /internal/Netmon/correlation:
    get:
      parameters:
        - in: query
          name: macAddress
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                format: byte
                type: string
            text/json:
              schema:
                format: byte
                type: string
            text/plain:
              schema:
                format: byte
                type: string
          description: Success
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
            text/plain:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
          description: Not Found
      tags:
        - Netmon
  /warmup:
    get:
      responses:
        "200":
          description: Success
        "503":
          description: Server Error
      tags:
        - Warmup
components:
  schemas:
    AddForwardedPortSettings:
      additionalProperties: false
      properties:
        privacy:
          $ref: "#/components/schemas/PrivacyEnum"
        tunnelType:
          $ref: "#/components/schemas/TunnelType"
      type: object
    AgentResponse:
      additionalProperties: false
      properties:
        assetUri:
          nullable: true
          type: string
        family:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
      type: object
    AvailableSettingsResult:
      additionalProperties: false
      properties:
        sku:
          items:
            type: string
          nullable: true
          type: array
      type: object
    AzureLocation:
      enum:
        - 101 (EastAsia)
        - 102 (SouthEastAsia)
        - 201 (AustraliaCentral)
        - 202 (AustraliaCentral2)
        - 203 (AustraliaEast)
        - 205 (AustraliaSouthEast)
        - 301 (BrazilSouth)
        - 401 (CanadaCentral)
        - 402 (CanadaEast)
        - 501 (NorthEurope)
        - 502 (WestEurope)
        - 601 (FranceCentral)
        - 602 (FranceSouth)
        - 701 (CentralIndia)
        - 702 (SouthIndia)
        - 703 (WestIndia)
        - 801 (JapanEast)
        - 802 (JapanWest)
        - 901 (KoreaCentral)
        - 902 (KoreaSouth)
        - 1001 (SouthAfricaNorth)
        - 1002 (SouthAfricaWest)
        - 1201 (UaeCentral)
        - 1202 (UaeNorth)
        - 1401 (UkSouth)
        - 1402 (UkWest)
        - 1501 (CentralUs)
        - 1502 (EastUs)
        - 1503 (EastUs2)
        - 1504 (NorthCentralUs)
        - 1505 (SouthCentralUs)
        - 1506 (WestCentralUs)
        - 1507 (WestUs)
        - 1508 (WestUs2)
        - 1509 (WestUs3)
        - 1601 (CentralUsEuap)
        - 1602 (EastUs2Euap)
        - 1701 (SwitzerlandNorth)
        - 1702 (SwitzerlandWest)
        - 1801 (GermanyNorth)
        - 1802 (GermanyWestCentral)
        - 1901 (NorwayWest)
        - 1902 (NorwayEast)
      format: int32
      type: integer
    BillSummary:
      additionalProperties: false
      properties:
        billGenerationTime:
          format: date-time
          type: string
        environmentId:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
        location:
          $ref: "#/components/schemas/AzureLocation"
        partitionKey:
          nullable: true
          type: string
        periodEnd:
          format: date-time
          type: string
        periodStart:
          format: date-time
          type: string
        plan:
          $ref: "#/components/schemas/VsoPlanInfo"
        usage:
          additionalProperties:
            format: double
            type: number
          deprecated: true
          nullable: true
          type: object
        usageDetail:
          items:
            $ref: "#/components/schemas/EnvironmentUsage"
          nullable: true
          type: array
      type: object
    BillableOwnerBody:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        login:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/BillableOwnerType"
      type: object
    BillableOwnerType:
      enum:
        - 0 (User)
        - 1 (Organization)
      format: int32
      type: integer
    BillingProperties:
      additionalProperties: false
      properties:
        billingType:
          nullable: true
          type: string
        channelType:
          nullable: true
          type: string
        paymentType:
          nullable: true
          type: string
        tier:
          nullable: true
          type: string
        workloadType:
          nullable: true
          type: string
      type: object
    ChangeResourceDeletionRequestBody:
      additionalProperties: false
      properties:
        comment:
          nullable: true
          type: string
        enabled:
          type: boolean
        poolCode:
          nullable: true
          type: string
        poolType:
          nullable: true
          type: string
        region:
          nullable: true
          type: string
      type: object
    ClaimVMBody:
      additionalProperties: false
      properties:
        user:
          $ref: "#/components/schemas/UserIdentity"
      required:
        - user
      type: object
    ClientUsageData:
      additionalProperties: false
      properties:
        activeMinutes:
          format: int32
          type: integer
        lastActivity:
          format: date-time
          type: string
      type: object
    ClientUsageSession:
      additionalProperties: false
      properties:
        sessionId:
          nullable: true
          type: string
        usageData:
          additionalProperties:
            $ref: "#/components/schemas/ClientUsageData"
          nullable: true
          type: object
      type: object
    CloudEnvironmentFolderBody:
      additionalProperties: false
      properties:
        recentFolderPaths:
          items:
            type: string
          nullable: true
          type: array
      type: object
    CloudEnvironmentResult:
      additionalProperties: false
      properties:
        accessToken:
          nullable: true
          type: string
        active:
          format: date-time
          type: string
        autoShutdownDelayMinutes:
          format: int32
          type: integer
        billableOwnerType:
          $ref: "#/components/schemas/BillableOwnerType"
        clientUsage:
          $ref: "#/components/schemas/ClientUsageSession"
        connection:
          $ref: "#/components/schemas/ConnectionInfoBody"
        container:
          $ref: "#/components/schemas/ContainerInfoBody"
        containerImage:
          nullable: true
          type: string
        createFromPrebuild:
          type: boolean
        created:
          format: date-time
          type: string
        displayStorageUtilizationInKb:
          type: boolean
        exportedBlobUrl:
          nullable: true
          type: string
        failoverDetails:
          $ref: "#/components/schemas/FailoverDetails"
        features:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        friendlyName:
          nullable: true
          type: string
        gitStatus:
          $ref: "#/components/schemas/GitStatus"
        id:
          nullable: true
          type: string
        lastStateUpdateReason:
          nullable: true
          type: string
        lastUsed:
          format: date-time
          nullable: true
          type: string
        location:
          nullable: true
          type: string
        organizationId:
          nullable: true
          type: string
        ownerId:
          nullable: true
          type: string
        planId:
          nullable: true
          type: string
        platform:
          nullable: true
          type: string
        portForwardingConnection:
          $ref: "#/components/schemas/ConnectionInfoBody"
        prebuildType:
          nullable: true
          type: string
        recentFolders:
          items:
            type: string
          nullable: true
          type: array
        resourceTier:
          $ref: "#/components/schemas/ConsumerType"
        runtimeConstraints:
          $ref: "#/components/schemas/RuntimeConstraintsBody"
        seed:
          $ref: "#/components/schemas/SeedInfoBody"
        skuDisplayName:
          nullable: true
          type: string
        skuName:
          nullable: true
          type: string
        state:
          nullable: true
          type: string
        storageUtilizationInKb:
          format: int64
          nullable: true
          type: integer
        subscriptionData:
          $ref: "#/components/schemas/SubscriptionData"
        templateStatus:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
        updated:
          format: date-time
          type: string
      type: object
    CloudEnvironmentState:
      enum:
        - 0 (None)
        - 1 (Created)
        - 2 (Queued)
        - 3 (Provisioning)
        - 4 (Available)
        - 5 (Awaiting)
        - 6 (Unavailable)
        - 7 (Deleted)
        - 8 (Moved)
        - 9 (Shutdown)
        - 10 (Archived)
        - 11 (Starting)
        - 12 (ShuttingDown)
        - 13 (Failed)
        - 14 (Exporting)
        - 15 (Updating)
        - 16 (Rebuilding)
      format: int32
      type: integer
    CollectedData:
      additionalProperties: false
      properties:
        environmentId:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        parentActivityId:
          nullable: true
          type: string
        timestamp:
          format: date-time
          type: string
      type: object
    ComputeUsageDetail:
      additionalProperties: false
      properties:
        sku:
          nullable: true
          type: string
        usage:
          format: double
          type: number
      type: object
    ConnectionInfoBody:
      additionalProperties: false
      properties:
        connectionServiceUri:
          nullable: true
          type: string
        connectionSessionId:
          nullable: true
          type: string
        connectionSessionPath:
          nullable: true
          type: string
        hostPublicKeys:
          items:
            type: string
          nullable: true
          type: array
        relayEndpoint:
          nullable: true
          type: string
        relaySasToken:
          nullable: true
          type: string
        sessionToken:
          nullable: true
          type: string
        tunnelProperties:
          $ref: "#/components/schemas/TunnelProperties"
      type: object
    ConsumerType:
      enum:
        - 0 (None)
        - 1 (System)
        - 2 (Trusted)
        - 4 (Neutral)
        - 8 (Untrusted)
        - 9 (Test)
      format: int32
      type: integer
    ContainerInfo:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        imageName:
          nullable: true
          type: string
        schemaVersion:
          nullable: true
          type: string
      type: object
    ContainerInfoBody:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        schemaVersion:
          nullable: true
          type: string
      type: object
    CreateCloudEnvironmentBody:
      additionalProperties: false
      properties:
        analyticsTrackingId:
          nullable: true
          type: string
        autoShutdownDelayMinutes:
          format: int32
          type: integer
        billableOwner:
          $ref: "#/components/schemas/BillableOwnerBody"
        connection:
          $ref: "#/components/schemas/ConnectionInfoBody"
        containerImage:
          nullable: true
          type: string
        createAsPrebuild:
          type: boolean
        devContainerJson:
          nullable: true
          type: string
        devContainerPath:
          nullable: true
          type: string
        experimentalFeatures:
          $ref: "#/components/schemas/ExperimentalFeaturesBody"
        features:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        friendlyName:
          type: string
        gitHubApiUrl:
          nullable: true
          type: string
        gitHubAppUrl:
          nullable: true
          type: string
        gitHubPfsAuthEndpoint:
          nullable: true
          type: string
        githubEnvironmentEndpoint:
          nullable: true
          type: string
        hasDevcontainerJson:
          type: boolean
        identity:
          $ref: "#/components/schemas/IdentityBody"
        label:
          nullable: true
          type: string
        location:
          deprecated: true
          nullable: true
          type: string
        netmonCorrelationData:
          $ref: "#/components/schemas/NetmonCorrelationDataBody"
        personalization:
          $ref: "#/components/schemas/PersonalizationInfoBody"
        planId:
          nullable: true
          type: string
        platform:
          deprecated: true
          nullable: true
          type: string
        runtimeConstraints:
          $ref: "#/components/schemas/RuntimeConstraintsBody"
        secrets:
          items:
            $ref: "#/components/schemas/SecretDataBody"
          nullable: true
          type: array
        seed:
          $ref: "#/components/schemas/SeedInfoBody"
        skuName:
          nullable: true
          type: string
        testAccount:
          type: boolean
        type:
          type: string
        userTier:
          nullable: true
          type: string
        workingDirectory:
          nullable: true
          type: string
      required:
        - friendlyName
        - type
      type: object
    CreateEnvironmentPoolResourceBody:
      additionalProperties: false
      properties:
        environmentOptions:
          $ref: "#/components/schemas/PrebuildEnvironmentOptions"
        secrets:
          items:
            $ref: "#/components/schemas/SecretDataBody"
          nullable: true
          type: array
      type: object
    CreateEnvironmentStateChangeBody:
      additionalProperties: false
      properties:
        newValue:
          $ref: "#/components/schemas/CloudEnvironmentState"
        oldValue:
          $ref: "#/components/schemas/CloudEnvironmentState"
        time:
          format: date-time
          nullable: true
          type: string
      type: object
    CreateOrUpdatePoolBody:
      additionalProperties: false
      properties:
        domainUserCredentials:
          $ref: "#/components/schemas/DomainUserCredentials"
        hotPoolSettings:
          $ref: "#/components/schemas/HotPoolSettings"
        poolGroupName:
          type: string
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
        userGroupName:
          nullable: true
          type: string
        vmSpecs:
          $ref: "#/components/schemas/VMSpecs"
      required:
        - poolGroupName
        - vmSpecs
      type: object
    CreatePoolGroupBody:
      additionalProperties: false
      properties:
        displayName:
          type: string
        region:
          $ref: "#/components/schemas/AzureLocation"
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
      required:
        - displayName
        - region
      type: object
    CreatePrebuildTemplateBody:
      additionalProperties: false
      properties:
        devContainerPath:
          nullable: true
          type: string
        experimentalFeatures:
          $ref: "#/components/schemas/ExperimentalFeaturesBody"
        features:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        friendlyName:
          type: string
        gitHubPrebuildInstanceEndpoint:
          nullable: true
          type: string
        gitHubPrebuildTemplateEndpoint:
          nullable: true
          type: string
        planId:
          nullable: true
          type: string
        seed:
          $ref: "#/components/schemas/SeedInfoBody"
        storageType:
          $ref: "#/components/schemas/StorageType"
        templateInfo:
          $ref: "#/components/schemas/PrebuildTemplateInfo"
      required:
        - friendlyName
      type: object
    CreateTemplateResult:
      additionalProperties: false
      properties:
        properties:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        sasUrl:
          nullable: true
          type: string
        templateId:
          nullable: true
          type: string
      type: object
    DelegateIdentity:
      additionalProperties: false
      properties:
        displayName:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
        username:
          nullable: true
          type: string
      type: object
    DeletePrebuildTemplatesBody:
      additionalProperties: false
      properties:
        branchName:
          type: string
        devContainerPath:
          nullable: true
          type: string
        prebuildConfigurationId:
          format: int64
          type: integer
        repoId:
          format: int64
          type: integer
      required:
        - branchName
        - repoId
      type: object
    DomainUserCredentials:
      additionalProperties: false
      properties:
        domain:
          type: string
        organizationalUnit:
          nullable: true
          type: string
        passwordSecretIdentifier:
          type: string
        userName:
          type: string
      required:
        - domain
        - passwordSecretIdentifier
        - userName
      type: object
    EnvironmentBillingInfo:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        sku:
          $ref: "#/components/schemas/Sku"
        userId:
          nullable: true
          type: string
      type: object
    EnvironmentRegistrationCallbackBody:
      additionalProperties: false
      properties:
        payload:
          $ref: "#/components/schemas/EnvironmentRegistrationCallbackPayloadBody"
        type:
          type: string
      required:
        - type
      type: object
    EnvironmentRegistrationCallbackPayloadBody:
      additionalProperties: false
      properties:
        sessionId:
          nullable: true
          type: string
        sessionPath:
          nullable: true
          type: string
      type: object
    EnvironmentStateChange:
      additionalProperties: false
      properties:
        environment:
          $ref: "#/components/schemas/EnvironmentBillingInfo"
        id:
          nullable: true
          type: string
        newValue:
          $ref: "#/components/schemas/CloudEnvironmentState"
        oldValue:
          $ref: "#/components/schemas/CloudEnvironmentState"
        partitionKey:
          nullable: true
          type: string
        time:
          format: date-time
          type: string
      type: object
    EnvironmentUsage:
      additionalProperties: false
      properties:
        endState:
          $ref: "#/components/schemas/CloudEnvironmentState"
        id:
          nullable: true
          type: string
        resourceUsage:
          $ref: "#/components/schemas/ResourceUsageDetail"
        sku:
          $ref: "#/components/schemas/Sku"
      type: object
    ExperimentalFeaturesBody:
      additionalProperties: false
      properties:
        enableDynamicHttpsDetection:
          type: boolean
        queueResourceAllocation:
          type: boolean
        usePrebuildFastPathIfAvailable:
          type: boolean
        usePrebuiltImages:
          type: boolean
        useStorageV2:
          type: boolean
      type: object
    FailoverDetails:
      additionalProperties: false
      properties:
        failoverEnabled:
          type: boolean
        failoverRegion:
          $ref: "#/components/schemas/AzureLocation"
      type: object
    GitConfigOptionsBody:
      additionalProperties: false
      properties:
        userEmail:
          nullable: true
          type: string
        userName:
          nullable: true
          type: string
      type: object
    GitStatus:
      additionalProperties: false
      properties:
        ahead:
          format: int32
          type: integer
        behind:
          format: int32
          type: integer
        branch:
          nullable: true
          type: string
        commit:
          nullable: true
          type: string
        hasUncommittedChanges:
          type: boolean
        hasUnpushedChanges:
          type: boolean
        noGitRepo:
          type: boolean
      type: object
    HeartBeatBody:
      additionalProperties: false
      properties:
        agentVersion:
          nullable: true
          type: string
        collectedDataList:
          items:
            $ref: "#/components/schemas/CollectedData"
          nullable: true
          type: array
        environmentId:
          nullable: true
          type: string
        resourceId:
          format: uuid
          type: string
        timeStamp:
          format: date-time
          type: string
      type: object
    HotPoolSettings:
      additionalProperties: false
      properties:
        size:
          format: int32
          type: integer
      type: object
    IdentityBody:
      additionalProperties: false
      properties:
        displayName:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
        userName:
          nullable: true
          type: string
      type: object
    IssueDelegatePlanAccessTokenBody:
      additionalProperties: false
      properties:
        environmentIds:
          items:
            type: string
          nullable: true
          type: array
        expiration:
          format: date-time
          nullable: true
          type: string
        identity:
          $ref: "#/components/schemas/DelegateIdentity"
        portNumbers:
          items:
            format: int32
            type: integer
          nullable: true
          type: array
        scope:
          nullable: true
          type: string
      type: object
    LocationInfoResult:
      additionalProperties: false
      properties:
        skus:
          items:
            $ref: "#/components/schemas/SkuInfoResult"
          nullable: true
          type: array
      type: object
    LocationsResult:
      additionalProperties: false
      properties:
        available:
          items:
            $ref: "#/components/schemas/AzureLocation"
          nullable: true
          type: array
        current:
          $ref: "#/components/schemas/AzureLocation"
        hostnames:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
      type: object
    MessageCodes:
      enum:
        - 0 (Unknown)
        - 1 (ExceededQuota)
        - 2 (EnvironmentNameAlreadyExists)
        - 3 (EnvironmentDoesNotExist)
        - 4 (ShutdownStaticEnvironment)
        - 5 (StartStaticEnvironment)
        - 6 (EnvironmentNotAvailable)
        - 7 (EnvironmentNotShutdown)
        - 8 (UnableToAllocateResources)
        - 9 (UnableToAllocateResourcesWhileStarting)
        - 10 (RequestedAutoShutdownDelayMinutesIsInvalid)
        - 11 (UnableToUpdateSku)
        - 12 (RequestedSkuIsInvalid)
        - 13 (HeartbeatUnhealthy)
        - 14 (StartEnvironmentGenericError)
        - 15 (RestoringFromArchive)
        - 16 (FilePathIsInvalid)
        - 17 (TooManyRecentFolders)
        - 18 (SubscriptionIsBanned)
        - 19 (EnvironmentArchived)
        - 20 (SubscriptionStateIsNotRegistered)
        - 21 (FeatureDisabled)
        - 22 (SubscriptionCannotPerformAction)
        - 23 (InvalidLocationChange)
        - 24 (PlanDoesNotExist)
        - 25 (UnableToResolveEnvironmentNameConflict)
        - 26 (ExceededSecretsQuota)
        - 27 (InvalidPlanTenant)
        - 28 (ExportStaticEnvironment)
        - 29 (ExportEnvironmentGenericError)
        - 30 (ExceededOrgDevContainerMaxLength)
        - 31 (ActionNotAllowedInThisState)
        - 32 (ExportRunningEnvironmentError)
        - 34 (EnvironmentCreationIsNotAllowed)
        - 35 (GitHubProxyError)
        - 36 (PrebuildTemplateDeletionIsNotAllowed)
        - 37 (TierCapacityIsUnavailable)
        - 38 (EnvironmentIsNotRestorable)
      format: int32
      type: integer
    NetmonCorrelationDataBody:
      additionalProperties: false
      properties:
        billableOwnerCreatedAt:
          nullable: true
          type: string
        billableOwnerDatabaseId:
          nullable: true
          type: string
        billableOwnerGlobalRelayId:
          nullable: true
          type: string
        billableOwnerPlan:
          nullable: true
          type: string
        ownerCreatedAt:
          nullable: true
          type: string
        ownerDatabaseId:
          nullable: true
          type: string
        ownerGlobalRelayId:
          nullable: true
          type: string
        ownerPlan:
          nullable: true
          type: string
        repositoryCreatedAt:
          nullable: true
          type: string
        repositoryDatabaseId:
          nullable: true
          type: string
        repositoryGlobalRelayId:
          nullable: true
          type: string
        repositoryPrivate:
          type: boolean
      type: object
    NetworkSettingsResource:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        location:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        properties:
          $ref: "#/components/schemas/NetworkSettingsResourceProperties"
        provisioningState:
          nullable: true
          type: string
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
        type:
          nullable: true
          type: string
      type: object
    NetworkSettingsResourceList:
      additionalProperties: false
      properties:
        value:
          items:
            $ref: "#/components/schemas/NetworkSettingsResource"
          nullable: true
          type: array
      type: object
    NetworkSettingsResourceProperties:
      additionalProperties: false
      properties:
        subnetId:
          nullable: true
          type: string
      type: object
    NotificationDataBody:
      additionalProperties: false
      properties:
        details:
          nullable: true
          type: string
        displayMode:
          nullable: true
          type: string
        message:
          nullable: true
          type: string
        modal:
          type: boolean
      type: object
    PersonalizationInfoBody:
      additionalProperties: false
      properties:
        dotfilesInstallCommand:
          nullable: true
          type: string
        dotfilesRepository:
          nullable: true
          type: string
        dotfilesTargetPath:
          nullable: true
          type: string
      type: object
    PlanResource:
      additionalProperties: false
      properties:
        id:
          nullable: true
          type: string
        identity:
          $ref: "#/components/schemas/PlanResourceIdentity"
        location:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        properties:
          $ref: "#/components/schemas/PlanResourceProperties"
        provisioningState:
          nullable: true
          type: string
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
        type:
          nullable: true
          type: string
      type: object
    PlanResourceEncryptionProperties:
      additionalProperties: false
      properties:
        keySource:
          nullable: true
          type: string
        keyVaultProperties:
          $ref: "#/components/schemas/PlanResourceKeyVaultProperties"
      type: object
    PlanResourceHeaders:
      additionalProperties: false
      properties:
        clientTenantId:
          format: uuid
          nullable: true
          type: string
        homeTenantId:
          format: uuid
          nullable: true
          type: string
        identityPrincipalId:
          format: uuid
          nullable: true
          type: string
        identityUrl:
          nullable: true
          type: string
      type: object
    PlanResourceIdentity:
      additionalProperties: false
      properties:
        principalId:
          format: uuid
          nullable: true
          type: string
        tenantId:
          format: uuid
          nullable: true
          type: string
        type:
          nullable: true
          type: string
      type: object
    PlanResourceKeyVaultProperties:
      additionalProperties: false
      properties:
        keyName:
          nullable: true
          type: string
        keyVaultUri:
          nullable: true
          type: string
        keyVersion:
          nullable: true
          type: string
      type: object
    PlanResourceList:
      additionalProperties: false
      properties:
        value:
          items:
            $ref: "#/components/schemas/PlanResource"
          nullable: true
          type: array
      type: object
    PlanResourceProperties:
      additionalProperties: false
      properties:
        defaultCodespaceSku:
          nullable: true
          type: string
        defaultEnvironmentSku:
          nullable: true
          type: string
        encryption:
          $ref: "#/components/schemas/PlanResourceEncryptionProperties"
        userId:
          nullable: true
          type: string
        vnetProperties:
          $ref: "#/components/schemas/VnetProperties"
      type: object
    PlanResourceUpdateBody:
      additionalProperties: false
      properties:
        identity:
          $ref: "#/components/schemas/PlanResourceIdentity"
        properties:
          $ref: "#/components/schemas/PlanResourceProperties"
      type: object
    Pool:
      additionalProperties: false
      properties:
        poolType:
          $ref: "#/components/schemas/PrebuildMode"
        skuName:
          nullable: true
          type: string
        targetCount:
          format: int64
          type: integer
      type: object
    PoolConfigRequestBody:
      additionalProperties: false
      properties:
        comment:
          nullable: true
          type: string
        maxTargetCount:
          nullable: true
          type: string
        minTargetCount:
          nullable: true
          type: string
        poolCode:
          nullable: true
          type: string
        poolType:
          nullable: true
          type: string
        region:
          nullable: true
          type: string
        targetCount:
          nullable: true
          type: string
      type: object
    PoolDefinitionInput:
      additionalProperties: false
      properties:
        dimensions:
          additionalProperties:
            nullable: true
            type: string
          type: object
        isEnabled:
          type: boolean
        location:
          $ref: "#/components/schemas/AzureLocation"
        logicalSkus:
          items:
            type: string
          nullable: true
          type: array
        subtype:
          $ref: "#/components/schemas/ResourceSubtype"
        targetCount:
          format: int32
          type: integer
        type:
          $ref: "#/components/schemas/ResourceType"
      required:
        - dimensions
        - isEnabled
        - location
        - subtype
        - targetCount
        - type
      type: object
    PoolGroupResult:
      additionalProperties: false
      properties:
        displayName:
          nullable: true
          type: string
        region:
          $ref: "#/components/schemas/AzureLocation"
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
      type: object
    PoolResult:
      additionalProperties: false
      properties:
        domainUserCredentials:
          $ref: "#/components/schemas/DomainUserCredentials"
        hotPoolSettings:
          $ref: "#/components/schemas/HotPoolSettings"
        poolGroupName:
          type: string
        provisioningStatus:
          $ref: "#/components/schemas/ProvisioningStatusResult"
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
        userGroupName:
          nullable: true
          type: string
        vmSpecs:
          $ref: "#/components/schemas/VMSpecs"
      required:
        - poolGroupName
        - vmSpecs
      type: object
    PoolSettingsBody:
      additionalProperties: false
      properties:
        branchName:
          nullable: true
          type: string
        devContainerPath:
          nullable: true
          type: string
        pools:
          items:
            $ref: "#/components/schemas/Pool"
          nullable: true
          type: array
        repoId:
          nullable: true
          type: string
        storageType:
          $ref: "#/components/schemas/StorageType"
        subscription:
          nullable: true
          type: string
      type: object
    PoolStatusResponseBody:
      additionalProperties: false
      properties:
        allWithLatestVersion:
          type: boolean
        isEnvironmentPool:
          type: boolean
        location:
          nullable: true
          type: string
        poolCode:
          nullable: true
          type: string
        readyUnassignedCount:
          format: int32
          type: integer
        readyUnassignedLatestVersionCount:
          format: int32
          type: integer
        readyUnassignedNotLatestVersionAndIdleCount:
          format: int32
          type: integer
        readyUnassignedNotLatestVersionCount:
          format: int32
          type: integer
        resourceType:
          nullable: true
          type: string
        sku:
          nullable: true
          type: string
      type: object
    PrebuildEnvironmentOptions:
      additionalProperties: false
      properties:
        correlationId:
          nullable: true
          type: string
      type: object
    PrebuildMode:
      enum:
        - 0 (None)
        - 1 (Blob)
        - 2 (CodespacePool)
        - 3 (StoragePool)
        - 4 (CodespaceAndStoragePool)
      format: int32
      type: integer
    PrebuildReadinessResult:
      additionalProperties: false
      properties:
        branchName:
          nullable: true
          type: string
        devContainerPath:
          nullable: true
          type: string
        location:
          $ref: "#/components/schemas/AzureLocation"
        poolSkus:
          items:
            type: string
          nullable: true
          type: array
        prebuildHash:
          nullable: true
          type: string
        repoId:
          nullable: true
          type: string
        supportedSkus:
          items:
            type: string
          nullable: true
          type: array
        templateSkus:
          items:
            type: string
          nullable: true
          type: array
      type: object
    PrebuildTemplateInfo:
      additionalProperties: false
      properties:
        container:
          $ref: "#/components/schemas/ContainerInfo"
        prebuildConfigurationId:
          nullable: true
          type: string
        templateSizeInGB:
          format: double
          type: number
        totalTimeSavingsInSeconds:
          nullable: true
          type: string
        workFlowRunId:
          nullable: true
          type: string
      type: object
    PrebuildTemplateInfoResult:
      additionalProperties: false
      properties:
        branchName:
          nullable: true
          type: string
        commitId:
          nullable: true
          type: string
        devcontainerPath:
          nullable: true
          type: string
        id:
          nullable: true
          type: string
        isPrebuild:
          nullable: true
          type: boolean
        lastUsedTime:
          format: date-time
          nullable: true
          type: string
        logicalSkus:
          items:
            type: string
          nullable: true
          type: array
        prebuildConfigurationId:
          nullable: true
          type: string
        prebuildHash:
          nullable: true
          type: string
        repoId:
          format: int64
          type: integer
        templateStatus:
          nullable: true
          type: string
      type: object
    PrivacyEnum:
      enum:
        - 0 (Private)
        - 1 (Public)
        - 2 (Org)
      format: int32
      type: integer
    ProblemDetails:
      additionalProperties: {}
      properties:
        detail:
          nullable: true
          type: string
        instance:
          nullable: true
          type: string
        status:
          format: int32
          nullable: true
          type: integer
        title:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
      type: object
    ProfileSpecifier:
      additionalProperties: false
      properties:
        oid:
          nullable: true
          type: string
        provider:
          nullable: true
          type: string
        tid:
          nullable: true
          type: string
      type: object
    ProvisioningStatusResult:
      additionalProperties: false
      properties:
        completedSteps:
          format: int32
          nullable: true
          type: integer
        currentStepDescription:
          nullable: true
          type: string
        isReady:
          type: boolean
        operationStartedTimeUtc:
          nullable: true
          type: string
        totalSteps:
          format: int32
          nullable: true
          type: integer
      type: object
    RPSubscriptionNotification:
      additionalProperties: false
      properties:
        properties:
          $ref: "#/components/schemas/RPSubscriptionProperties"
        registrationDate:
          format: date-time
          type: string
        state:
          nullable: true
          type: string
      type: object
    RPSubscriptionProperties:
      additionalProperties: false
      properties:
        accountOwner:
          $ref: "#/components/schemas/SubscriptionAccountOwner"
        additionalProperties:
          $ref: "#/components/schemas/SubscriptionAdditionalProperties"
        locationPlacementId:
          nullable: true
          type: string
        managedByTenants:
          items:
            $ref: "#/components/schemas/StringStringKeyValuePair"
          nullable: true
          type: array
        quotaId:
          nullable: true
          type: string
        registeredFeatures:
          items:
            $ref: "#/components/schemas/StringStringKeyValuePair"
          nullable: true
          type: array
        tenantId:
          format: uuid
          type: string
      type: object
    RefreshProfileTelemetryPropertiesRequest:
      additionalProperties: false
      properties:
        partner:
          nullable: true
          type: string
        tenantId:
          nullable: true
          type: string
        userIds:
          nullable: true
          type: string
      type: object
    RefreshProfileTelemetryPropertiesResponse:
      additionalProperties: false
      properties:
        failed:
          items:
            $ref: "#/components/schemas/ProfileSpecifier"
          nullable: true
          type: array
        succeeded:
          items:
            $ref: "#/components/schemas/ProfileSpecifier"
          nullable: true
          type: array
      type: object
    ReplayBillRequestBody:
      additionalProperties: false
      properties:
        endTime:
          format: date-time
          type: string
        startTime:
          format: date-time
          type: string
      type: object
    RepositoryInfoBody:
      additionalProperties: false
      properties:
        branchName:
          nullable: true
          type: string
        commitId:
          nullable: true
          type: string
        createType:
          nullable: true
          type: string
        diskUsage:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        owner:
          nullable: true
          type: string
        prebuildHash:
          nullable: true
          type: string
        repoId:
          format: int64
          type: integer
        url:
          nullable: true
          type: string
      type: object
    ResourceSubtype:
      enum:
        - 0 (Default)
        - 2 (ShrunkBlob)
        - 3 (FullBlob)
        - 4 (UserParametersBlob)
        - 5 (PrebuildHash)
        - 6 (VnetInjected)
      format: int32
      type: integer
    ResourceType:
      enum:
        - 1 (ComputeVM)
        - 2 (StorageFileShare)
        - 3 (StorageArchive)
        - 4 (KeyVault)
        - 5 (OSDisk)
        - 6 (NetworkInterface)
        - 7 (InputQueue)
        - 8 (Snapshot)
        - 9 (PoolQueue)
        - 10 (VirtualNetwork)
        - 11 (NetworkSecurityGroup)
        - 12 (LiveShareWorkspace)
        - 13 (BasisTunnel)
        - 14 (StorageBlockBlob)
        - 15 (DataDisk)
        - 16 (PortForwardingWorkspace)
      format: int32
      type: integer
    ResourceUsageDetail:
      additionalProperties: false
      properties:
        compute:
          items:
            $ref: "#/components/schemas/ComputeUsageDetail"
          nullable: true
          type: array
        storage:
          items:
            $ref: "#/components/schemas/StorageUsageDetail"
          nullable: true
          type: array
      type: object
    RuntimeConstraintsBody:
      additionalProperties: false
      properties:
        allowedPortPrivacySettings:
          items:
            $ref: "#/components/schemas/PrivacyEnum"
          nullable: true
          type: array
        imageAllowList:
          items:
            type: string
          nullable: true
          type: array
      type: object
    ScopedCreateSecretBody:
      additionalProperties: false
      properties:
        filters:
          items:
            $ref: "#/components/schemas/SecretFilterBody"
          nullable: true
          type: array
        notes:
          maxLength: 200
          minLength: 0
          nullable: true
          type: string
        scope:
          $ref: "#/components/schemas/SecretScope"
        secretName:
          nullable: true
          pattern: ^(?!CLOUDENV.*$)[a-zA-Z_][a-zA-Z0-9_]{0,199}$
          type: string
        type:
          $ref: "#/components/schemas/SecretType"
        value:
          maxLength: 65536
          minLength: 1
          nullable: true
          type: string
      type: object
    ScopedSecretResultBody:
      additionalProperties: false
      properties:
        filters:
          items:
            $ref: "#/components/schemas/SecretFilterBody"
          nullable: true
          type: array
        id:
          format: uuid
          type: string
        lastModified:
          format: date-time
          type: string
        notes:
          nullable: true
          type: string
        scope:
          $ref: "#/components/schemas/SecretScope"
        secretName:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/SecretType"
      type: object
    ScopedUpdateSecretBody:
      additionalProperties: false
      properties:
        filters:
          items:
            $ref: "#/components/schemas/SecretFilterBody"
          nullable: true
          type: array
        notes:
          maxLength: 200
          minLength: 0
          nullable: true
          type: string
        scope:
          $ref: "#/components/schemas/SecretScope"
        secretName:
          nullable: true
          pattern: ^(?!CLOUDENV.*$)[a-zA-Z_][a-zA-Z0-9_]{0,199}$
          type: string
        value:
          maxLength: 65536
          minLength: 1
          nullable: true
          type: string
      type: object
    SecretDataBody:
      additionalProperties: false
      properties:
        name:
          nullable: true
          type: string
        type:
          $ref: "#/components/schemas/SecretType"
        value:
          maxLength: 65536
          minLength: 1
          nullable: true
          type: string
      type: object
    SecretFilterBody:
      additionalProperties: false
      properties:
        type:
          $ref: "#/components/schemas/SecretFilterType"
        value:
          maxLength: 200
          minLength: 1
          nullable: true
          type: string
      type: object
    SecretFilterType:
      enum:
        - 1 (GitRepo)
        - 2 (CodespaceName)
      format: int32
      type: integer
    SecretScope:
      enum:
        - 1 (Plan)
        - 2 (User)
      format: int32
      type: integer
    SecretType:
      enum:
        - 1 (EnvironmentVariable)
        - 2 (ContainerRegistry)
      format: int32
      type: integer
    SeedInfoBody:
      additionalProperties: false
      properties:
        cloneUrl:
          nullable: true
          type: string
        gitConfig:
          $ref: "#/components/schemas/GitConfigOptionsBody"
        recurseClone:
          type: boolean
        repository:
          $ref: "#/components/schemas/RepositoryInfoBody"
        seedMoniker:
          nullable: true
          type: string
        seedType:
          nullable: true
          type: string
      type: object
    Sku:
      additionalProperties: false
      properties:
        name:
          nullable: true
          type: string
        tier:
          nullable: true
          type: string
      type: object
    SkuInfoResult:
      additionalProperties: false
      properties:
        availableSettings:
          $ref: "#/components/schemas/AvailableSettingsResult"
        displayName:
          nullable: true
          type: string
        name:
          nullable: true
          type: string
        os:
          nullable: true
          type: string
      type: object
    StorageType:
      enum:
        - 0 (V1)
        - 1 (V2)
      format: int32
      type: integer
    StorageUsageDetail:
      additionalProperties: false
      properties:
        size:
          format: int32
          type: integer
        sizeInKB:
          format: int64
          type: integer
        sku:
          nullable: true
          type: string
        usage:
          format: double
          type: number
      type: object
    StringStringKeyValuePair:
      additionalProperties: false
      properties:
        key:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    SubscriptionAccountOwner:
      additionalProperties: false
      properties:
        email:
          nullable: true
          type: string
        puid:
          nullable: true
          type: string
      type: object
    SubscriptionAdditionalProperties:
      additionalProperties: false
      properties:
        billingProperties:
          $ref: "#/components/schemas/BillingProperties"
        resourceProviderProperties:
          nullable: true
          type: string
      type: object
    SubscriptionData:
      additionalProperties: false
      properties:
        computeQuota:
          format: int32
          type: integer
        computeUsage:
          format: int32
          type: integer
        subscriptionId:
          nullable: true
          type: string
        subscriptionState:
          nullable: true
          type: string
      type: object
    SystemConfigurationResponse:
      additionalProperties: false
      properties:
        comment:
          nullable: true
          type: string
        key:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    TelemetryData:
      additionalProperties: false
      properties:
        level:
          nullable: true
          type: string
        message:
          nullable: true
          type: string
        optionalValues:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        time:
          nullable: true
          type: string
      type: object
    TenantInfoResult:
      additionalProperties: false
      properties:
        id:
          format: uuid
          type: string
      type: object
    TunnelPortInfoResult:
      additionalProperties: false
      properties:
        portVisibility:
          nullable: true
          type: string
        tunnelToken:
          nullable: true
          type: string
      type: object
    TunnelProperties:
      additionalProperties: false
      properties:
        clusterId:
          nullable: true
          type: string
        connectAccessToken:
          nullable: true
          type: string
        domain:
          nullable: true
          type: string
        managePortsAccessToken:
          nullable: true
          type: string
        serviceUri:
          nullable: true
          type: string
        tunnelId:
          nullable: true
          type: string
        tunnelName:
          nullable: true
          type: string
      type: object
    TunnelType:
      enum:
        - 0 (Basis)
        - 1 (Liveshare)
      format: int32
      type: integer
    UnderInvestigationResponseBody:
      additionalProperties: false
      properties:
        investigationStarted:
          format: date-time
          nullable: true
          type: string
        resourceId:
          nullable: true
          type: string
        underInvestigation:
          type: boolean
        updated:
          type: boolean
      type: object
    UnfilteredCloudEnvironmentResult:
      additionalProperties: false
      properties:
        accessToken:
          nullable: true
          type: string
        active:
          format: date-time
          type: string
        autoShutdownDelayMinutes:
          format: int32
          type: integer
        billableOwnerType:
          $ref: "#/components/schemas/BillableOwnerType"
        clientUsage:
          $ref: "#/components/schemas/ClientUsageSession"
        connection:
          $ref: "#/components/schemas/ConnectionInfoBody"
        container:
          $ref: "#/components/schemas/ContainerInfoBody"
        containerImage:
          nullable: true
          type: string
        createFromPrebuild:
          type: boolean
        created:
          format: date-time
          type: string
        displayStorageUtilizationInKb:
          type: boolean
        exportedBlobUrl:
          nullable: true
          type: string
        failoverDetails:
          $ref: "#/components/schemas/FailoverDetails"
        features:
          additionalProperties:
            nullable: true
            type: string
          nullable: true
          type: object
        friendlyName:
          nullable: true
          type: string
        gitStatus:
          $ref: "#/components/schemas/GitStatus"
        id:
          nullable: true
          type: string
        lastStateUpdateReason:
          nullable: true
          type: string
        lastUsed:
          format: date-time
          nullable: true
          type: string
        location:
          nullable: true
          type: string
        organizationId:
          nullable: true
          type: string
        ownerId:
          nullable: true
          type: string
        planId:
          nullable: true
          type: string
        platform:
          nullable: true
          type: string
        portForwardingConnection:
          $ref: "#/components/schemas/ConnectionInfoBody"
        prebuildType:
          nullable: true
          type: string
        recentFolders:
          items:
            type: string
          nullable: true
          type: array
        resourceTier:
          $ref: "#/components/schemas/ConsumerType"
        runtimeConstraints:
          $ref: "#/components/schemas/RuntimeConstraintsBody"
        seed:
          $ref: "#/components/schemas/SeedInfoBody"
        skuDisplayName:
          nullable: true
          type: string
        skuName:
          nullable: true
          type: string
        state:
          nullable: true
          type: string
        storageUtilizationInKb:
          format: int64
          nullable: true
          type: integer
        subscriptionData:
          $ref: "#/components/schemas/SubscriptionData"
        templateStatus:
          nullable: true
          type: string
        type:
          nullable: true
          type: string
        updated:
          format: date-time
          type: string
      type: object
    UpdateCloudEnvironmentBody:
      additionalProperties: false
      properties:
        autoShutdownDelayMinutes:
          format: int32
          nullable: true
          type: integer
        failoverDetails:
          $ref: "#/components/schemas/FailoverDetails"
        friendlyName:
          nullable: true
          type: string
        planAccessToken:
          nullable: true
          type: string
        planId:
          nullable: true
          type: string
        skuName:
          nullable: true
          type: string
      type: object
    UpdatePoolGroupBody:
      additionalProperties: false
      properties:
        displayName:
          type: string
        tags:
          additionalProperties:
            type: string
          nullable: true
          type: object
      required:
        - displayName
      type: object
    UpdatePrebuildTemplateBody:
      additionalProperties: false
      properties:
        isSuccess:
          type: boolean
      required:
        - isSuccess
      type: object
    UpdatePrebuildTemplateVersionsBody:
      additionalProperties: false
      properties:
        branchName:
          type: string
        devContainerPath:
          nullable: true
          type: string
        maxPrebuildTemplateVersions:
          format: int32
          type: integer
        repoId:
          format: int64
          type: integer
      required:
        - branchName
        - maxPrebuildTemplateVersions
        - repoId
      type: object
    UpdateSystemConfigurationBody:
      additionalProperties: false
      properties:
        comment:
          nullable: true
          type: string
        key:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    UpdateUserSecretsRequestBody:
      additionalProperties: false
      properties:
        secrets:
          items:
            $ref: "#/components/schemas/SecretDataBody"
          nullable: true
          type: array
      type: object
    UserIdentity:
      additionalProperties: false
      properties:
        userPrincipalName:
          type: string
      required:
        - userPrincipalName
      type: object
    VMConnectionInfo:
      additionalProperties: false
      properties:
        connectionType:
          $ref: "#/components/schemas/VMConnectionType"
        liveShareWorkspaceId:
          nullable: true
          type: string
      type: object
    VMConnectionType:
      enum:
        - 0 (LiveShare)
        - 1 (WVD)
      format: int32
      type: integer
    VMDiskType:
      enum:
        - 0 (StandardHDD)
        - 1 (StandardSSD)
        - 2 (PremiumSSD)
      format: int32
      type: integer
    VMResult:
      additionalProperties: false
      properties:
        connection:
          $ref: "#/components/schemas/VMConnectionInfo"
        provisioningStatus:
          $ref: "#/components/schemas/ProvisioningStatusResult"
        status:
          $ref: "#/components/schemas/VMStatus"
      type: object
    VMSpecs:
      additionalProperties: false
      properties:
        diskType:
          $ref: "#/components/schemas/VMDiskType"
        imageResourceId:
          type: string
        size:
          type: string
        subnetResourceId:
          type: string
      required:
        - diskType
        - imageResourceId
        - size
        - subnetResourceId
      type: object
    VMStatus:
      enum:
        - 0 (Provisioning)
        - 1 (Ready)
        - 2 (Stopped)
        - 3 (Deleted)
      format: int32
      type: integer
    VmLogsUploadInfo:
      additionalProperties: false
      properties:
        containerName:
          nullable: true
          type: string
        message:
          nullable: true
          type: string
        pathInContainer:
          nullable: true
          type: string
        storageUri:
          nullable: true
          type: string
        vmResourceId:
          nullable: true
          type: string
      type: object
    VnetProperties:
      additionalProperties: false
      properties:
        subnetId:
          nullable: true
          type: string
      type: object
    VsoPlanInfo:
      additionalProperties: false
      properties:
        location:
          $ref: "#/components/schemas/AzureLocation"
        name:
          nullable: true
          type: string
        providerNamespace:
          nullable: true
          type: string
        resourceGroup:
          nullable: true
          type: string
        resourceId:
          nullable: true
          readOnly: true
          type: string
        subscription:
          nullable: true
          type: string
      type: object
  securitySchemes:
    Bearer:
      bearerFormat: JWT
      description: "JWT auth token for the user. Example: eyJ2..."
      scheme: bearer
      type: http
