---
title: "Create DataFrame"
method: POST
path: "/api/v3/data-frame"
tags: ["Data Frame"]
---

# Create DataFrame

`POST /api/v3/data-frame`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/data-frame`
- Auth: HTTP bearer

Create DataFrame.

## Request body

- CreateDataFrameInput
  - `delimiter` string: Single-character delimiter used when parsing the file. Defaults to a tab for .tsv files and ',' otherwise.
  - `locale` string: Locale used for number parsing, such as decimal and thousands separators (e.g. 'en-US'). Defaults to 'en-US' if not specified.
  - `name` string, required
  - `scratchFileId` string, nullable, required: ID of ScratchFile containing the raw file from which to create the DataFrame. Only files with a .csv or .tsv extension are supported.

## Response `201`

Created

- DataFrame: `DataFrame` stores non-schematized tabular data, with Benchling-aware column types (see `DataFrameColumn`). Data frames are not searchable and lack their own permissions; rather, they are child objects of pipelines (via `AutomationStepData`), datasets (see `Dataset`), and app canvases. Row data is stored in S3. Data frames are immutable; if data is updated, a new `DataFrame` is created.
  - `__typename` string
  - `columns` DataFrameColumn[]
    - `__typename` string
    - `displayName` string
    - `systemName` string
    - `type` DataFrameColumnType
  - `createdAt` string, datetime
  - `creator` PrincipalRef
    - `__typename` string
    - `id` string, api_id
  - `dataset` DatasetRef
    - `__typename` string
    - `id` string, api_id
  - `errorMessage` string, nullable
  - `id` string
  - `manifest` DataFrameManifestItem[]
    - `__typename` string
    - `fileName` string
    - `url` string
  - `modifiedAt` string, datetime
  - `name` string
  - `size` integer
  - `uploadStatus` 'SUCCEEDED' | 'FAILED_VALIDATION' | 'IN_PROGRESS' | 'NOT_UPLOADED'

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

---

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