---
title: "Input mapping load preview"
method: POST
path: "/v2/storage/branch/{branchId}/input-mapping-load/preview"
tags: ["Workspaces"]
---

# Input mapping load preview

`POST /v2/storage/branch/{branchId}/input-mapping-load/preview`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage/branch/{branchId}/input-mapping-load/preview`
- Auth: one of:
  - API key in header `X-StorageApi-Token`
  - API key in header `X-KBC-ManageApiToken`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/keboola/apis/keboola-storage-api/docs/v2/storage/branch/:branchId/input-mapping-load/preview/post.ts> (a function with typed inputs; its response is checked against the schema)

Accepts a component-style input-mapping configuration (the same payload as `/workspaces/{workspaceId}/input-mapping-load`)
and returns the resolved load types per table for a backend, without targeting a workspace and without creating a job.
The backend is resolved per item from the item `backend` field, then the `backend` query parameter, then the project
default; the winner must be one of the project's assigned backends.

## Path parameters

- `branchId` string, required

## Query parameters

- `backend` string, nullable

## Request body

- InputMappingLoadRequest
  - `input` object[], required
    - `source` string, required
    - `source_branch_id` integer
    - `destination` string, required
    - `description` string, nullable: Description of the workspace table; overrides the Storage description. Empty or null inherits it. Ignored for VIEW loads.
    - `days` integer, nullable
    - `changed_since` string, nullable
    - `columns` string[]
    - `column_types` object[]
      - `source` string, required
      - `description` string, nullable: Description of the workspace column; overrides the Storage description. Empty or null inherits it. Ignored for VIEW loads.
      - `type` string
      - `destination` string
      - `length` union
        - string
        - integer
      - `nullable` boolean
      - `convert_empty_values_to_null` boolean
    - `where_column` string
    - `where_values` string[]
    - `where_operator` 'eq' | 'ne'
    - `limit` integer
    - `overwrite` boolean
    - `load_type` 'COPY' | 'CLONE' | 'VIEW' | 'AUTO'
    - `use_view` boolean: Legacy alias for `load_type: VIEW`. Kept for backward compatibility.
    - `keep_internal_timestamp_column` boolean
    - `incremental` boolean
    - `file_type` string
    - `backend` string: Storage backend to evaluate this item against on the workspace-less preview endpoint (e.g. `snowflake`, `bigquery`). Takes precedence over the `backend` query parameter and the project default. Must be one of the project's assigned backends. Ignored by the workspace load endpoint, which derives the backend from the workspace.
  - `preserve` boolean

## Response `200`

Validates the payload exactly as the real load would and returns the resolved load types per input table for the resolved backend.

- InputMappingLoadPreviewResponse
  - `input` object[], required
    - `source` string, required
    - `destination` string, required
    - `loadType` 'COPY' | 'CLONE' | 'VIEW', required
    - `possibleLoadTypes` string[], required

## Other responses

- `400`: Invalid request — validation error, unsupported option, load type not available, or duplicate destination.
- `403`: Caller does not have access to the requested source table (`workspace.tableAccessDenied`).
- `404`: Source bucket or source table not found (`workspace.sourceNotFound`).
- `422`: Resolved backend is not assigned to the project, or is unsupported for the requested load (`workspace.backendNotSupported`).

---

[API](https://skmtc.dev/keboola/apis/keboola-storage-api.md) - [All operations](https://skmtc.dev/keboola/apis/keboola-storage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/keboola/apis/keboola-storage-api/revisions/34b5ceac0317?raw)
