> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scispot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update A Manifest

> This endpoint allows users to update an existing manifest, these can include sample assignments, labeling modifications, and tag management across multiple well positions within a single manifest.

### Update Operations

This endpoint supports several types of operations that users can perform on manifest wells. Each operation requires specific input parameters depending on the intended action.

**Assign Operations** must be included under the `wells` array within the plate object. These operations add or update sample assignments, labels, and tags to specific well positions.

**Remove Operations** must be included under the `removeFromWells` array within the plate object. These operations clear existing sample assignments, labels, or tags from specific well positions.

### Assignment

Assign operations allow users to add or update well assignments including samples, labels, and tags. Multiple assignment types can be combined in a single well object.

```
{
  "position": "A1",
  "sample" : {
   "id": "SM000001",
   "labsheet": "Sample Manager"
  },
  "tags": ["PASSED_QC"],
  "label": "SAMPLE"
}

 ```

**position** (string, required): The specified well position

**sample** (object, required): A dictionary object containing the id of the sample to be assigned and the corresponding origin labsheet.

**tags** (array, required): An array of string values representing custom metadata tags to associate with the well position.

**label** (string, required): When assigning a label, valid options include one of "SAMPLE", "POS_CONTROL", "NEG_CONTROL", "BLANK", "STANDARD" or left as an empty "" if no label should be assigned.

### Removal

Remove operations allow users to clear existing assignments from well positions. Users can selectively remove samples, labels, or tags from specific wells by specifying which fields to clear.

```
"removeFromWells" : [
 {
   "position" : "B1",
   "fields" : ["LABEL"]
 },
 {
   "position" : "A4",
   "fields" : ["SAMPLE"]
 }
]

 ```

**position** (string, required): The specified well position.

**fields** (array, required): An array of strings specifying which types of assignments to remove from the well position. Valid options include "SAMPLE", "LABEL", "TAGS".

Provide one of hrid or uuid. plate must contain wells and/or removeFromWells. Position format must match the manifest plate/box layout.



## OpenAPI

