Templates & specifications

Review contribution requirements, choose tables or JSON, and prepare your data using the field reference.

Upload data

iSynth reaction data specification

For AI, lab software and data platforms to exchange and validate reaction records. Human contributors can use the table template. Software produces JSON; uploaded records are displayed as structures, stage conditions and measurements.

All fields on one page. Share the link directly with an AI reader.

JSON examples

Explore fields

Starting charges, one reaction segment and yield.

{
  "schema_version": "1.9.0",
  "reaction_identifier": "EXP-0001",
  "materials": [
    {
      "id": "alcohol",
      "identifiers": [
        {
          "type": "SMILES",
          "value": "CCO"
        }
      ],
      "role": "reactant"
    },
    {
      "id": "reagent",
      "identifiers": [
        {
          "type": "NAME",
          "value": "acetic anhydride"
        }
      ],
      "role": "reagent"
    }
  ],
  "initial_state": {
    "inputs": [
      {
        "material": "alcohol",
        "amount": {
          "value": 0.25,
          "unit": "mmol",
          "raw": "0.25 mmol"
        }
      },
      {
        "material": "reagent"
      }
    ]
  },
  "segments": [
    {
      "conditions": {
        "temperature": {
          "value": 25,
          "unit": "°C",
          "raw": "25 °C"
        }
      }
    }
  ],
  "products": [
    {
      "id": "product",
      "identifiers": [
        {
          "type": "SMILES",
          "value": "CCOC(C)=O"
        }
      ]
    }
  ],
  "measurements": [
    {
      "subject": "product",
      "type": "yield",
      "value": {
        "value": 80,
        "scale": "percent",
        "raw": "80%"
      }
    }
  ],
  "provenance": {
    "reference": "Fictional teaching record; Example A"
  },
  "text": "Fictional format illustration, not a measured result. Unreported amounts, method and calculation bases are omitted."
}
Fictional examples illustrating the data format.

Field reference

Back to examples

Reaction

Every experiment records material definitions, starting charges, reaction segments and outcomes. Use one segment for an ordinary reaction and ordered segments for a multi-stage reaction.

Example

{
  "schema_version": "1.9.0",
  "reaction_identifier": "EXP-0001",
  "materials": [
    {
      "id": "alcohol",
      "identifiers": [
        {
          "type": "SMILES",
          "value": "CCO"
        }
      ],
      "role": "reactant"
    },
    {
      "id": "reagent",
      "identifiers": [
        {
          "type": "NAME",
          "value": "acetic anhydride"
        }
      ],
      "role": "reagent"
    }
  ],
  "initial_state": {
    "inputs": [
      {
        "material": "alcohol",
        "amount": {
          "value": 0.25,
          "unit": "mmol",
          "raw": "0.25 mmol"
        }
      },
      {
        "material": "reagent"
      }
    ]
  },
  "segments": [
    {
      "conditions": {
        "temperature": {
          "value": 25,
          "unit": "°C",
          "raw": "25 °C"
        }
      }
    }
  ],
  "products": [
    {
      "id": "product",
      "identifiers": [
        {
          "type": "SMILES",
          "value": "CCOC(C)=O"
        }
      ]
    }
  ],
  "measurements": [
    {
      "subject": "product",
      "type": "yield",
      "value": {
        "value": 80,
        "scale": "percent",
        "raw": "80%"
      }
    }
  ],
  "provenance": {
    "reference": "Fictional teaching record; Example A"
  },
  "text": "Fictional format illustration, not a measured result. Unreported amounts, method and calculation bases are omitted."
}
schema_versionRequired"1.9.0"

Data format version; keep 1.9.0 as provided in the example.

Example value
"1.9.0"
reaction_identifierRequiredstring

The source experiment number, e.g. EXP-0001 or Table 2, entry 5, distinguishing experiments within one source.

Example value
"EXP-0001"
materialsRequired

Input material definitions; put products in products.

Example value
[
  {
    "id": "alcohol",
    "identifiers": [
      {
        "type": "SMILES",
        "value": "CCO"
      }
    ],
    "role": "reactant"
  },
  {
    "id": "reagent",
    "identifiers": [
      {
        "type": "NAME",
        "value": "acetic anhydride"
      }
    ],
    "role": "reagent"
  }
]
initial_stateRequired

Starting inputs and conditions, including for ordinary reactions.

Example value
{
  "inputs": [
    {
      "material": "alcohol",
      "amount": {
        "value": 0.25,
        "unit": "mmol",
        "raw": "0.25 mmol"
      }
    },
    {
      "material": "reagent"
    }
  ]
}
segmentsRequired

Reaction segments in order. An ordinary reaction usually has one segment; use an empty array when no stage conditions or procedure are reported.

Example value
[
  {
    "conditions": {
      "temperature": {
        "value": 25,
        "unit": "°C",
        "raw": "25 °C"
      }
    }
  }
]
products

Overall reported product identities.

Example value
[
  {
    "id": "product_1",
    "identifiers": [
      {
        "type": "SMILES",
        "value": "C[C@H](O)c1ccccc1"
      }
    ],
    "role": "desired_product",
    "text": "Isolated target product",
    "parameters": {
      "reported_stereochemistry": "(S)"
    }
  }
]
measurements

Overall measurements. Each item specifies subject, type and value; conversion, yield and stereoselectivity share this array.

Example value
[
  {
    "subject": "reactant_1",
    "type": "conversion",
    "value": {
      "value": 90,
      "scale": "percent"
    },
    "text": "Determined by GC."
  }
]
workupstring

Workup and purification wording.

provenance

Source article DOI and citation.

Example value
{
  "reference": "Fictional teaching record; Example A"
}
textstring

Other experiment-wide wording.

Example value
"Fictional format illustration, not a measured result. Unreported amounts, method and calculation bases are omitted."
parametersobject

Additional experiment attributes, e.g. run_id. Put conditions in Conditions.parameters.

Example value
{
  "run_id": "RUN-0001"
}