---
title: "Append worklist item"
method: POST
path: "/worklists/{worklist_id}/items"
tags: ["worklists"]
---

# Append worklist item

`POST /worklists/{worklist_id}/items`

## Request

- Base URL: `https://{tenant_name}.benchling.com/api/v2-beta`
- URL: `https://{tenant_name}.benchling.com/api/v2-beta/worklists/{worklist_id}/items`
- Auth: HTTP bearer

Appends an item to the end of a worklist if the item is not already present in the worklist. Returns 200 OK if the item was already present in the worklist and does not change that item's position.

## Path parameters

- `worklist_id` string, required

## Request body

- WorklistItemCreate
  - `itemId` string, required: The ID of the item to add to the worklist.

## Response `200`

OK

- union
  - Batch
    - `archiveRecord` ArchiveRecord
      - `reason` string
    - `createdAt` string, date-time: DateTime at which the the result was created
    - `creator` UserSummary
      - `handle` string
      - `id` string
      - `name` string
    - `defaultConcentration` Measurement
      - `units` string, nullable, required: Can only be null if value is also null
      - `value` number, double, nullable, required: Can only be null if units is also null
    - `entity` union
      - object: aa_sequence variant
        - `entityType` 'aa_sequence', required: Discriminator value: aa_sequence
        - `id` string
        - `type` string
      - object: custom_entity variant
        - `entityType` 'custom_entity', required
        - `id` string
        - `type` string
      - object: dna_sequence variant
        - `entityType` 'dna_sequence', required
        - `id` string
        - `type` string
    - `fields` Fields
    - `id` string
    - `modifiedAt` string, date-time
    - `name` string
    - `schema` SchemaSummary
      - `id` string
      - `name` string
    - `webURL` string
  - Container
    - `archiveRecord` ArchiveRecord
      - `reason` string
    - `barcode` string, nullable
    - `checkoutRecord` CheckoutRecord: *assignee field* is set if status is "RESERVED" or "CHECKED_OUT", or null if status is "AVAILABLE". *comment field* is set when container was last reserved, checked out, or checked into. *modifiedAt field* is the date and time when container was last checked out, checked in, or reserved
      - `assignee` union
        - UserSummary
          - `handle` string
          - `id` string
          - `name` string
        - TeamSummary
          - `id` string
          - `name` string
      - `comment` string
      - `modifiedAt` string, date-time
      - `status` 'AVAILABLE' | 'RESERVED' | 'CHECKED_OUT'
    - `contents` ContainerContent[]
      - `batch` union
        - Batch
          - `archiveRecord` ArchiveRecord
            - `reason` string
          - `createdAt` string, date-time: DateTime at which the the result was created
          - `creator` UserSummary
            - `handle` string
            - `id` string
            - `name` string
          - `defaultConcentration` Measurement
            - `units` string, nullable, required: Can only be null if value is also null
            - `value` number, double, nullable, required: Can only be null if units is also null
          - `entity` union
            - object: aa_sequence variant
              - …
            - object: custom_entity variant
              - …
            - object: dna_sequence variant
              - …
          - `fields` Fields
          - `id` string
          - `modifiedAt` string, date-time
          - `name` string
          - `schema` SchemaSummary
            - `id` string
            - `name` string
          - `webURL` string
        - InaccessibleResource
          - `inaccessibleId` string
          - `type` string: The type of this inaccessible item. Example values: "custom_entity", "container", "plate", "dna_sequence"
      - `concentration` Measurement
        - `units` string, nullable, required: Can only be null if value is also null
        - `value` number, double, nullable, required: Can only be null if units is also null
      - `entity` union
        - union
          - object: aa_sequence variant
            - `entityType` 'aa_sequence', required
            - `aliases` string[]: Array of aliases
            - `aminoAcids` string: Amino acids of the AA sequence.
            - `annotations` AaAnnotation[]: Array of annotation objects on the AA sequence.
              - …
            - `apiURL` string, uri: The canonical url of the AA Sequence in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `createdAt` string, date-time: DateTime the AA sequence was created.
            - `creator` UserSummary
              - …
            - `customFields` CustomFields
            - `entityRegistryId` string, nullable: Registry ID of the AA sequence if registered.
            - `fields` Fields
            - `folderId` string, nullable: ID of the folder that contains the AA sequence.
            - `id` string: ID of the AA sequence.
            - `length` integer: Number of amino acids in the AA sequence.
            - `modifiedAt` string, date-time: DateTime the AA sequence was last modified.
            - `name` string: Name of the AA sequence.
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable: Registry the AA sequence is registered in.
            - `schema` SchemaSummary
              - …
            - `url` string: The path of the web URL, omitting the tenant domain
            - `webURL` string, uri: URL of the AA sequence.
          - object: custom_entity variant
            - `entityType` 'custom_entity', required
            - `aliases` string[]
            - `apiURL` string, uri: The canonical url of the Custom Entity in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `createdAt` string, date-time
            - `creator` CustomEntityWithEntityTypeCreator
              - …
            - `customFields` CustomFields
            - `entityRegistryId` string, nullable
            - `fields` Fields
            - `folderId` string, nullable
            - `id` string
            - `modifiedAt` string, date-time
            - `name` string
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable
            - `schema` SchemaSummary
              - …
            - `url` string: The path of the web URL, omitting the tenant domain
            - `webURL` string
          - object: dna_oligo variant
            - `entityType` 'dna_oligo', required: Discriminator value: dna_oligo
          - object: dna_sequence variant
            - `entityType` 'dna_sequence', required
            - `aliases` string[]
            - `annotations` DnaAnnotation[]
              - …
            - `apiURL` string, uri: The canonical url of the DNA Sequence in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `bases` string
            - `createdAt` string, date-time
            - `creator` UserSummary
              - …
            - `customFields` CustomFields
            - `dnaAlignmentIds` string[]: API IDs of Nucleotide Alignments involving the RNA sequence
            - `entityRegistryId` string, nullable
            - `fields` Fields
            - `folderId` string, nullable
            - `id` string
            - `isCircular` boolean
            - `length` integer
            - `modifiedAt` string, date-time
            - `name` string
            - `parts` DnaSequencePart[]
              - …
            - `primers` Primer[]
              - …
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable
            - `schema` SchemaSummary
              - …
            - `transcriptions` DnaSequenceTranscription[]
              - …
            - `translations` Translation[]
              - …
            - `url` string: The path of the web URL, omitting the tenant domain
            - `webURL` string
          - object: mixture variant
            - `entityType` 'mixture', required
            - `aliases` string[]
            - `allowMeasuredIngredients` boolean: Derived from the mixture's schema.
            - `amount` string: The positive numerical amount value of this mixture in string format (to preserve full precision). Pair with `units`. Supports scientific notation (1.23e4).
            - `apiURL` string, uri: The canonical url of the Mixture in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `createdAt` string, date-time
            - `creator` MixtureWithEntityTypeCreator
              - …
            - `customFields` CustomFields
            - `entityRegistryId` string, nullable
            - `fields` Fields
            - `folderId` string, nullable
            - `id` string
            - `ingredients` Ingredient[]: List of ingredients on this mixture.
              - …
            - `modifiedAt` string, date-time
            - `name` string
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable
            - `schema` SchemaSummary
              - …
            - `units` 'nL' | 'uL' | 'mL' | 'L' | 'g' | 'kg' | 'mg' | 'ug' | 'Units'
            - `webURL` string
          - object: molecule variant
            - `entityType` 'molecule', required
            - `aliases` string[]: Array of aliases.
            - `apiURL` string, uri: The canonical url of the Molecule in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `canonicalizedSmiles` string: The canonicalized chemical structure in SMILES format.
            - `createdAt` string, date-time: DateTime the Molecule was created.
            - `creator` UserSummary
              - …
            - `customFields` CustomFields
            - `entityRegistryId` string, nullable: Registry ID of the Molecule if registered.
            - `fields` Fields
            - `folderId` string, nullable: ID of the folder that contains the Molecule.
            - `id` string: ID of the Molecule.
            - `modifiedAt` string, date-time: DateTime the Molecule was last modified.
            - `name` string: Name of the Molecule.
            - `originalSmiles` string, nullable: The original chemical structure supplied by the user in SMILES format. Null if the user did not originally supply SMILES.
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable: Registry the Molecule is registered in.
            - `schema` SchemaSummary
              - …
            - `webURL` string, uri: URL of the Molecule.
          - object: rna_oligo variant
            - `entityType` 'rna_oligo', required: Discriminator value: rna_oligo
          - object: rna_sequence variant
            - `entityType` 'rna_sequence', required
            - `aliases` string[]
            - `alignmentIds` string[]: API IDs of Nucleotide Alignments involving the RNA sequence
            - `annotations` RnaAnnotation[]
              - …
            - `apiURL` string, uri: The canonical url of the RNA Sequence in the API.
            - `archiveRecord` ArchiveRecord
              - …
            - `authors` UserSummary[]
              - …
            - `bases` string
            - `createdAt` string, date-time
            - `creator` UserSummary
              - …
            - `customFields` CustomFields
            - `customNotation` string, nullable: Representation of the RNA Sequence in the custom notation specified in the request. Null if no notation was specified.
            - `customNotationName` string, nullable: Name of the custom notation specified in the request. Null if no notation was specified.
            - `entityRegistryId` string, nullable
            - `fields` Fields
            - `folderId` string, nullable
            - `helm` string, nullable: Representation of the RNA Sequence in HELM syntax, including any chemical modifications.
            - `id` string
            - `isCircular` boolean
            - `length` integer
            - `modifiedAt` string, date-time
            - `name` string
            - `parts` RnaSequencePart[]
              - …
            - `primers` Primer[]
              - …
            - `registrationOrigin` RegistrationOrigin
              - …
            - `registryId` string, nullable
            - `schema` SchemaSummary
              - …
            - `translations` Translation[]
              - …
            - `url` string: The path of the web URL, omitting the tenant domain
            - `webURL` string
        - InaccessibleResource
          - `inaccessibleId` string
          - `type` string: The type of this inaccessible item. Example values: "custom_entity", "container", "plate", "dna_sequence"
    - `createdAt` string, date-time
    - `creator` UserSummary
      - `handle` string
      - `id` string
      - `name` string
    - `fields` Fields
    - `id` string
    - `modifiedAt` string, date-time
    - `name` string
    - `parentStorageId` string, nullable
    - `parentStorageSchema` SchemaSummary
      - `id` string
      - `name` string
    - `projectId` string, nullable
    - `quantity` ContainerQuantity: Quantity of a container, well, or transfer. Supports mass, volume, and other quantities.
      - `units` 'L' | 'mL' | 'uL' | 'nL' | 'pL' | 'gal (US)' | 'qt (US)' | 'pt (US)' | 'kg' | 'g' | 'mg' | 'ug' | 'ng' | 'pg' | 'lb' | 'oz' | 'mol' | 'mmol' | 'umol' | 'nmol' | 'pmol' | 'cells' | '(x10^3) cells' | '(x10^4) cells' | '(x10^5) cells' | '(x10^6) cells' | '(x10^7) cells' | '(x10^8) cells' | '(x10^9) cells' | 'items' | 'units'
      - `value` number, double, nullable
    - `restrictedSampleParties` ContainerRestrictedSamplePartiesItems[]
      - union
        - UserSummary
          - `handle` string
          - `id` string
          - `name` string
        - TeamSummary
          - `id` string
          - `name` string
    - `restrictionStatus` 'RESTRICTED' | 'UNRESTRICTED' | 'NOT_APPLICABLE'
    - `role` ExperimentalWellRole
      - `group` integer
      - `primaryRole` 'SAMPLE' | 'CONTROL' | 'STANDARD' | 'BLANK'
      - `subrole` string, nullable
    - `sampleOwners` ContainerSampleOwnersItems[]
      - union
        - UserSummary
          - `handle` string
          - `id` string
          - `name` string
        - TeamSummary
          - `id` string
          - `name` string
    - `schema` SchemaSummary
      - `id` string
      - `name` string
    - `volume` DeprecatedContainerVolumeForResponse: The deprecated "volume" type key in API responses can also contain non-volume quantities for back-compatibility purposes. Use the "quantity" type key instead.
      - `units` 'L' | 'mL' | 'uL' | 'nL' | 'pL' | 'gal (US)' | 'qt (US)' | 'pt (US)' | 'kg' | 'g' | 'mg' | 'ug' | 'ng' | 'pg' | 'lb' | 'oz' | 'mol' | 'mmol' | 'umol' | 'nmol' | 'pmol' | 'cells' | '(x10^3) cells' | '(x10^4) cells' | '(x10^5) cells' | '(x10^6) cells' | '(x10^7) cells' | '(x10^8) cells' | '(x10^9) cells' | 'items' | 'units'
      - `value` number, double, nullable
    - `webURL` string
  - GenericEntity
    - `aliases` string[]
    - `apiURL` string
    - `archiveRecord` ArchiveRecord
      - `reason` string
    - `authors` UserSummary[]: Array of UserSummary Resources of the authors of the entity. This defaults to the creator but can be manually changed.
      - `handle` string
      - `id` string
      - `name` string
    - `createdAt` string, date-time
    - `creator` GenericEntityCreator: UserSummary of the user who created the Legacy Request
      - `handle` string
      - `id` string
      - `name` string
    - `customFields` CustomFields
    - `entityRegistryId` string, nullable
    - `fields` Fields
    - `folderId` string
    - `id` string
    - `modifiedAt` string, date-time
    - `name` string
    - `registrationOrigin` RegistrationOrigin
      - `originEntryId` string, nullable
      - `registeredAt` string, date-time
    - `registryId` string, nullable
    - `schema` SchemaSummary
      - `id` string
      - `name` string
    - `webURL` string
  - Plate
    - `archiveRecord` ArchiveRecord
      - `reason` string
    - `availableCapacity` integer, nullable: The number of available positions in a matrix plate. Null for well plates.
    - `barcode` string, nullable: Barcode of the plate
    - `createdAt` string, date-time: DateTime the container was created
    - `creator` UserSummary
      - `handle` string
      - `id` string
      - `name` string
    - `fields` Fields
    - `id` string: ID of the plate
    - `modifiedAt` string, date-time: DateTime the plate was last modified
    - `name` string: Name of the plate, defaults to barcode if name is not provided.
    - `occupiedCapacity` integer, nullable: The number of containers currently in a matrix plate. Null for well plates.
    - `parentStorageId` string, nullable: ID of containing parent inventory (e.g. loc_k2lNspzS).
    - `projectId` string, nullable: ID of the project if set
    - `schema` SchemaSummary
      - `id` string
      - `name` string
    - `totalCapacity` integer, nullable: The total capacity of a matrix plate (i.e. how many containers it can store). Null for well plates.
    - `type` 'matrix_plate' | 'well_plate'
    - `webURL` string
    - `wells` object: Well contents of the plate, keyed by position string (eg. "A1").

## Other responses

- `400`: Bad Request

---

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