> This page is for Developer Documentation.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.benchling.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.benchling.com/_mcp/server.

# Get a stage entry by ID

GET https://{tenant_name}.benchling.com/api/v2-alpha/stage-entries/{stage_entry_id}

Get a stage entry by ID

Reference: https://docs.benchling.com/docs/api/v2-alpha/benchling-api-alpha/legacy-workflows/get-stage-entry

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `stage_entry_id` (string, required) — ID of the stage entry

## Response

### 200

OK

- `apiURL` (string, optional) — The canonical url of the Entry in the API.
- `assignedReviewers` (list of UserSummary, optional) — Array of users assigned to review the stage entry, if any.
- `authors` (list of UserSummary, optional) — Array of UserSummary Resources of the authors of the stage entry. This defaults to the creator but can be manually changed.
- `createdAt` (datetime, optional) — DateTime the stage entry was created at
- `creator` (UserSummary, optional) — UserSummary Resource of the user who created the stage entry
- `customFields` (map from string to CustomField, optional)
- `days` (list of EntryDay, optional) — Array of day objects. Each day object has a date field (string) and notes field (array of notes, expand further for details on note types).
- `displayId` (string, optional) — User-friendly ID of the stage entry
- `fields` (map from string to Field, optional)
- `folderId` (string, optional) — ID of the folder that contains the stage entry
- `id` (string, optional) — ID of the stage entry
- `modifiedAt` (string, optional) — DateTime the stage entry was last modified
- `name` (string, optional) — Title of the stage entry
- `reviewRecord` (StageEntryReviewRecord, optional, nullable) — Review record if set
- `schema` (EntrySchema, optional, nullable) — Entry schema if set
- `webURL` (string, optional) — URL of the stage entry
- `workflowId` (string, optional) — ID of the parent workflow
- `workflowStageId` (string, optional) — ID of the associated workflow stage

## Errors

### 404 Not Found Error

Not Found

- `error` (NotFoundErrorError, optional)

## Types

### UserSummary

- `handle` (string, optional)
- `id` (string, optional)
- `name` (string, optional)

### CustomField

- `value` (string, optional)

### EntryDay

- `date` (string, optional) — A Date string
- `notes` (list of EntryNotePart, optional)
- `title` (string, optional, nullable) — Optional title of a section if sections are enabled.

### Field

- `value` (FieldValue, required, nullable) — For single link fields, use the id of the item you want to link (eg. "seq_jdf8BV24"). For multi-link fields, use an array of ids of the items you want to link (eg. ["seq_jdf8BV24"])
- `displayValue` (string, optional, nullable)
- `isMulti` (boolean, optional)
- `textValue` (string, optional, nullable)
- `type` (enum, optional)
  - Allowed values: `dna_sequence_link`, `aa_sequence_link`, `custom_entity_link`, `entity_link`, `mixture_link`, `molecule_link`, `dropdown`, `part_link`, `translation_link`, `aa_part_link`, `base_molecule_link`, `blob_link`, `text`, `long_text`, `batch_link`, `storage_link`, `entry_link`, `assay_request_link`, `assay_result_link`, `assay_run_link`, `boolean`, `float`, `integer`, `datetime`, `date`, `json`

### StageEntryReviewRecord

Review record if set

### EntrySchema

Entry schema

- `id` (string, optional) — ID of the entry schema
- `modifiedAt` (datetime, optional) — DateTime the Entry Schema was last modified
- `name` (string, optional) — Name of the entry schema

### NotFoundErrorError

- `message` (string, optional)
- `type` (enum, optional)
  - Allowed values: `invalid_request_error`
- `userMessage` (string, optional)
- `invalidId` (string, optional)

### EntryNotePart

Notes are the main building blocks of entries. Each note corresponds roughly to a paragraph.

