Working with Reactions
Beta: every reaction endpoint needs EARLY-ACCESS: true.
The Reactions API is read and archive only. You can list, fetch, and archive or restore reactions, but you can’t create them or edit their chemistry through the API.
Reactions are created and edited inside Benchling, from a notebook entry’s stoichiometry table. There’s intentionally no create endpoint, and a reaction’s name, components, and folder can’t be changed through the API. Only its archive state can.
Endpoints
What a reaction contains
A reaction links the notebook entry it came from and carries its stoichiometry as a list of components. Each component is a Reactant, Product, or Standard, and exposes:
role: one ofREACTANT,PRODUCT,REAGENT,BYPRODUCT,SOLVENT, orCATALYST.linkedMolecule: the molecule playing that role. A molecule linked to a reaction can’t have its structure edited.- Stoichiometry:
molEquivalent,molPlan/molActual,amountPlan/amountActual(with units),purity,concentration, andcalculationBase. - Products also carry
amountYield; reactants also carryisLimitingReactant.
Numeric stoichiometry values come back as strings. High-precision fields like molEquivalent, purity, concentration, and amountYield are serialized as JSON strings (for example, "1.5", not 1.5). This preserves significant digits: a value like 6.00 keeps its trailing zeroes, which a JSON number cannot. Parse them as decimals, not floats, and don’t rely on native JSON number handling.