````yaml /api-docs.yaml post /manifest/update
openapi: 3.0.0
info:
  title: Scispot's API Documentation
  description: >-
    ### [Welcome! Feel Free To Visit Scispot.com](https://www.scispot.com)


    #### Overview


    This is a documentation listing API calls for the following Scispot
    applications:


    1. Labsheets (LIMS)


    2. ELN


    3. Manifests (plates, boxes, racks, etc.)


    4. Sequences



    ## [Getting Started](https://labsheets.scispot.io/#getting-started)


    ### [Create a new API Key in account
    settings](https://labsheets.scispot.io/)


    - Go to [Scispot](https://labsheets.scispot.io)


    - Click on the "Account" button in the navigation bar on the bottom left
    corner of your screen


    - Click "Personal Tokens" on the left side of the pop-up modal


    - Click "Generate New Token"


    - Name your token, select token access, and click "Generate"


    - Copy the API Key and save it somewhere safe - this token cannot be
    retrieved once it is generated


    - This token will be used as "apiKey" in all API requests
  version: 1.0.0
servers:
  - url: https://cloudlab.scispot.io
    description: Scispot Cloud Lab
security:
  - bearerAuth: []
tags:
  - name: Scispot API
  - name: Scispot API - LABSHEETS (LIMS) API
    description: >-
      #### Overview


      The following API calls are for the manipulation of Labsheets data.


      #### Terminology


      - **Labsheet** - A labsheet is a table that can be used to store and
      organize data. Labsheets can be created or manipulated in Scispot via GUI
      or API.


      - **Uuid** - Row uuids are unique identifiers for each labsheet row used
      in request and response bodies. Row uuids can be found using the Get Row
      Data endpoint and used in other endpoint requests to manipulate specific
      rows.


      - **ID** - IDs are user-defined values that can be used to identify rows
      in a labsheet. Create row IDs in labsheets by adding a column with type
      "ID" to your labsheet. The Update Row Data By ID Column endpoint uses IDs
      to update rows in a labsheet.


      - **Column Data Types** - These are data types set for each column in a
      labsheet and can be viewed in a labsheet's manage view menu, under the
      columns tab.
  - name: Scispot API - ELN API
    description: >-
      #### Overview


      The following API calls are for the manipulation of ELN data.


      #### Terminology


      - **Labspace** - "Labspace" is analogous to a directory or workspace. A
      labspace can contain folders,experiments, protocols and/or documentation
      pages. Labspaces can be created and manipulated through via GUI or API.

      - **Folder** - "Folder" is similar to a traditional folder. It allows
      users to organize their data inside different "Labspaces".

      - **Protocol** - A protocol is a base object used to store and organize
      protocol data. It is analogous to a page in a traditional laboratory
      record.

      - **Experiment** - An experiment is a base object used to store and
      organize experiment data and related protocols. It is also analogous to a
      page in a traditional laboratory record.

      - **Documentation** - A documentation page is a base object analogous to a
      simple note-taking page.
  - name: Scispot API - ELN API - Create
  - name: Scispot API - ELN API - Update
  - name: Scispot API - ELN API - Find
  - name: Scispot API - ELN API - List
  - name: Scispot API - ELN API - Delete
  - name: Scispot API - ELN API - Permissions (Super Admin Only)
    description: >-
      ### Permissions Endpoint


      These endpoint allows you to list, add, remove useres from a private
      folder.


      #### **Notes**:


      - The owner of the API token must have Super Admin permissions


      - These endpoints only work for folders that are already privated
  - name: Scispot API - MANIFESTS (PLATES, BOXES, RACKS) API
    description: |-
      #### Overview

      The following API calls are for the manipulation of manifest data.

      #### Terminology

      - **Manifest** - A visual representation of a well plate.
  - name: Scispot API - SEQUENCE API
    description: |-
      #### Overview

      The following API calls are for the manipulation of DNA sequence data.
  - name: Scispot API - FILES API
  - name: Scispot API - LOCATIONS API
  - name: Scispot API - LABFLOWS API
  - name: Scispot API - WEBHOOK API
paths:
  /manifest/update:
    post:
      tags:
        - Scispot API - MANIFESTS (PLATES, BOXES, RACKS) API
      summary: Update A Manifest
      description: >-
        This endpoint allows users to update an existing manifest, these can
        include sample assignments, labeling modifications, and tag management
        across multiple well positions within a single manifest.


        ### Update Operations


        This endpoint supports several types of operations that users can
        perform on manifest wells. Each operation requires specific input
        parameters depending on the intended action.


        **Assign Operations** must be included under the `wells` array within
        the plate object. These operations add or update sample assignments,
        labels, and tags to specific well positions.


        **Remove Operations** must be included under the `removeFromWells` array
        within the plate object. These operations clear existing sample
        assignments, labels, or tags from specific well positions.


        ### Assignment


        Assign operations allow users to add or update well assignments
        including samples, labels, and tags. Multiple assignment types can be
        combined in a single well object.


        ```

        {
          "position": "A1",
          "sample" : {
           "id": "SM000001",
           "labsheet": "Sample Manager"
          },
          "tags": ["PASSED_QC"],
          "label": "SAMPLE"
        }

         ```

        **position** (string, required): The specified well position


        **sample** (object, required): A dictionary object containing the id of
        the sample to be assigned and the corresponding origin labsheet.


        **tags** (array, required): An array of string values representing
        custom metadata tags to associate with the well position.


        **label** (string, required): When assigning a label, valid options
        include one of "SAMPLE", "POS_CONTROL", "NEG_CONTROL", "BLANK",
        "STANDARD" or left as an empty "" if no label should be assigned.


        ### Removal


        Remove operations allow users to clear existing assignments from well
        positions. Users can selectively remove samples, labels, or tags from
        specific wells by specifying which fields to clear.


        ```

        "removeFromWells" : [
         {
           "position" : "B1",
           "fields" : ["LABEL"]
         },
         {
           "position" : "A4",
           "fields" : ["SAMPLE"]
         }
        ]

         ```

        **position** (string, required): The specified well position.


        **fields** (array, required): An array of strings specifying which types
        of assignments to remove from the well position. Valid options include
        "SAMPLE", "LABEL", "TAGS".


        Provide one of hrid or uuid. plate must contain wells and/or
        removeFromWells. Position format must match the manifest plate/box
        layout.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                hrid:
                  type: string
                uuid:
                  type: string
                plate:
                  type: object
                  properties:
                    wells:
                      type: array
                      items:
                        type: object
                        properties:
                          position:
                            type: string
                          tags:
                            type: array
                            items:
                              type: string
                          label:
                            type: string
                            enum:
                              - ''
                              - SAMPLE
                              - POS_CONTROL
                              - NEG_CONTROL
                              - BLANK
                              - STANDARD
                          sample:
                            type: object
                            properties:
                              id:
                                type: string
                              labsheet:
                                type: string
                            additionalProperties: true
                        required:
                          - position
                          - tags
                          - label
                          - sample
                        additionalProperties: true
                    removeFromWells:
                      type: array
                      items:
                        type: object
                        properties:
                          position:
                            type: string
                          fields:
                            type: array
                            items:
                              type: string
                              enum:
                                - SAMPLE
                                - TAGS
                                - LABEL
                            minItems: 1
                        required:
                          - position
                          - fields
                        additionalProperties: true
                  additionalProperties: true
              required:
                - plate
              additionalProperties: true
        required: true
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    additionalProperties: true
                  updatedManifest:
                    type: object
                    additionalProperties: true
                additionalProperties: true
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Bad request
        '401':
          description: Invalid Authentication Token
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Invalid Authentication Token
        '403':
          description: Missing Authentication Token
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Missing Authentication Token
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Validation error
              example:
                success: false
                message: Validation error
        '500':
          description: Operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                additionalProperties: true
              example:
                success: false
                message: Operation failed
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: UUID
      description: Personal access token from Scispot Account → Personal Tokens

````