---
title: "Update Reaction"
method: PATCH
path: "/api/v3/reaction/{reaction_id}"
tags: ["Reaction"]
---

# Update Reaction

`PATCH /api/v3/reaction/{reaction_id}`

## Request

- Base URL: `https://{tenant_name}.benchling.com`
- URL: `https://{tenant_name}.benchling.com/api/v3/reaction/{reaction_id}`
- Auth: HTTP bearer

Archive or unarchive a reaction.

Set `archived` to `true` with `archiveReason` to archive a reaction, or `false` to unarchive it. Set `studyIds` to replace the studies the reaction is associated with. Editing a submitted reaction's name, components, or folder is not supported through the API.

## Path parameters

- `reaction_id` string, required

## Headers

- `EARLY-ACCESS` string

## Request body

- UpdateReactionInput
  - `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`.
  - `studyIds` string[]: Study IDS to associate with the item.

## Response `200`

OK

- Reaction: A Chemical Reaction is a process where molecules are transformed into new molecules.
  - `__typename` string
  - `archiveReason` string, nullable
  - `archived` boolean
  - `authors` string, uri, nullable
  - `components` ReactionComponentUnion[]
    - union: Union of StandardReactionComponent, ReactantComponent, ProductComponent
      - object: Reaction component sub-type for products
        - `__typename` 'ProductComponent', required: Discriminator value: ProductComponent
        - `amountActual` string, decimal, nullable
        - `amountPlan` string, decimal, nullable
        - `amountUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `amountYield` string, decimal, nullable
        - `calculationBase` 'MOL_EQUIVALENT' | 'MOL_PLAN' | 'AMOUNT_PLAN'
        - `concentration` string, decimal, nullable
        - `concentrationUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `linkedLot` CustomEntityRef
          - `__typename` string
          - `id` string, api_id
        - `linkedMolecule` union: Union of InternalLinkedMolecule, ExternalLinkedMolecule
          - object: Linked molecule from external registries/catalogs
            - `__typename` 'ExternalLinkedMolecule', required: Discriminator value: ExternalLinkedMolecule
            - `casId` string, nullable
            - `externalDbId` string, nullable
            - `externalDbName` string, nullable
            - `molecularFormula` string, nullable
            - `molecularFormulaOverride` string, nullable
            - `molecularWeight` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `smiles` string, nullable
          - object: Linked molecule from the Benchling registry (internal)
            - `__typename` 'InternalLinkedMolecule', required: Discriminator value: InternalLinkedMolecule
            - `molecularFormulaOverride` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `molecule` MoleculeRef
              - …
        - `molActual` string, decimal, nullable
        - `molEquivalent` string, decimal, nullable
        - `molPlan` string, decimal, nullable
        - `molUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `purity` string, decimal, nullable
        - `role` 'REACTANT' | 'PRODUCT' | 'REAGENT' | 'BYPRODUCT' | 'SOLVENT' | 'CATALYST'
      - object: Reaction component sub-type for reactants
        - `__typename` 'ReactantComponent', required: Discriminator value: ReactantComponent
        - `amountActual` string, decimal, nullable
        - `amountPlan` string, decimal, nullable
        - `amountUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `calculationBase` 'MOL_EQUIVALENT' | 'MOL_PLAN' | 'AMOUNT_PLAN'
        - `concentration` string, decimal, nullable
        - `concentrationUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `isLimitingReactant` boolean
        - `linkedLot` CustomEntityRef
          - `__typename` string
          - `id` string, api_id
        - `linkedMolecule` union: Union of InternalLinkedMolecule, ExternalLinkedMolecule
          - object: Linked molecule from external registries/catalogs
            - `__typename` 'ExternalLinkedMolecule', required: Discriminator value: ExternalLinkedMolecule
            - `casId` string, nullable
            - `externalDbId` string, nullable
            - `externalDbName` string, nullable
            - `molecularFormula` string, nullable
            - `molecularFormulaOverride` string, nullable
            - `molecularWeight` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `smiles` string, nullable
          - object: Linked molecule from the Benchling registry (internal)
            - `__typename` 'InternalLinkedMolecule', required: Discriminator value: InternalLinkedMolecule
            - `molecularFormulaOverride` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `molecule` MoleculeRef
              - …
        - `molActual` string, decimal, nullable
        - `molEquivalent` string, decimal, nullable
        - `molPlan` string, decimal, nullable
        - `molUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `purity` string, decimal, nullable
        - `role` 'REACTANT' | 'PRODUCT' | 'REAGENT' | 'BYPRODUCT' | 'SOLVENT' | 'CATALYST'
      - object: Generic type for most reaction components
        - `__typename` string, required
        - `amountActual` string, decimal, nullable
        - `amountPlan` string, decimal, nullable
        - `amountUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `calculationBase` 'MOL_EQUIVALENT' | 'MOL_PLAN' | 'AMOUNT_PLAN'
        - `concentration` string, decimal, nullable
        - `concentrationUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `linkedLot` CustomEntityRef
          - `__typename` string
          - `id` string, api_id
        - `linkedMolecule` union: Union of InternalLinkedMolecule, ExternalLinkedMolecule
          - object: Linked molecule from external registries/catalogs
            - `__typename` 'ExternalLinkedMolecule', required: Discriminator value: ExternalLinkedMolecule
            - `casId` string, nullable
            - `externalDbId` string, nullable
            - `externalDbName` string, nullable
            - `molecularFormula` string, nullable
            - `molecularFormulaOverride` string, nullable
            - `molecularWeight` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `smiles` string, nullable
          - object: Linked molecule from the Benchling registry (internal)
            - `__typename` 'InternalLinkedMolecule', required: Discriminator value: InternalLinkedMolecule
            - `molecularFormulaOverride` string, nullable
            - `molecularWeightOverride` string, decimal, nullable
            - `molecule` MoleculeRef
              - …
        - `molActual` string, decimal, nullable
        - `molEquivalent` string, decimal, nullable
        - `molPlan` string, decimal, nullable
        - `molUnit` UnitRef
          - `__typename` string
          - `id` string, api_id
        - `purity` string, decimal, nullable
        - `role` 'REACTANT' | 'PRODUCT' | 'REAGENT' | 'BYPRODUCT' | 'SOLVENT' | 'CATALYST'
  - `createdAt` string, datetime, nullable
  - `creator` PrincipalRef
    - `__typename` string
    - `id` string, api_id
  - `entry` EntryRef
    - `__typename` string
    - `id` string, api_id
  - `folder` FolderRef
    - `__typename` string
    - `id` string, api_id
  - `id` string
  - `modifiedAt` string, datetime, nullable
  - `name` string
  - `webUrl` string

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