Broad Institute Workspaces V2 API

The WorkspacesV2 API from Broad Institute — 8 operation(s) for workspacesv2.

Operations 11

DELETE /api/workspaces/v2/{workspaceNamespace}/{workspaceName} Delete workspace #
POST /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/clone Clone workspace #
GET /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/bucketMigration list bucket migration attempts for workspace. #
POST /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/bucketMigration start bucket migration attempt for Google workspace or restart failed past… #
GET /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/bucketMigration/progress get bucket migration progress for workspace #
POST /api/workspaces/v2/bucketMigration batch start Google workspace bucket migrations or restart failed past attempts #
GET /api/workspaces/v2/bucketMigration get workspaces eligible for bucket migration and their migration progress if it… #
POST /api/workspaces/v2/bucketMigration/getProgress fetch bucket migration progress for multiple Google workspaces #
GET /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/settings Get workspace settings #
PUT /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/settings Update workspace settings #
GET /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/storageCostEstimate Get current bytes usage and calculate an estimate of the monthly storage cost… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/broad-institute:broad-institute-workspacesv2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

broad-institute-workspacesv2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Terra Workspaces V2 API
  description: Terra API
  termsOfService: https://app.terra.bio/#terms-of-service
  license:
    name: BSD
    url: http://opensource.org/licenses/BSD-3-Clause
  version: '0.1'
