---
title: "Update LibraryParameterDefinition"
method: PATCH
path: "/api/v3/library-parameter-definition/{library_parameter_definition_id}"
tags: ["Library Parameter Definition"]
---

# Update LibraryParameterDefinition

`PATCH /api/v3/library-parameter-definition/{library_parameter_definition_id}`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/library-parameter-definition/{library_parameter_definition_id}`
- Auth: HTTP bearer

Update a library parameter definition.
## Updatable fields
| Field | Description |
| --- | --- |
| `name` | Display name (1-44 characters, at least one alphanumeric character) |
| `description` | Parameter description (max 2048 characters) |

## Archiving
To archive, set all three fields together:
- `archived`: `true`
- `archiveReason`: a non-empty string explaining why
- `archiveUserId`: the ID of the user performing the archive (format: `ent_XXXXXXXX`)

To unarchive, set `archived` to `false`.

## Immutable fields
The following fields are set at creation and **cannot be changed** via update:
- `dataType`
- `unitTypeId`

## Path parameters

- `library_parameter_definition_id` string, required

## Headers

- `EARLY-ACCESS` string

## Request body

- UpdateLibraryParameterDefinitionInput
  - `archiveReason` string: Why it is being archived. Required when `archived` is `true`, and not allowed when unarchiving.
  - `archived` boolean: Set to `true` to archive or `false` to unarchive it. Archiving requires `archiveReason`.
  - `description` string: Updated description. Maximum 2048 characters.
  - `name` string: Updated display name. Must contain at least one alphanumeric character. Maximum 44 characters.

## Response `200`

OK

- LibraryParameterDefinition: A reusable parameter definition stored in the Parameter Library. LibraryParameterDefinitions allow organizations to standardize parameters used across multiple procedures by defining a name, description, data type, and optional unit type. When creating procedure parameters, users can link to a library parameter definition to inherit its settings, ensuring consistency across experiments.
  - `__typename` string
  - `archiveReason` string, nullable
  - `archived` boolean
  - `createdAt` string, datetime
  - `creator` PrincipalRef
    - `__typename` string
    - `id` string, api_id
  - `dataType` 'AA_PART_LINK' | 'AA_SEQUENCE_LINK' | 'ASSAY_REQUEST_LINK' | 'ASSAY_RESULT_LINK' | 'ASSAY_RUN_LINK' | 'BATCH_LINK' | 'BLOB_LINK' | 'BOOLEAN' | 'CUSTOM_ENTITY_LINK' | 'DATE' | 'DATETIME' | 'DNA_SEQUENCE_LINK' | 'ENTITY_LINK' | 'ENTRY_LINK' | 'FLOAT' | 'INTEGER' | 'JSON' | 'LONG_TEXT' | 'MIXTURE_LINK' | 'MOLECULE_LINK' | 'BASE_MOLECULE_LINK' | 'PART_LINK' | 'RNA_PART_LINK' | 'RNA_SEQUENCE_LINK' | 'SAMPLE_LINK' | 'DROPDOWN' | 'STORAGE_LINK' | 'TEXT' | 'TRANSCRIPTION_LINK' | 'TRANSLATION_LINK'
  - `description` string
  - `id` string
  - `modifiedAt` string, datetime
  - `name` string
  - `unitType` UnitTypeRef
    - `__typename` string
    - `id` string, api_id

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `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/c9f087b98b8b?raw)
