> 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 notebook template entry by ID

GET https://{tenant_name}.benchling.com/api/v2-beta/entry-templates/{entry_template_id}

Get a notebook template entry by ID

Reference: https://docs.benchling.com/docs/api/v2-beta/benchling-api-beta/entries/get-template-entry

## Authentication

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

## Request

### Path parameters

- `entry_template_id` (string, required) — ID of the entry template

## Response

### 200

Returns a single entry template. Entry templates are templates that users can base new notebook entries off of.

- `apiURL` (string, optional) — The canonical url of the Entry Template in the API.
- `createdAt` (datetime, optional) — DateTime the template was created at
- `creator` (UserSummary, optional) — UserSummary Resource of the user who created the template
- `customFields` (map from string to CustomField, optional)
- `days` (list of EntryTemplateDay, optional) — Array of day objects. Each day object has a day index (integer) and notes field (array of notes, expand further for details on note types).
- `fields` (map from string to Field, optional)
- `id` (string, optional) — ID of the entry template
- `modifiedAt` (string, optional) — DateTime the template was last modified
- `name` (string, optional) — Title of the template
- `schema` (EntrySchema, optional, nullable) — Entry schema if set
- `templateCollectionId` (string, optional) — ID of the collection that contains the template
- `webURL` (string, optional) — URL of the template

## Types

### UserSummary

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

### CustomField

- `value` (string, optional)

### EntryTemplateDay

- `day` (integer, optional) — 1 indexed day signifier. If 0 is returned, that means the EntryTemplateDay is a section with a title but no specified Day.
- `notes` (list of EntryTemplateDayNotesItems, 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`

### 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

### EntryTemplateDayNotesItems

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

### 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"])

### SimpleNotePart

Simple note parts include the following types: - 'text': plain text - 'code': preformatted code block - 'list_bullet': one "line" of a bulleted list - 'list_number': one "line" of a numbered list

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `text`, `code`, `list_bullet`, `list_number`
- `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.

### TableNotePart

A table with rows and columns of 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.
- `type` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `table`
- `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.

### TextBoxNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `text_box`
- `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)

### CheckboxNotePart

One "line" of a checklist

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `list_checkbox`
- `checked` (boolean, optional) — Indicates whether the checkbox is checked or not.
- `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.

### ExternalFileNotePart

An attached user-uploaded file

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `external_file`
- `externalFileId` (string, optional) — The ID of the external file. Use the 'Get an external file' endpoint to retrieve metadata about it.
- `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.

### AssayRunNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `assay_run`
- `assayRunId` (string, optional, nullable)
- `assayRunSchemaId` (string, optional)

### LookupTableNotePart

- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `type` (enum, optional)
  - Allowed values: `lookup_table`

### ResultsTableNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `results_table`
- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `assayResultSchemaId` (string, optional)

### RegistrationTableNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `registration_table`
- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `entitySchemaId` (string, optional)

### PlateCreationTableNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `plate_creation_table`
- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `plateSchemaId` (string, optional)

### BoxCreationTableNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `box_creation_table`
- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `boxSchemaId` (string, optional)

### MixturePrepTableNotePart

- `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` (enum, optional) — The type of the note. Type determines what other fields are present.
  - Allowed values: `mixture_prep_table`
- `apiId` (string, optional)
- `columns` (list of StructuredTableColumnInfo, optional)
- `name` (string, optional)
- `mixtureSchemaId` (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.

### 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.

### StructuredTableColumnInfo

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

### 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/entry-templates/tmpl_tv7m7B78",
  "createdAt": "2024-01-15T09:30:00Z",
  "creator": {
    "handle": "string",
    "id": "string",
    "name": "string"
  },
  "customFields": {
    "Legacy ID": {
      "value": "STR100"
    }
  },
  "days": [
    {
      "day": 1,
      "notes": [
        {
          "indentation": 0,
          "links": [
            {
              "id": "string",
              "type": "link",
              "webURL": "string"
            }
          ],
          "text": "string",
          "type": "text"
        }
      ],
      "title": "string"
    }
  ],
  "fields": {},
  "id": "string",
  "modifiedAt": "string",
  "name": "string",
  "schema": {
    "id": "string",
    "modifiedAt": "2017-04-18T05:55:48.685345+00:00",
    "name": "string"
  },
  "templateCollectionId": "string",
  "webURL": "string"
}
```

**SDK Code**

```python
import requests

url = "https://{tenant_name}.benchling.com/api/v2-beta/entry-templates/entry_template_id"

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

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

print(response.json())
```

```javascript
const url = 'https://{tenant_name}.benchling.com/api/v2-beta/entry-templates/entry_template_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);
}
```