Benchmark Cases
Understanding the data available in each benchmark case.
Each benchmark case represents a real biotech catalyst event. This endpoint returns model inputs only.
Fetching Cases
GET /api/benchmark/cases?subset=oncology&limit=100&offset=0Query Parameters
| Parameter | Default | Description |
|---|---|---|
subset | oncology | Filter: oncology, non_oncology, or all |
limit | all | Max cases to return (up to 1000) |
offset | 0 | Pagination offset |
Case Structure
Each case contains the following fields:
Identification
| Field | Type | Description |
|---|---|---|
id | string | Stable opaque case identifier |
event_year | string | Publication year; the exact date is withheld |
type | string | Catalyst type (e.g., clinical_trial_result) |
indication | string | Therapeutic area |
indication_detail | string | Specific disease/condition |
phase | string | Clinical trial phase |
Press Release
| Field | Type | Description |
|---|---|---|
press_release | string | De-identified press release text. Company names and ticker symbols are replaced with [COMPANY] and [TICKER] |
Clinical Trial
| Field | Type | Description |
|---|---|---|
clinical_trial.title | string | Trial title |
clinical_trial.phase | string | Trial phase |
clinical_trial.status | string | Overall status |
clinical_trial.summary | string | Brief summary |
clinical_trial.design | object | Study design details |
clinical_trial.arms | array | Treatment arms |
clinical_trial.interventions | array | Interventions/drugs |
clinical_trial.primary_endpoints | array | Primary outcome measures |
clinical_trial.secondary_endpoints | array | Secondary outcome measures |
clinical_trial.eligibility | object | Eligibility criteria |
clinical_trial.conditions | array | Conditions studied |
clinical_trial.has_results | boolean | Whether results are posted |
clinical_trial.results | object | Posted results (if available) |
Leakage Boundary
The cases endpoint does not return exact dates, ticker-bearing identifiers, NCT IDs, sponsors, OHLCV price action, or ground truth. Submit predictions to /api/benchmark/verify or /api/benchmark/submit; scoring happens server-side.
Example Response
{
"total": 233,
"count": 1,
"subset": "oncology",
"inputs_only": true,
"scoring_endpoint": "/api/benchmark/verify",
"impact_categories": [
"very_negative", "negative", "slightly_negative",
"neutral", "slightly_positive", "positive", "very_positive"
],
"cases": [
{
"id": "case_0123456789abcdef",
"event_year": "2024",
"type": "clinical_trial_result",
"indication": "oncology",
"indication_detail": "Non-Small Cell Lung Cancer",
"phase": "Phase 3",
"press_release": "[COMPANY] Announces Positive Phase 3 Results...",
"clinical_trial": { "phase": "PHASE3", "..." : "..." }
}
]
}