---
title: "Get DataFrame by ID"
method: GET
path: "/api/v3/data-frame/{data_frame_id}"
tags: ["Data Frame"]
---

# Get DataFrame by ID

`GET /api/v3/data-frame/{data_frame_id}`

## Request

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

Get a single DataFrame by ID.

## Path parameters

- `data_frame_id` string, required

## Query parameters

- `returning` string[]
- `omit` string[]

## Response `200`

OK

- 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
- `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)