servers:
- url: /
security:
- oidc: []
tags:
- name: WorkspacesV2
paths:
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}:
    delete:
      tags:
      - WorkspacesV2
      summary: Delete workspace
      description: Starts a job to delete a workspace and all of its contents.
      operationId: deleteWorkspaceV2
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        202:
          description: Delete request accepted. Workspace bucket will be deleted within 24 hours.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDeletionResult'
        400:
          description: Workspace is not in a deletable state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        403:
          description: Insufficient permissions to delete workspace (must be owner)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        409:
          description: Workspace is already being deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/clone:
    post:
      tags:
      - WorkspacesV2
      summary: Clone workspace
      description: Clone a workspace, asynchronously if possible
      operationId: cloneWorkspaceV2
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      requestBody:
        description: Request for new workspace
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceRequestClone'
        required: true
      responses:
        201:
          description: Successful Request
          headers:
            Location:
              description: The path to the newly cloned workspace
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetails'
        400:
          description: Workspace namespace is not ready
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        403:
          description: User does not have access to create workspace in namespace or user does not have permission to set attributes in the namespace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Source workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        409:
          description: Destination workspace already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        422:
          description: Destination workspace must match source's authorization domain, if the dest has one
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
      x-codegen-request-body-name: workspaceRequest
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/bucketMigration:
    get:
      tags:
      - WorkspacesV2
      summary: list bucket migration attempts for workspace.
      description: list bucket migration attempts for workspace. empty list for workspaces that have not been migrated before
      operationId: listBucketMigrationsForWorkspace
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        200:
          description: Successful Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceMigrationMetadata'
        403:
          description: You must be an owner to list migration attempts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found or you do not have access to it
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
    post:
      tags:
      - WorkspacesV2
      summary: start bucket migration attempt for Google workspace or restart failed past…
      description: start bucket migration attempt for Google workspace or restart failed past attempt
      operationId: startBucketMigrationForWorkspace
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        201:
          description: Workspace scheduled for migration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceMigrationMetadata'
        400:
          description: This workspace is ineligible for migration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        403:
          description: You must be an owner to start migration attempts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found or you do not have access to it
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/bucketMigration/progress:
    get:
      tags:
      - WorkspacesV2
      summary: get bucket migration progress for workspace
      operationId: getBucketMigrationProgressForWorkspace
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        200:
          description: Successful Request
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MultiregionalBucketMigrationProgress'
        403:
          description: You must be an owner to get migration progress
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found, you do not have access to it, or it has not been migrated before
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/bucketMigration:
    post:
      tags:
      - WorkspacesV2
      summary: batch start Google workspace bucket migrations or restart failed past attempts
      description: batch start bucket migration attempts for Google workspaces or restart failed past attempts
      operationId: batchStartBucketMigrationForWorkspaces
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchMigrateRequestBody'
      responses:
        201:
          description: Workspaces scheduled for migration
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceMigrationMetadata'
        400:
          description: Some or all workspaces in billing project were ineligible for migration. Eligible workspaces are scheduled for migration and ineligible workspaces will be included in error message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        403:
          description: You must be an owner to start migration attempts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
    get:
      tags:
      - WorkspacesV2
      summary: get workspaces eligible for bucket migration and their migration progress if it…
      description: get workspaces eligible for bucket migration and their migration progress if it exists
      operationId: getEligibleWorkspacesForBucketMigrationWithProgress
      responses:
        200:
          description: Successful Request
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Returns metadata in the shape workspaceNamespace/workspaceName -> bucket migration progress where the progress is null for workspaces that have not been scheduled for migration before.
                  additionalProperties:
                    $ref: '#/components/schemas/MultiregionalBucketMigrationProgress'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/bucketMigration/getProgress:
    post:
      tags:
      - WorkspacesV2
      summary: fetch bucket migration progress for multiple Google workspaces
      operationId: getBucketMigrationProgressForWorkspaceList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchMigrateRequestBody'
      responses:
        200:
          description: Successful Request
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  description: Returns metadata in the shape workspaceNamespace/workspaceName -> bucket migration progress where the progress is null for workspaces that have not been scheduled for migration before.
                  additionalProperties:
                    $ref: '#/components/schemas/MultiregionalBucketMigrationProgress'
        403:
          description: You must be an owner of all requested workspaces
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/settings:
    get:
      tags:
      - WorkspacesV2
      summary: Get workspace settings
      description: Get the settings for a workspace
      operationId: getWorkspaceSettings
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceSetting'
        403:
          description: User does not have access to requested workspace
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
    put:
      tags:
      - WorkspacesV2
      summary: Update workspace settings
      description: Update the settings for a workspace. Unspecified setting types will be left unchanged.
      operationId: updateWorkspaceSettings
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      requestBody:
        description: New settings for the workspace
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/WorkspaceSetting'
        required: true
      responses:
        200:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceSettingsResponse'
        400:
          description: Invalid settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        403:
          description: User must be an owner of the workspace to overwrite settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        404:
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorReport'
        500:
          $ref: '#/components/responses/RawlsInternalError'
  /api/workspaces/v2/{workspaceNamespace}/{workspaceName}/storageCostEstimate:
    get:
      tags:
      - WorkspacesV2
      summary: Get current bytes usage and calculate an estimate of the monthly storage cost…
      operationId: getStorageCostEstimateV2
      parameters:
      - $ref: '#/components/parameters/workspaceNamespaceParam'
      - $ref: '#/components/parameters/workspaceNameParam'
      responses:
        200:
          description: Successful Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BucketStorageUsageAndCost'
        404:
          description: Workspace not found
          content: {}
        500:
          description: Internal Error
          content: {}
      x-passthrough: false
