API Reference
Results

Results API

Get Results

GET /experiments/{experiment_id}/results

Retrieve experiment results. Only available when status is completed or disputed.

Response

{
  "experiment_id": "exp_abc123",
  "status": "completed",
  "hypothesis_supported": true,
  "confidence_level": "high",
  "summary": "Compound X showed antibacterial activity with MIC of 16 μg/mL",
  "structured_data": {
    "measurements": [
      {
        "metric": "MIC",
        "value": 16,
        "unit": "μg/mL",
        "condition": "E. coli ATCC 25922"
      }
    ],
    "statistics": {
      "test_used": "t_test",
      "p_value": 0.003
    }
  },
  "raw_data_files": [
    {
      "name": "plate_reader_data.csv",
      "format": "csv",
      "url": "https://files.litmus.science/...",
      "checksum_sha256": "abc123..."
    }
  ],
  "documentation": {
    "photos": [
      {
        "step": 3,
        "url": "https://files.litmus.science/...",
        "timestamp": "2026-01-20T14:30:00Z"
      }
    ],
    "lab_notebook_url": "https://files.litmus.science/..."
  },
  "operator_notes": "Experiment completed successfully. All controls behaved as expected."
}

Approve Results

POST /experiments/{experiment_id}/approve

Approve results and release payment to operator.

Request Body

{
  "rating": 5,
  "feedback": "Excellent documentation and clear results."
}

Response

{
  "experiment_id": "exp_abc123",
  "status": "completed",
  "payment_released": true
}

Dispute Results

POST /experiments/{experiment_id}/dispute

Dispute results if they don't meet acceptance criteria.

Request Body

{
  "reason": "results_incomplete",
  "description": "Protocol specified 3 biological replicates but only 2 were performed. Missing data for replicate 3.",
  "evidence_urls": [
    "https://example.com/screenshot.png"
  ]
}

Dispute Reasons

ReasonDescription
results_incompleteMissing data or documentation
results_incorrectData appears incorrect
protocol_not_followedDeviation from agreed protocol
documentation_insufficientPoor quality documentation
otherOther reason (describe in detail)

Response

{
  "dispute_id": "dsp_xyz789",
  "experiment_id": "exp_abc123",
  "status": "disputed"
}

Disputes are reviewed by Litmus staff and resolved based on the documented acceptance criteria.