- `type`: `app_canvas` (app_canvas)
  - `appId` (string, optional) — The API identifier for the Benchling App.
  - `canvasId` (string, optional) — The API identifier for this Analysis Chart.
  - `featureId` (string, optional) — The developer ID assigned to the feature of this App Canvas.
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
- `type`: `assay_run` (assay_run)
  - `assayRunId` (string, optional, nullable)
  - `assayRunSchemaId` (string, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
- `type`: `box_creation_table` (box_creation_table)
  - `apiId` (string, optional)
  - `boxSchemaId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `name` (string, optional)
- `type`: `code` (code)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in text via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The textual contents of the note.
- `type`: `external_file` (external_file)
  - `externalFileId` (string, optional) — The ID of the external file. Use the 'Get an external file' endpoint to retrieve metadata about it.
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in the caption via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The caption of the file attachment.
- `type`: `inventory_container_table` (inventory_container_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `destinationContainerSchemaId` (string, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `mode` (enum, optional)
    - Allowed values: `create_and_fill`, `fill`, `update`
  - `name` (string, optional)
- `type`: `inventory_plate_table` (inventory_plate_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `destinationPlateSchemaId` (string, optional, nullable)
  - `destinationWellSchemaId` (string, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `mode` (enum, optional)
    - Allowed values: `create_and_fill`, `fill`, `update`
  - `name` (string, optional)
- `type`: `list_bullet` (list_bullet)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in text via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The textual contents of the note.
- `type`: `list_checkbox` (list_checkbox)
  - `checked` (boolean, optional) — Indicates whether the checkbox is checked or not.
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in text via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The textual contents of the note.
- `type`: `list_number` (list_number)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in text via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The textual contents of the note.
- `type`: `lookup_table` (lookup_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `name` (string, optional)
- `type`: `mixture_prep_table` (mixture_prep_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `mixtureSchemaId` (string, optional)
  - `name` (string, optional)
- `type`: `note_linked_chart` (note_linked_chart)
  - `chart` (ChartNotePartChart, optional) — The full configuration for the chart to be displayed in-line in this note part.
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
- `type`: `plate_creation_table` (plate_creation_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `name` (string, optional)
  - `plateSchemaId` (string, optional)
- `type`: `registration_table` (registration_table)
  - `apiId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `entitySchemaId` (string, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `name` (string, optional)
- `type`: `results_table` (results_table)
  - `apiId` (string, optional)
  - `assayResultSchemaId` (string, optional)
  - `columns` (list of StructuredTableColumnInfo, optional)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `name` (string, optional)
- `type`: `table` (table)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in the caption via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `table` (EntryTable, optional) — Actual tabular data with rows and columns of text on the note.
  - `text` (string, optional) — The caption of the table.
- `type`: `text` (text)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced in text via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `text` (string, optional) — The textual contents of the note.
- `type`: `text_box` (text_box)
  - `indentation` (integer, optional, default: 0) — All notes have an indentation level - the default is 0 for no indent. For lists, indentation gives notes hierarchy - a bulleted list with children is modeled as one note part with indentation 1 followed by note parts with indentation 2, for example.
  - `links` (list of EntryLink, optional) — Array of links referenced via an @-mention, hyperlink, or the drag-n-dropped preview attached to the note.
  - `name` (string, optional)
  - `text` (string, optional)

### FieldValue

For single link fields, use the id of the item you want to link (eg. "seq_jdf8BV24"). For multi-link fields, use an array of ids of the items you want to link (eg. ["seq_jdf8BV24"])

### StructuredTableColumnInfo

- `columnId` (string, optional)
- `isReadOnly` (boolean, optional)
- `name` (string, optional)

### EntryLink

Links are contained within notes to reference resources that live outside of the entry. A link can target an external resource via an http(s):// hyperlink or a Benchling resource via @-mentions and drag-n-drop.

- `id` (string, optional) — For linked Benchling resources, this will be the ID of that resource (e.g., 'seq_RhYGVnHF'). Omitted for "link" types.
- `type` (enum, optional) — The type of resource being linked. For hyperlinks: 'link'. For linked Benchling resources, one of: 'user', 'request', 'entry', 'stage_entry', 'protocol', 'workflow', 'custom_entity', 'aa_sequence', 'dna_sequence', 'batch', 'box', 'container', 'location', 'plate', 'sql_dashboard'; and (for legacy support) 'insights_dashboard', 'folder'.
  - Allowed values: `link`, `user`, `request`, `entry`, `stage_entry`, `protocol`, `workflow`, `custom_entity`, `aa_sequence`, `dna_sequence`, `batch`, `box`, `container`, `location`, `plate`, `insights_dashboard`, `folder`, `sql_dashboard`
- `webURL` (string, optional, nullable) — Canonical URL of the linked Benchling resource (if you have at least READ authorization for that resource), or the explicit URL provided as hyperlink for "link" types. Note: locations do not currently have a URL.

### ChartNotePartChart

The full configuration for the chart to be displayed in-line in this note part.

- `id` (string, optional) — The API identifier for this Analysis Chart.

### EntryTable

Actual tabular data with rows and columns of text on the note.

- `columnLabels` (list of string, optional) — Array of strings, with one item per column. Defaults to null, if the user is using the default, but is set if the user has given a custom name to the column.
- `name` (string, optional) — Name of the table - defaults to e.g. Table1 but can be renamed.
- `rows` (list of EntryTableRow, optional) — Array of row objects.

### EntryTableRow

Each has property 'cells' that is an array of cell objects

- `cells` (list of EntryTableCell, optional)

### EntryTableCell

- `link` (EntryLink, optional) — A Link Resource if this cell contained a hyperlink. Otherwise, link will be omitted from the cell object. (Note: inventory and user types are not yet supported.)
- `text` (string, optional) — The textual content of the cell. If the cell was originally a formula, this will be the evaluated version of the formula.

## Examples

**Response**

```json
{
  "apiURL": "https://benchling.com/api/v2-alpha/stage-entries/stgentr_1HEcejZq",
  "assignedReviewers": [
    {
      "handle": "string",
      "id": "string",
      "name": "string"
    }
  ],
  "authors": [
    {
      "handle": "string",
      "id": "string",
      "name": "string"
    }
  ],
  "createdAt": "2024-01-15T09:30:00Z",
  "creator": {
    "handle": "string",
    "id": "string",
    "name": "string"
  },
  "customFields": {
    "Legacy ID": {
      "value": "STR100"
    }
  },
  "days": [
    {
      "date": "string",
      "notes": [
        {
          "type": "text",
          "indentation": 0,
          "links": [
            {
              "id": "string",
              "type": "link",
              "webURL": "string"
            }
          ],
          "text": "string"
        }
      ],
      "title": "string"
    }
  ],
  "displayId": "string",
  "fields": {},
  "folderId": "string",
  "id": "string",
  "modifiedAt": "string",
  "name": "string",
  "reviewRecord": {},
  "schema": {
    "id": "string",
    "modifiedAt": "2017-04-18T05:55:48.685345+00:00",
    "name": "string"
  },
  "webURL": "string",
  "workflowId": "wfw_7COQmok7",
  "workflowStageId": "wfwstg_EZuryAiW"
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v2-alpha/stage-entries/stage_entry_id"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v2-alpha/stage-entries/stage_entry_id';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```