Keboola Workspaces API

The Workspaces API from Keboola — 24 operation(s) for workspaces.

OpenAPI Specification

keboola-workspaces-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: AI Service Actions Workspaces API
  version: 1.0.0
  contact:
    email: devel@keboola.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
tags:
- name: Workspaces
paths:
  /v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/workspaces:
    post:
      tags:
      - Workspaces
      summary: Create workspace
      description: Creates a new workspace. Provide componentId and configurationId to create workspace for a configuration. Set "async=true" to create asynchronously.
      operationId: post_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/workspaces::WorkspaceCreateAction
      parameters:
      - name: componentId
        in: path
        description: Component identifier.
        required: true
        schema:
          type: string
          pattern: .+
      - name: configurationId
        in: path
        description: Configuration identifier.
        required: true
        schema:
          type: string
          pattern: .+
      - name: async
        in: query
        description: Create workspace asynchronously.
        required: false
        schema:
          type: boolean
          default: false
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateWorkspaceRequest'
      responses:
        '201':
          description: Workspace created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '202':
          description: Workspace creation job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Returned when the request is invalid.
        '404':
          description: Returned when the component or configuration is not found.
        '501':
          description: Returned when Snowflake Partner Connect projects are not supported.
  /v2/storage/components/{componentId}/configs/{configurationId}/workspaces:
    post:
      tags:
      - Workspaces
      summary: Create workspace
      description: Creates a new workspace. Provide componentId and configurationId to create workspace for a configuration. Set "async=true" to create asynchronously.
      operationId: post_/v2/storage/components/{componentId}/configs/{configurationId}/workspaces::WorkspaceCreateAction
      parameters:
      - name: componentId
        in: path
        description: Component identifier.
        required: true
        schema:
          type: string
          pattern: .+
      - name: configurationId
        in: path
        description: Configuration identifier.
        required: true
        schema:
          type: string
          pattern: .+
      - name: async
        in: query
        description: Create workspace asynchronously.
        required: false
        schema:
          type: boolean
          default: false
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateWorkspaceRequest'
      responses:
        '201':
          description: Workspace created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '202':
          description: Workspace creation job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Returned when the request is invalid.
        '404':
          description: Returned when the component or configuration is not found.
        '501':
          description: Returned when Snowflake Partner Connect projects are not supported.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key:
    post:
      tags:
      - Workspaces
      summary: Set public key for workspace
      description: Sets the public key for the specified workspace. This allows the workspace to connect to external services that require key-based authentication.
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key::WorkspacesSetPublicKeyAction
      parameters:
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
          pattern: \d+
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Workspace not found.
        '400':
          description: Backend not supported or invalid public key.
  /v2/storage/workspaces/{workspaceId}/public-key:
    post:
      tags:
      - Workspaces
      summary: Set public key for workspace
      description: Sets the public key for the specified workspace. This allows the workspace to connect to external services that require key-based authentication.
      operationId: post_/v2/storage/workspaces/{workspaceId}/public-key::WorkspacesSetPublicKeyAction
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
          pattern: \d+
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Workspace not found.
        '400':
          description: Backend not supported or invalid public key.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key/{keyName}:
    post:
      tags:
      - Workspaces
      summary: Set public key for workspace
      description: Sets the public key for the specified workspace. This allows the workspace to connect to external services that require key-based authentication.
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/public-key/{keyName}::WorkspacesSetPublicKeyAction
      parameters:
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
          pattern: \d+
      - name: keyName
        in: path
        required: true
        schema:
          type: string
          pattern: RSA_PUBLIC_KEY|RSA_PUBLIC_KEY_2|BQ_KEY_1|BQ_KEY_2
          enum:
          - RSA_PUBLIC_KEY
          - RSA_PUBLIC_KEY_2
          - BQ_KEY_1
          - BQ_KEY_2
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Workspace not found.
        '400':
          description: Backend not supported or invalid public key.
  /v2/storage/workspaces/{workspaceId}/public-key/{keyName}:
    post:
      tags:
      - Workspaces
      summary: Set public key for workspace
      description: Sets the public key for the specified workspace. This allows the workspace to connect to external services that require key-based authentication.
      operationId: post_/v2/storage/workspaces/{workspaceId}/public-key/{keyName}::WorkspacesSetPublicKeyAction
      parameters:
      - name: workspaceId
        in: path
        required: true
        schema:
          type: string
          pattern: \d+
      - name: keyName
        in: path
        required: true
        schema:
          type: string
          pattern: RSA_PUBLIC_KEY|RSA_PUBLIC_KEY_2|BQ_KEY_1|BQ_KEY_2
          enum:
          - RSA_PUBLIC_KEY
          - RSA_PUBLIC_KEY_2
          - BQ_KEY_1
          - BQ_KEY_2
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Workspace not found.
        '400':
          description: Backend not supported or invalid public key.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete:
    post:
      tags:
      - Workspaces
      summary: Batch delete workspace objects
      description: Deletes multiple tables and views from a workspace in a single operation. Returns a job. The job fails if any object deletion fails, but all objects are attempted.
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete::ObjectBatchDeleteAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchDeleteRequest'
      responses:
        '202':
          description: Batch delete job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '404':
          description: Returned when the workspace is not found.
  /v2/storage/workspaces/{workspaceId}/objects/batch-delete:
    post:
      tags:
      - Workspaces
      summary: Batch delete workspace objects
      description: Deletes multiple tables and views from a workspace in a single operation. Returns a job. The job fails if any object deletion fails, but all objects are attempted.
      operationId: post_/v2/storage/workspaces/{workspaceId}/objects/batch-delete::ObjectBatchDeleteAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchDeleteRequest'
      responses:
        '202':
          description: Batch delete job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '404':
          description: Returned when the workspace is not found.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects:
    get:
      tags:
      - Workspaces
      summary: List workspace objects
      description: Returns a list of objects (tables and views) present in the workspace.
      operationId: get_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/objects::ObjectListAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of objects in the workspace
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ObjectListResponse'
        '404':
          description: Returned when the workspace is not found.
        '422':
          description: Returned when the workspace backend is not supported.
  /v2/storage/workspaces/{workspaceId}/objects:
    get:
      tags:
      - Workspaces
      summary: List workspace objects
      description: Returns a list of objects (tables and views) present in the workspace.
      operationId: get_/v2/storage/workspaces/{workspaceId}/objects::ObjectListAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      responses:
        '200':
          description: List of objects in the workspace
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ObjectListResponse'
        '404':
          description: Returned when the workspace is not found.
        '422':
          description: Returned when the workspace backend is not supported.
  /v2/storage/branch/{branchId}/workspaces:
    get:
      tags:
      - Workspaces
      summary: List workspaces
      description: Lists all workspaces available in the current branch for the project.
      operationId: get_/v2/storage/branch/{branchId}/workspaces::WorkspacesListAction
      parameters:
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of workspaces
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceDetailResponse'
    post:
      tags:
      - Workspaces
      summary: Create workspace
      description: Creates a new workspace. Provide componentId and configurationId to create workspace for a configuration. Set "async=true" to create asynchronously.
      operationId: post_/v2/storage/branch/{branchId}/workspaces::WorkspaceCreateAction
      parameters:
      - name: componentId
        in: path
        description: Component identifier.
        required: false
        schema:
          type: string
      - name: configurationId
        in: path
        description: Configuration identifier.
        required: false
        schema:
          type: string
      - name: async
        in: query
        description: Create workspace asynchronously.
        required: false
        schema:
          type: boolean
          default: false
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateWorkspaceRequest'
      responses:
        '201':
          description: Workspace created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '202':
          description: Workspace creation job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Returned when the request is invalid.
        '404':
          description: Returned when the component or configuration is not found.
        '501':
          description: Returned when Snowflake Partner Connect projects are not supported.
  /v2/storage/workspaces:
    get:
      tags:
      - Workspaces
      summary: List workspaces
      description: Lists all workspaces available in the current branch for the project.
      operationId: get_/v2/storage/workspaces::WorkspacesListAction
      responses:
        '200':
          description: List of workspaces
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkspaceDetailResponse'
    post:
      tags:
      - Workspaces
      summary: Create workspace
      description: Creates a new workspace. Provide componentId and configurationId to create workspace for a configuration. Set "async=true" to create asynchronously.
      operationId: post_/v2/storage/workspaces::WorkspaceCreateAction
      parameters:
      - name: componentId
        in: path
        description: Component identifier.
        required: false
        schema:
          type: string
      - name: configurationId
        in: path
        description: Configuration identifier.
        required: false
        schema:
          type: string
      - name: async
        in: query
        description: Create workspace asynchronously.
        required: false
        schema:
          type: boolean
          default: false
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateWorkspaceRequest'
      responses:
        '201':
          description: Workspace created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '202':
          description: Workspace creation job enqueued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Returned when the request is invalid.
        '404':
          description: Returned when the component or configuration is not found.
        '501':
          description: Returned when Snowflake Partner Connect projects are not supported.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}:
    get:
      tags:
      - Workspaces
      summary: Get workspace details
      description: Returns detailed information about a specific workspace.
      operationId: get_/v2/storage/branch/{branchId}/workspaces/{workspaceId}::WorkspacesDetailAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Returned when the workspace is not found.
  /v2/storage/workspaces/{workspaceId}:
    get:
      tags:
      - Workspaces
      summary: Get workspace details
      description: Returns detailed information about a specific workspace.
      operationId: get_/v2/storage/workspaces/{workspaceId}::WorkspacesDetailAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[0-9]+'
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponse'
        '404':
          description: Returned when the workspace is not found.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/input-mapping-load:
    post:
      tags:
      - Workspaces
      summary: Load tables into a workspace using an input-mapping config
      description: Accepts a component-style input-mapping configuration and either returns the resolved load types (dryRun=true) or creates a workspace-load job (dryRun=false, default).
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/input-mapping-load::WorkspaceInputMappingLoadAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the target workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: dryRun
        in: query
        description: If `true`, do not create a job — return resolved load types per table instead.
        required: false
        schema:
          type: boolean
          default: false
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputMappingLoadRequest'
      responses:
        '200':
          description: 'Dry-run: validates the payload exactly as the real load would and returns the resolved load types per input table. A successful 200 response means the same payload submitted with dryRun=false will not be rejected by validation (modulo source state changing).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InputMappingLoadDryRunResponse'
        '202':
          description: Workspace-load job accepted (dryRun=false).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Invalid request — validation error, unsupported option, or duplicate destination.
        '403':
          description: Caller does not have access to the requested source table.
        '404':
          description: Workspace, source bucket, or source table not found.
        '422':
          description: Unsupported workspace backend for the requested load.
  /v2/storage/workspaces/{workspaceId}/input-mapping-load:
    post:
      tags:
      - Workspaces
      summary: Load tables into a workspace using an input-mapping config
      description: Accepts a component-style input-mapping configuration and either returns the resolved load types (dryRun=true) or creates a workspace-load job (dryRun=false, default).
      operationId: post_/v2/storage/workspaces/{workspaceId}/input-mapping-load::WorkspaceInputMappingLoadAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the target workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: dryRun
        in: query
        description: If `true`, do not create a job — return resolved load types per table instead.
        required: false
        schema:
          type: boolean
          default: false
      - name: X-KBC-Backend
        in: header
        schema:
          schema: BackendConfigurationRequest
          properties:
            context:
              type: string
              nullable: true
              minLength: 1
          type: object
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputMappingLoadRequest'
      responses:
        '200':
          description: 'Dry-run: validates the payload exactly as the real load would and returns the resolved load types per input table. A successful 200 response means the same payload submitted with dryRun=false will not be rejected by validation (modulo source state changing).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InputMappingLoadDryRunResponse'
        '202':
          description: Workspace-load job accepted (dryRun=false).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '400':
          description: Invalid request — validation error, unsupported option, or duplicate destination.
        '403':
          description: Caller does not have access to the requested source table.
        '404':
          description: Workspace, source bucket, or source table not found.
        '422':
          description: Unsupported workspace backend for the requested load.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/credentials:
    post:
      tags:
      - Workspaces
      summary: Get workspace credentials
      description: Returns workspace credentials for BigQuery or Snowflake backends. Creates credentials if they do not exist.
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/credentials::WorkspaceStorageCredentialsCreateAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Workspace credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponseWithSecret'
        '404':
          description: Returned when the workspace is not found.
        '400':
          description: Returned when the workspace backend is not supported (only BigQuery and Snowflake are supported).
  /v2/storage/workspaces/{workspaceId}/credentials:
    post:
      tags:
      - Workspaces
      summary: Get workspace credentials
      description: Returns workspace credentials for BigQuery or Snowflake backends. Creates credentials if they do not exist.
      operationId: post_/v2/storage/workspaces/{workspaceId}/credentials::WorkspaceStorageCredentialsCreateAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      responses:
        '200':
          description: Workspace credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponseWithSecret'
        '404':
          description: Returned when the workspace is not found.
        '400':
          description: Returned when the workspace backend is not supported (only BigQuery and Snowflake are supported).
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/credentials/{id}:
    get:
      tags:
      - Workspaces
      summary: Get specific workspace credential
      description: Returns details of a specific workspace credential by ID.
      operationId: get_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/credentials/{id}::WorkspaceStorageCredentialsDetailAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: id
        in: path
        description: ID of the credential.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Workspace credential details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponseWithSecret'
        '404':
          description: Returned when the workspace or credential is not found.
    delete:
      tags:
      - Workspaces
      summary: Delete workspace credential
      description: Deletes a specific workspace credential from both the database and the backend (BigQuery or Snowflake).
      operationId: delete_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/credentials/{id}::WorkspaceStorageCredentialsDeleteAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: id
        in: path
        description: ID of the credential.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Credential successfully deleted
        '404':
          description: Returned when the workspace or credential is not found.
  /v2/storage/workspaces/{workspaceId}/credentials/{id}:
    get:
      tags:
      - Workspaces
      summary: Get specific workspace credential
      description: Returns details of a specific workspace credential by ID.
      operationId: get_/v2/storage/workspaces/{workspaceId}/credentials/{id}::WorkspaceStorageCredentialsDetailAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: id
        in: path
        description: ID of the credential.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      responses:
        '200':
          description: Workspace credential details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceDetailResponseWithSecret'
        '404':
          description: Returned when the workspace or credential is not found.
    delete:
      tags:
      - Workspaces
      summary: Delete workspace credential
      description: Deletes a specific workspace credential from both the database and the backend (BigQuery or Snowflake).
      operationId: delete_/v2/storage/workspaces/{workspaceId}/credentials/{id}::WorkspaceStorageCredentialsDeleteAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      - name: id
        in: path
        description: ID of the credential.
        required: true
        schema:
          type: integer
          pattern: '[1-9][0-9]*'
      responses:
        '204':
          description: Credential successfully deleted
        '404':
          description: Returned when the workspace or credential is not found.
  /v2/storage/branch/{branchId}/workspaces/{workspaceId}/table-export:
    post:
      tags:
      - Workspaces
      summary: Export table from workspace
      description: 'Export existing table from workspace to a file in the storage backend connected to the workspace.


        Initial response returns job details [JobResponse](#model-JobResponse). The result of the asynchronous job can be fetched via `/v2/storage/jobs/{id}`. When the job completes, final result is [TableExportJobResponse](#model-TableExportJobResponse).'
      operationId: post_/v2/storage/branch/{branchId}/workspaces/{workspaceId}/table-export::WorkspaceTableExportAction
      parameters:
      - name: workspaceId
        in: path
        description: ID of the workspace.
        required: true
        schema:
          type: integer
          pattern: \d+
      - name: branchId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        description: Table, file name and file type to export.
        required: true
        content:
          application/

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/keboola/refs/heads/main/openapi/keboola-workspaces-api-openapi.yml