---
title: "Upload Tasks"
method: POST
path: "/api/asclepius/tasks"
tags: ["asclepius"]
---

# Upload Tasks

`POST /api/asclepius/tasks`

## Request

- Base URL: `https://app.archangelhealth.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://app.archangelhealth.ai/api/asclepius/tasks`
- Auth: none declared

## Headers

- `authorization` string, nullable

## Request body

- TaskUploadRequest
  - `tasks` TaskIn[], required
    - `task_id` string, nullable
    - `specialty` string
    - `difficulty` string
    - `capture_reasoning` boolean
    - `source` string
    - `prompt` string, required
    - `candidate_answers` CandidateAnswer[]
      - `id` string, required
      - `text` string, required
      - `generator_model` string, nullable
      - `source` string, nullable
      - `baseline_model` string, nullable
    - `max_labels` integer
    - `grounding_mode` string
    - `independent_mode` string, nullable
    - `buyer_request_id` string, nullable
    - `value_tier` string, nullable
    - `case` ClinicalCase
      - `case_id` string, nullable
      - `case_source` string
      - `specialty` string
      - `demographics` Demographics
        - `age_band` string, nullable
        - `sex` string, nullable
      - `problem_list` ProblemItem[]
        - `condition` string, required
        - `since` string, nullable
        - `collected_offset_days` integer, nullable
      - `medications` MedicationItem[]
        - `drug` string, required
        - `dose` string, nullable
        - `route` string, nullable
        - `freq` string, nullable
        - `status` string, nullable
        - `start_offset_days` integer, nullable
        - `stop_offset_days` integer, nullable
        - `collected_offset_days` integer, nullable
      - `vitals` object
      - `lab_panels` LabPanel[]
        - `panel` string, required
        - `collected_offset_days` integer
        - `results` AsclepiusCasesLabResult[]
          - `analyte` string, required
          - `loinc` string, nullable
          - `value` unknown, required
          - `unit` string, nullable
          - `ref_low` unknown
          - `ref_high` unknown
          - `flag` string
          - `ref_range_unusable` boolean
      - `notes` ClinicalNote[]
        - `note_id` string, nullable
        - `note_type` string
        - `author_role` string
        - `text` string
        - `model_visible` boolean
        - `withheld_reason` string, nullable
        - `collected_offset_days` integer, nullable
      - `encounters` EncounterItem[]
        - `encounter_ref` string, required
        - `visit_type` 'office' | 'telehealth' | 'procedure' | 'hospital' | 'other'
        - `collected_offset_days` integer, nullable
        - `note_ids` string[]
      - `orders` OrderItem[]
        - `kind` 'lab' | 'imaging' | 'referral' | 'procedure' | 'follow_up' | 'other', required
        - `code` string, nullable
        - `code_system` string, nullable
        - `text` string
        - `encounter_ref` string, nullable
        - `due_offset_days` integer, nullable
        - `collected_offset_days` integer, nullable
        - `source` 'structured' | 'worksheet_extracted'
        - `source_span` string, nullable
      - `medication_events` MedicationEvent[]
        - `action` 'start' | 'stop' | 'increase' | 'decrease' | 'hold' | 'continue' | 'switch', required
        - `drug` string, required
        - `rxnorm_ingredient` string, nullable
        - `dose` string, nullable
        - `route` string, nullable
        - `freq` string, nullable
        - `reason` string, nullable
        - `encounter_ref` string, nullable
        - `collected_offset_days` integer, nullable
        - `source` 'structured' | 'worksheet_extracted'
        - `source_span` string, nullable
      - `allergies` AllergyItem[]
        - `substance` string, required
        - `reaction` string, nullable
        - `collected_offset_days` integer, nullable
      - `studies` Study[]
        - `modality` string, required
        - `label` string
        - `findings` string
        - `measurements` AsclepiusCasesLabResult[]
          - `analyte` string, required
          - `loinc` string, nullable
          - `value` unknown, required
          - `unit` string, nullable
          - `ref_low` unknown
          - `ref_high` unknown
          - `flag` string
          - `ref_range_unusable` boolean
        - `impression` string, nullable
        - `asset` StudyAsset: A reference to a real de-identified image asset attached to a Study (V4 Image PRD §2). The image BYTES are NEVER stored on the ClinicalCase or in asclepius.db — only this opaque reference, resolved via the content-addressed asset store (:mod:`asclepius.assets`). ``sha256`` is identity, dedupe, AND the A/B integrity check (the same bytes must reach both frontier providers).
          - `asset_id` string, required
          - `mime` string, required
          - `sha256` string, required
          - `width` integer, nullable
          - `height` integer, nullable
          - `byte_size` integer
          - `page` integer, nullable
          - `page_count` integer, nullable
          - `source` string
        - `phi_screening` object, nullable
        - `collected_offset_days` integer, nullable
      - `source_refs` CaseSourceRef[]
        - `title` string, required
        - `identifier` string, nullable
        - `source_type` string, nullable
        - `role` string
      - `case_provenance` CaseProvenance: Case-level provenance carried by a partner bundle (Buyer Response PRD §2 A3): the FHIR ``Provenance.agent`` roles that authored/adjudicated the case and any disclaimer extensions. Never an identity — roles and free-text disclaimers only.
        - `agents` string[]
        - `disclaimers` string[]
        - `recorded` string, nullable
      - `declared_difficulty` string, nullable
      - `required_modalities` string[]
      - `study_findings_policy` 'hidden' | 'visible' | 'post_hoc'
      - `medications_absent_on_record` boolean
      - `problems_absent_on_record` boolean
      - `completeness_status` string, nullable
      - `ground_truth` GroundTruth: INTERNAL ONLY (generation/QA). The objectively correct, guideline/lab- anchored answer used to seed candidate answers + gate hardness. ``public_case`` strips this — it never reaches a blinded evaluator or a normal export.
        - `answer` string
        - `rationale` string, nullable
        - `evidence` object, nullable
        - `key_data` string[]
      - `hard_hook` string, nullable
      - `reasoning_divergence` string, nullable
    - `modality` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform.md) - [All operations](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/archangelhealth/apis/archangel-health-surgical-patient-platform/revisions/3514f4e119da?raw)
