Contribute data

Upload through software or AI

Submit reaction records from lab systems, scripts or an AI assistant to iSynth. Choose who performs the upload; either method saves a draft in your account.

For a one-off table upload, use the website upload form.

From reaction JSON to upload: a complete example

Uploading from an automated laboratory

After results are collected, your lab information system, instrument software or script exports the reaction records and calls the upload API. This suits repeatable workflows and scheduled submissions using ordinary code.

  1. 01

    Export records

    Prepare a CSV and dataset metadata, preserving experiment IDs and reported amounts.

  2. 02

    Call the upload API

    Transfer the file and save the returned draft link and upload ID.

  3. 03

    Review and submit

    Check imported records, authors, sources and license before submitting for review.

Start with the Python uploader

Download the script and metadata example, then replace the example sources, authors and column mappings. The script reads the complete CSV and handles row counts, checksums and transfer using the Python standard library.

Configure the upload credential as described below, then run:

python upload_csv.py complete-source.csv instrument-intake.json

Upload credentials and data format

Create API key

Both methods use an iSynth API key tied to your account, with uploads:write for uploads. They share the same data, authorship and review requirements.

Credential setup for scripts
export ISYNTH_BASE_URL='https://your-isynth-host'
read -rs -p 'iSynth API key: ' ISYNTH_AUTOMATION_TOKEN
export ISYNTH_AUTOMATION_TOKEN

curl --fail-with-body "$ISYNTH_BASE_URL/api/automation/v1/me" \
  -H "Authorization: Bearer $ISYNTH_AUTOMATION_TOKEN"

Bash example with hidden secret input. The identity endpoint confirms which account will own the data.

After uploading

The receipt links to a draft. Review imported records and dataset metadata before submitting for review, or add further files to the same dataset.

Upload receipts include a citation preview for the current version. Cite a published version in publications; dataset DOI registration is not yet connected.

Upload multiple files to one dataset

  1. Upload the first file with dataset and author information to receive a draft ID.
  2. Add the remaining files to the same draft version, preserving each original filename.
  3. After every file is uploaded and processed, review and submit the dataset together.

Continue an interrupted upload

Resume the original upload; received content is not added again. If a file was uploaded but processing failed, retry processing that file.

Publication follows approval. Use the draft page to review files, edit descriptions and check status.

Developer call reference

Use get_dataset_citation for citations and /api/citation/contract for the future DOI provider metadata contract. Source-paper DOIs and dataset DOIs are separate identifiers.

Call start_upload for each file. From the second file onward, pass dataset_id and version_num from the first receipt and omit dataset and authors. Use a separate source_record_id per file and keep it unchanged on retries.

start_upload → upload_batch (batch_index: 0, 1, …) → finish_upload
get_parse_report → submit_dataset_for_review → get_dataset_status

Send row batches through MCP, or upload the complete CSV with HTTP PUT to the URL returned by start_upload. All batches of a file share one upload_id; get_upload reports progress. Use retry_file_processing for processing failures and respect Retry-After on 429 responses.