---
title: "Create Source Table"
method: POST
path: "/v1/source_tables"
tags: ["source_table"]
---

# Create Source Table

`POST /v1/source_tables`

## Request body

- CreateSourceTableRequest
  - `catalog_name` string
  - `schema_name` string
  - `table_name` string, required
  - `location` SourceTableProviderManifestInput, required
    - `table_paths` ListingTableUrlConfig[], required
    - `file_schema` ArrowSchemaConfigInput
    - `options` ListingOptionsConfigInput
      - `format` union, required
        - CsvFileFormatConfig
          - `kind` 'csv'
          - `config` CsvFormatConfig
            - `has_header` boolean, nullable
            - `delimiter` integer, nullable
            - `quote` integer, nullable
            - `terminator` integer, nullable
            - `escape` integer, nullable
            - `double_quote` boolean, nullable
            - `newlines_in_values` boolean, nullable
            - `compression` 'gzip' | 'bzip2' | 'xz' | 'zstd' | 'uncompressed'
            - `compression_level` integer, nullable
            - `schema_infer_max_rec` integer, nullable
            - `date_format` string, nullable
            - `datetime_format` string, nullable
            - `timestamp_format` string, nullable
            - `timestamp_tz_format` string, nullable
            - `time_format` string, nullable
            - `null_value` string, nullable
            - `null_regex` string, nullable
            - `comment` integer, nullable
            - `truncated_rows` boolean, nullable
        - JsonFileFormatConfig
          - `kind` 'json'
          - `config` JsonFormatConfig
            - `compression` 'gzip' | 'bzip2' | 'xz' | 'zstd' | 'uncompressed'
            - `compression_level` integer, nullable
            - `schema_infer_max_rec` integer, nullable
            - `newline_delimited` boolean
        - ParquetFileFormatConfig
          - `kind` 'parquet'
          - `config` ParquetFormatConfig
            - `enable_page_index` boolean, nullable
            - `pruning` boolean, nullable
            - `skip_metadata` boolean, nullable
            - `metadata_size_hint` integer, nullable
            - `pushdown_filters` boolean, nullable
            - `reorder_filters` boolean, nullable
            - `force_filter_selections` boolean, nullable
            - `schema_force_view_types` boolean, nullable
            - `binary_as_string` boolean, nullable
            - `coerce_int96` string, nullable
            - `bloom_filter_on_read` boolean, nullable
      - `file_extension` string, nullable
      - `table_partition_cols` array[]
        - unknown[]
          - unknown
      - `collect_stat` boolean
      - `target_partitions` integer
    - `kind` 'listing'

## Response `201`

Successful Response

- SourceTableResponse
  - `catalog_name` string
  - `schema_name` string
  - `table_name` string, required
  - `location` SourceTableProviderManifestOutput, required
    - `table_paths` ListingTableUrlConfig[], required
    - `file_schema` ArrowSchemaConfigOutput
    - `options` ListingOptionsConfigOutput
      - `format` union, required
        - CsvFileFormatConfig
          - `kind` 'csv'
          - `config` CsvFormatConfig
            - `has_header` boolean, nullable
            - `delimiter` integer, nullable
            - `quote` integer, nullable
            - `terminator` integer, nullable
            - `escape` integer, nullable
            - `double_quote` boolean, nullable
            - `newlines_in_values` boolean, nullable
            - `compression` 'gzip' | 'bzip2' | 'xz' | 'zstd' | 'uncompressed'
            - `compression_level` integer, nullable
            - `schema_infer_max_rec` integer, nullable
            - `date_format` string, nullable
            - `datetime_format` string, nullable
            - `timestamp_format` string, nullable
            - `timestamp_tz_format` string, nullable
            - `time_format` string, nullable
            - `null_value` string, nullable
            - `null_regex` string, nullable
            - `comment` integer, nullable
            - `truncated_rows` boolean, nullable
        - JsonFileFormatConfig
          - `kind` 'json'
          - `config` JsonFormatConfig
            - `compression` 'gzip' | 'bzip2' | 'xz' | 'zstd' | 'uncompressed'
            - `compression_level` integer, nullable
            - `schema_infer_max_rec` integer, nullable
            - `newline_delimited` boolean
        - ParquetFileFormatConfig
          - `kind` 'parquet'
          - `config` ParquetFormatConfig
            - `enable_page_index` boolean, nullable
            - `pruning` boolean, nullable
            - `skip_metadata` boolean, nullable
            - `metadata_size_hint` integer, nullable
            - `pushdown_filters` boolean, nullable
            - `reorder_filters` boolean, nullable
            - `force_filter_selections` boolean, nullable
            - `schema_force_view_types` boolean, nullable
            - `binary_as_string` boolean, nullable
            - `coerce_int96` string, nullable
            - `bloom_filter_on_read` boolean, nullable
      - `file_extension` string, nullable
      - `table_partition_cols` array[]
        - unknown[]
          - unknown
      - `collect_stat` boolean
      - `target_partitions` integer
    - `kind` 'listing'
  - `id` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-26** `17afb53a6ac9` — 7 breaking, 1 warning, 18 info
  - added the new required request property `location/table_paths`
  - removed `#/components/schemas/S3SourceLocation, #/components/schemas/SnowflakeSourceLocation` from the `location` request property `anyOf` list
  - the `location` request property type/format changed from ``/`` to `object`/``
  - the `id` response's property type/format changed from ``/`` to `string`/`` for status `201`
  - …22 more

[Change history](https://skmtc.dev/outerproduct/apis/outerproduct-api/changes/v1/source_tables/post.md)

---

[API](https://skmtc.dev/outerproduct/apis/outerproduct-api.md) · [All operations](https://skmtc.dev/outerproduct/apis/outerproduct-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outerproduct/outerproduct-api/revisions/17afb53a6ac9/schema)
