---
title: "Import Table From Csv"
method: POST
path: "/workspaces/{workspace_id}/tables/import"
tags: ["tables"]
---

# Import Table From Csv

`POST /workspaces/{workspace_id}/tables/import`

## Request

- Base URL: `https://platform.tracecat.com/api`
- URL: `https://platform.tracecat.com/api/workspaces/{workspace_id}/tables/import`
- Auth: one of:
  - API key in cookie `fastapiusersauth`
  - HTTP bearer

Create a new table by importing a CSV file.

## Path parameters

- `workspace_id` string, uuid, required

## Request body `multipart/form-data`

- BodyTablesImportTableFromCsv
  - `file` string, binary, required
  - `table_name` string, nullable

## Response `201`

Successful Response

- TableImportResponse: Response model for importing a table from CSV.
  - `table` TableRead, required: Read model for a table.
    - `id` string, uuid, required
    - `name` string, required
    - `columns` TableColumnRead[], required
      - `id` string, uuid, required
      - `name` string, required
      - `type` 'TEXT' | 'INTEGER' | 'NUMERIC' | 'DATE' | 'BOOLEAN' | 'TIMESTAMPTZ' | 'JSONB' | 'SELECT' | 'MULTI_SELECT', required: Supported SQL types.
      - `nullable` boolean
      - `default` unknown
      - `is_index` boolean
      - `options` string[], nullable
  - `rows_inserted` integer, required
  - `column_mapping` InferredColumn[], required
    - `csv_header` string, required: Original column header in the CSV file
    - `field_name` string, required: Column name created in Tracecat
    - `field_type` 'TEXT' | 'INTEGER' | 'NUMERIC' | 'DATE' | 'BOOLEAN' | 'TIMESTAMPTZ' | 'JSONB' | 'SELECT' | 'MULTI_SELECT', required: Supported SQL types.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tracecat/apis/tracecat-api.md) - [All operations](https://skmtc.dev/tracecat/apis/tracecat-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tracecat/apis/tracecat-api/revisions/2efdda25045f?raw)
