---
title: "Get AppCanvas by ID"
method: GET
path: "/api/v3/app-canvas/{app_canvas_id}"
tags: ["App Canvas"]
---

# Get AppCanvas by ID

`GET /api/v3/app-canvas/{app_canvas_id}`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/app-canvas/{app_canvas_id}`
- Auth: HTTP bearer

Get a single AppCanvas by ID.

## Path parameters

- `app_canvas_id` string, required

## Query parameters

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

## Headers

- `EARLY-ACCESS` string

## Response `200`

OK

- AppCanvas: Represents a Benchling App canvas, an embedded UI surface that apps use to render custom interactive content within notebook entries, entry templates, assay runs, or app homepages. Each canvas belongs to a single app and contains a list of UI blocks that define the canvas layout and interactivity.
  - `__typename` string
  - `app` IAppInstallationRef
    - `__typename` string
    - `id` string, api_id
  - `archiveReason` string, nullable
  - `archived` boolean
  - `blocks` AppCanvasUiBlock[]
    - union: A union of all UI block types that can appear on an app canvas. Each block type provides different interactive or display capabilities within the canvas surface.
      - object: A button block that triggers an app interaction when clicked.
        - `__typename` 'ButtonUiBlock', required: Discriminator value: ButtonUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `text` string
      - object: A chip block that displays a short piece of information.
        - `__typename` 'ChipUiBlock', required: Discriminator value: ChipUiBlock
        - `id` string
        - `value` string
      - object: A multi-select dropdown block backed by a Benchling dropdown registry.
        - `__typename` 'DropdownMultiValueUiBlock', required: Discriminator value: DropdownMultiValueUiBlock
        - `dropdownId` string
        - `enabled` boolean, nullable
        - `id` string
        - `label` string, nullable
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `value` string[], nullable
      - object: A dropdown block backed by a Benchling dropdown registry.
        - `__typename` 'DropdownUiBlock', required: Discriminator value: DropdownUiBlock
        - `dropdownId` string
        - `enabled` boolean, nullable
        - `id` string
        - `label` string, nullable
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `value` string, nullable
      - object: A file upload block that accepts one or more file attachments.
        - `__typename` 'FileUploadUiBlock', required: Discriminator value: FileUploadUiBlock
        - `enabled` boolean, nullable
        - `fileTypes` string[], nullable
        - `id` string
        - `label` string, nullable
        - `maxFiles` integer, nullable
        - `required` boolean, nullable
        - `value` string[], nullable
      - object: A block that renders Markdown content.
        - `__typename` 'MarkdownUiBlock', required: Discriminator value: MarkdownUiBlock
        - `id` string
        - `value` string
      - object: A multi-select search input block for selecting multiple Benchling entities.
        - `__typename` 'SearchInputMultiValueUiBlock', required: Discriminator value: SearchInputMultiValueUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `itemType` 'DNA_SEQUENCE' | 'DNA_OLIGO' | 'AA_SEQUENCE' | 'CUSTOM_ENTITY' | 'MIXTURE' | 'BOX' | 'CONTAINER' | 'LOCATION' | 'PLATE' | 'WORKLIST'
        - `label` string, nullable
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `schemaId` string, nullable
        - `value` string[], nullable
      - object: A search input block for selecting a single Benchling entity.
        - `__typename` 'SearchInputUiBlock', required: Discriminator value: SearchInputUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `itemType` 'DNA_SEQUENCE' | 'DNA_OLIGO' | 'AA_SEQUENCE' | 'CUSTOM_ENTITY' | 'MIXTURE' | 'BOX' | 'CONTAINER' | 'LOCATION' | 'PLATE' | 'WORKLIST'
        - `label` string, nullable
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `schemaId` string, nullable
        - `value` string, nullable
      - object: A section block that groups child blocks together. Children are leaf blocks only.
        - `__typename` string, required
        - `children` UiBlockLeafNode[]
          - union: A union of all UI block types that can appear in a section block. A subset of all blocks.
            - object: A button block that triggers an app interaction when clicked.
              - …
            - object: A chip block that displays a short piece of information.
              - …
            - object: A multi-select dropdown block backed by a Benchling dropdown registry.
              - …
            - object: A dropdown block backed by a Benchling dropdown registry.
              - …
            - object: A file upload block that accepts one or more file attachments.
              - …
            - object: A block that renders Markdown content.
              - …
            - object: A multi-select search input block for selecting multiple Benchling entities.
              - …
            - object: A search input block for selecting a single Benchling entity.
              - …
            - object: A multi-select selector input block with predefined options.
              - …
            - object: A selector input block with predefined options.
              - …
            - object: A text input block that accepts freeform user text.
              - …
        - `id` string
      - object: A multi-select selector input block with predefined options.
        - `__typename` 'SelectorInputMultiValueUiBlock', required: Discriminator value: SelectorInputMultiValueUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `label` string, nullable
        - `options` string[]
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `value` string[], nullable
      - object: A selector input block with predefined options.
        - `__typename` 'SelectorInputUiBlock', required: Discriminator value: SelectorInputUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `label` string, nullable
        - `options` string[]
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `value` string, nullable
      - object: A table block that displays tabular data from a dataset or data frame.
        - `__typename` string, required
        - `dataFrameId` string
        - `enabled` boolean, nullable
        - `id` string
        - `name` string
      - object: A text input block that accepts freeform user text.
        - `__typename` 'TextInputUiBlock', required: Discriminator value: TextInputUiBlock
        - `enabled` boolean, nullable
        - `id` string
        - `label` string, nullable
        - `placeholder` string, nullable
        - `required` boolean, nullable
        - `value` string, nullable
  - `createdAt` string, datetime
  - `data` string, nullable
  - `enabled` boolean
  - `featureId` string, nullable
  - `id` string
  - `modifiedAt` string, datetime
  - `resourceId` string
  - `sessionId` string, nullable

## 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/3873a10bf7b8?raw)