components:
  schemas:
    StorageTransferJobProgress:
      description: Represents the progress of a single Storage Transfer Service job to move a bucket
      type: object
      required:
      - totalBytesToTransfer
      - bytesTransferred
      - totalObjectsToTransfer
      - objectsTransferred
      properties:
        totalBytesToTransfer:
          description: total bytes that this job will transfer
          type: integer
        bytesTransferred:
          description: bytes that this job has transferred so far
          type: integer
        totalObjectsToTransfer:
          description: total objects that this job will transfer
          type: integer
        objectsTransferred:
          description: objects that this job has transferred so far
          type: integer
    WorkspaceDetails:
      required:
      - bucketName
      - createdBy
      - createdDate
      - isLocked
      - lastModified
      - name
      - namespace
      - workspaceId
      - googleProject
      - workspaceVersion
      - state
      type: object
      properties:
        attributes:
          type: object
          properties: {}
          description: Map[String, Attribute]
        authorizationDomain:
          type: array
          description: The list of groups in the Authorization Domain (empty if no AD is set)
          items:
            $ref: '#/components/schemas/ManagedGroupRef'
        bucketName:
          type: string
          description: The name of the bucket associated with the workspace
        createdBy:
          type: string
          description: The user who created the workspace
        createdDate:
          type: string
          description: The date the workspace was created in yyyy-MM-ddTHH:mm:ss.SSSZZ format
          format: date-time
        isLocked:
          type: boolean
          description: Can the Workspace currently be modified?
        lastModified:
          type: string
          description: The date the workspace was last modified in yyyy-MM-ddTHH:mm:ss.SSSZZ format
          format: date-time
        name:
          type: string
          description: The name of the workspace
        namespace:
          type: string
          description: The namespace the workspace belongs to
        workflowCollectionName:
          type: string
          description: The name of the workflow collection associated with the workspace
        workspaceId:
          type: string
          description: A UUID associated with the workspace
        googleProject:
          type: string
          description: Identifies the google project used by the workspace for compute and storage
        googleProjectNumber:
          type: string
          description: A different google project identifier for the same project identified by the googleProject; required by google for certain actions
        workspaceVersion:
          type: string
          description: internal use
        billingAccount:
          type: string
          description: The current billing account being charged for activity within this workspace. For desired billing account, look to the billing account specified on this workspace's billing project
        billingAccountErrorMessage:
          type: string
          description: Error message received during most recent attempt to update the current billing account on workspace's Google project. Empty if update was successful.
        completedCloneWorkspaceFileTransfer:
          type: string
          description: The date all files were successfully transferred to the workspace bucket if applicable in yyyy-MM-ddTHH:mm:ss.SSSZZ format
          format: date-time
        cloudPlatform:
          type: string
          description: The cloud platform of the workspace
          enum:
          - GCP
          - AZURE
        state:
          type: string
          description: The lifecycle state of the workspace
          enum:
          - Creating
          - CreateFailed
          - Ready
          - Updating
          - UpdateFailed
          - Deleting
          - DeleteFailed
      description: ''
    WorkspaceMigrationOutcome:
      description: Represents the result of a workspace migration attempt
      oneOf:
      - $ref: '#/components/schemas/WorkspaceMigrationSuccess'
      - $ref: '#/components/schemas/WorkspaceMigrationFailure'
    WorkspaceMigrationSuccess:
      type: string
      enum:
      - success
    BatchMigrateRequestBody:
      description: List of workspace names
      type: array
      items:
        $ref: '#/components/schemas/WorkspaceName'
    WorkspaceMigrationMetadata:
      description: Represents the status of a workspace migration
      type: object
      required:
      - id
      - created
      - updated
      properties:
        id:
          type: integer
          description: migration attempt number for this workspace
        created:
          type: string
          format: date-time
          description: when the migration was scheduled
        started:
          type: string
          format: date-time
          description: when the system started the migration
        updated:
          type: string
          format: date-time
          description: when the system last updated the migration
        finished:
          type: string
          format: date-time
          description: when the system finished executing the migration
        outcome:
          $ref: '#/components/schemas/WorkspaceMigrationOutcome'
    WorkspaceSetting:
      required:
      - settingType
      - config
      type: object
      properties:
        settingType:
          type: string
          description: The type of the workspace setting
          enum:
          - GcpBucketLifecycle
          - GcpBucketSoftDelete
          - GcpBucketRequesterPays
          - GcpLogBucketRetention
          - SeparateSubmissionFinalOutputs
        config:
          description: The configuration of the workspace setting
          oneOf:
          - $ref: '#/components/schemas/WorkspaceSettingGcpBucketLifecycleConfig'
          - $ref: '#/components/schemas/WorkspaceSettingGcpBucketSoftDeleteConfig'
          - $ref: '#/components/schemas/WorkspaceSettingGcpBucketRequesterPaysConfig'
          - $ref: '#/components/schemas/WorkspaceSettingGcpLogBucketRetentionConfig'
          - $ref: '#/components/schemas/WorkspaceSettingSeparateSubmissionFinalOutputsConfig'
    WorkspaceSettingGcpBucketRequesterPaysConfig:
      required:
      - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Enabled status to set for requester pays
    GcpBucketLifecycleAction:
      required:
      - actionType
      type: object
      properties:
        actionType:
          type: string
          description: The type of the lifecycle action
          enum:
          - Delete
    WorkspaceSettingGcpBucketLifecycleConfig:
      required:
      - rules
      type: object
      properties:
        rules:
          type: array
          description: The lifecycle rules for the workspace bucket
          items:
            $ref: '#/components/schemas/GcpBucketLifecycleRule'
    WorkspaceRequestClone:
      required:
      - attributes
      - name
      - namespace
      type: object
      properties:
        namespace:
          type: string
          description: The namespace (billing project) the workspace belongs to
        name:
          type: string
          description: The name of the workspace
        authorizationDomain:
          type: array
          description: The list of groups in the Authorization Domain (empty if no AD is set)
          items:
            $ref: '#/components/schemas/ManagedGroupRef'
        attributes:
          type: object
          properties: {}
        copyFilesWithPrefix:
          type: string
          description: Used for clone operations only; the prefix for files to copy between source and destination workspace buckets
        noWorkspaceOwner:
          type: boolean
          description: Optional, false if not specified. If true, the workspace is created with a Billing Project owner but no workspace owner. Requires being a Billing Project owner.
          default: false
        bucketLocation:
          type: string
          description: Region (NOT multi-region) in which bucket attached to the workspace should be created. If not provided, the bucket will be created in the 'US' multi-region.
      description: ''
    ErrorReport:
      required:
      - causes
      - message
      - source
      - stackTrace
      type: object
      properties:
        source:
          type: string
          description: service causing error
        message:
          type: string
          description: what went wrong
        statusCode:
          type: integer
          description: HTTP status code
          format: int32
        causes:
          type: array
          description: errors triggering this one
          items:
            $ref: '#/components/schemas/ErrorReport'
        stackTrace:
          type: array
          description: stack trace
          items:
            $ref: '#/components/schemas/StackTraceElement'
      description: ''
    WorkspaceMigrationFailure:
      type: object
      required:
      - failure
      properties:
        failure:
          description: Supplementary failure information
          type: string
    StackTraceElement:
      required:
      - className
      - fileName
      - lineNumber
      - methodName
      type: object
      properties:
        className:
          type: string
          description: class name
        methodName:
          type: string
          description: method name
        fileName:
          type: string
          description: source file name
        lineNumber:
          type: integer
          description: line number
          format: int32
      description: ''
    GcpBucketLifecycleCondition:
      type: object
      minProperties: 1
      properties:
        age:
          type: integer
          description: The age of the object in days
        matchesPrefix:
          type: array
          description: Object name prefixes that this rule applies to
          items:
            type: string
    WorkspaceSettingsResponse:
      required:
      - successes
      - failures
      type: object
      properties:
        successes:
          type: array
          description: The settings that were successfully applied
          items:
            $ref: '#/components/schemas/WorkspaceSetting'
        failures:
          $ref: '#/components/schemas/FailedWorkspaceSettingsResponse'
    WorkspaceName:
      required:
      - name
      - namespace
      type: object
      properties:
        namespace:
          type: string
          description: The namespace (billing project) the workspace belongs to
        name:
          type: string
          description: The name of the workspace
      description: ''
    WorkspaceDeletionResult:
      type: object
      description: Workspace deletion metadata
      properties:
        gcpContext:
          $ref: '#/components/schemas/GcpWorkspaceDeletionContext'
        jobId:
          type: string
          description: Deletion job ID
    WorkspaceSettingGcpLogBucketRetentionConfig:
      required:
      - retentionDurationInDays
      type: object
      properties:
        retentionDurationInDays:
          type: integer
          description: The length of time, in days, to retain logs in _Default bucket
    GcpWorkspaceDeletionContext:
      type: object
      description: Workspace deletion context information for a GCP workspace
      properties:
        bucketName:
          type: string
          description: Name of the workspace's GCP bucket, if present
    ManagedGroupRef:
      required:
      - membersGroupName
      type: object
      properties:
        membersGroupName:
          type: string
      description: a reference to a group that can be managed by users
    BucketStorageUsageAndCost:
      required:
      - estimate
      - usageInBytes
      type: object
      properties:
        estimate:
          type: string
          description: The estimated monthly storage cost of the bucket
        usageInBytes:
          type: integer
          description: The total current storage bucket usage in bytes
        lastUpdated:
          type: string
          format: timestamp
          description: timestamp (UTC) marking the date that the bucket cost was last updated (YYYY-MM-DDThh:mm:ss.fffZ)
        usage:
          type: object
          description: Bucket usage in bytes, broken down by storage type.
      description: ''
    WorkspaceSettingGcpBucketSoftDeleteConfig:
      required:
      - retentionDurationInSeconds
      type: object
      properties:
        retentionDurationInSeconds:
          type: integer
          description: The length of time to retain soft-deleted objects for, in seconds
    MultiregionalBucketMigrationProgress:
      description: Represents the progress of a workspace bucket through the multiregional bucket migration pipeline
      type: object
      required:
      - migrationStep
      properties:
        migrationStep:
          description: User facing step of migration
          type: string
          enum:
          - ScheduledForMigration
          - PreparingTransferToTempBucket
          - TransferringToTempBucket
          - PreparingTransferToFinalBucket
          - TransferringToFinalBucket
          - FinishingUp
          - Finished
        outcome:
          $ref: '#/components/schemas/WorkspaceMigrationOutcome'
        tempBucketTransferProgress:
          $ref: '#/components/schemas/StorageTransferJobProgress'
        finalBucketTransferProgress:
          $ref: '#/components/schemas/StorageTransferJobProgress'
    WorkspaceSettingSeparateSubmissionFinalOutputsConfig:
      required:
      - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether submission final outputs should be separated from intermediate outputs
    FailedWorkspaceSettingsResponse:
      type: object
      description: The settings that failed to apply. The key is the setting type that failed.
      additionalProperties:
        $ref: '#/components/schemas/ErrorReport'
    GcpBucketLifecycleRule:
      required:
      - action
      - conditions
      type: object
      properties:
        action:
          $ref: '#/components/schemas/GcpBucketLifecycleAction'
        conditions:
          $ref: '#/components/schemas/GcpBucketLifecycleCondition'
  parameters:
    workspaceNameParam:
      name: workspaceName
      in: path
      description: Workspace Name
      required: true
      schema:
        type: string
    workspaceNamespaceParam:
      name: workspaceNamespace
      in: path
      description: Workspace Namespace
      required: true
      schema:
        type: string
  responses:
    RawlsInternalError:
      description: Rawls Internal Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorReport'
  securitySchemes:
    oidc:
      type: oauth2
      x-tokenName: id_token
      flows:
        authorizationCode:
          authorizationUrl: OAUTH_AUTHORIZATION_URL
          scopes: {}
          tokenUrl: OAUTH_TOKEN_URL
    oidc_google_billing_scope:
      type: oauth2
      x-tokenName: id_token
      flows:
        authorizationCode:
          authorizationUrl: OAUTH_AUTHORIZATION_URL_WITH_GOOGLE_BILLING_SCOPE
          scopes: {}
          tokenUrl: OAUTH_TOKEN_URL_WITH_GOOGLE_BILLING_SCOPE