---
title: "Upload Tasks"
method: POST
path: "/v2/tasks/upload"
tags: ["tasks"]
---

# Upload Tasks

`POST /v2/tasks/upload`

Bulk-upload tasks into a taskset, creating the taskset if needed.

## Request body

- TaskUploadRequest
  - `taskset_name` string, required
  - `taskset_id` string, uuid, nullable
  - `description` string, nullable
  - `registry_id` string, uuid, nullable
  - `project_id` string, uuid, nullable
  - `tasks` TaskUploadItem[], required
    - `name` string, required
    - `description` string, nullable
    - `external_id` string, nullable
    - `env` object, nullable
    - `task_id` string, nullable
    - `args` object, nullable
    - `validation` object[], nullable
    - `system_prompt` string, nullable
    - `agent_config` object, nullable
    - `columns` object, nullable
    - `runtime_config` SubmittedRuntimeConfig — SDK ``RuntimeConfig`` accepted by hosted v6 submissions. Provider-specific support is validated by the SDK runtime implementation.
      - `image` string, nullable
      - `compose` SubmittedComposeProject — Compose document and its optional environment source artifact.
        - `document` SubmittedComposeDocument, required — Normalized Compose document transported with a hosted runtime artifact.
          - `services` object, required
        - `root` SubmittedComposeProjectRef — Build-context location inside the selected environment source artifact.
          - `compose_path` string, required
        - `service_access` boolean, nullable
      - `resources` SubmittedRuntimeResources — Wire-compatible subset of ``hud.eval.runtime.RuntimeResources``.
        - `cpu` number, nullable
        - `memory_mb` integer, nullable
        - `storage_mb` integer, nullable
        - `gpu` SubmittedRuntimeGPU — Wire-compatible subset of ``hud.eval.runtime.RuntimeGPU``.
          - `type` string, nullable
          - `count` integer
      - `limits` SubmittedRuntimeLimits — Wire-compatible subset of ``hud.eval.runtime.RuntimeLimits``.
        - `startup_timeout_s` integer, nullable
        - `run_timeout_s` integer, nullable
    - `verifier` SubmittedVerifierTask — Nested verifier task carried by a task row.
      - `env` string, required
      - `id` string, required
      - `args` object
      - `slug` string, required
      - `validation` object[], nullable
      - `agent_config` object, nullable
      - `columns` object, nullable
      - `runtime_config` SubmittedRuntimeConfig — SDK ``RuntimeConfig`` accepted by hosted v6 submissions. Provider-specific support is validated by the SDK runtime implementation.
        - `image` string, nullable
        - `compose` SubmittedComposeProject — Compose document and its optional environment source artifact.
          - `document` SubmittedComposeDocument, required — Normalized Compose document transported with a hosted runtime artifact.
            - `services` object, required
          - `root` SubmittedComposeProjectRef — Build-context location inside the selected environment source artifact.
            - `compose_path` string, required
          - `service_access` boolean, nullable
        - `resources` SubmittedRuntimeResources — Wire-compatible subset of ``hud.eval.runtime.RuntimeResources``.
          - `cpu` number, nullable
          - `memory_mb` integer, nullable
          - `storage_mb` integer, nullable
          - `gpu` SubmittedRuntimeGPU — Wire-compatible subset of ``hud.eval.runtime.RuntimeGPU``.
            - `type` string, nullable
            - `count` integer
        - `limits` SubmittedRuntimeLimits — Wire-compatible subset of ``hud.eval.runtime.RuntimeLimits``.
          - `startup_timeout_s` integer, nullable
          - `run_timeout_s` integer, nullable
    - `scenario_id` string, uuid, nullable

## Response `201`

Successful Response

- TaskUploadResponse
  - `taskset_id` string, uuid, required
  - `taskset_name` string, required
  - `task_count` integer, required
  - `task_version_ids` string[], required
  - `tasks_created` integer, required
  - `tasks_updated` integer, required

## Other responses

- `400` — Invalid or malformed request
- `401` — Missing or invalid credentials
- `403` — Caller may not access this resource
- `404` — Referenced entity does not exist
- `409` — Resource already exists
- `422` — Validation Error

---

[API](https://skmtc.dev/hud/apis/hud-platform.md) · [All operations](https://skmtc.dev/hud/apis/hud-platform/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hud/hud-platform/revisions/58558fc733d9/schema)
