---
title: "Submit"
method: POST
path: "/v2/rollouts/submit"
tags: ["rollouts"]
---

# Submit

`POST /v2/rollouts/submit`

v6 SDK hosted rollout: env/task reference + agent spec under the SDK's job/trace identity.

The SDK polls GET /v2/trace/{trace_id} to completion.

## Request body

- RolloutSubmitRequest — One v6 rollout under the SDK's job/trace identity. The SDK's rollout atom mints ``trace_id``/``job_id`` and submits the task by reference — env name, task id (the ``@env.task`` name), bound args — plus the serialized agent spec. The platform materializes the task_version chain, schedules an instance, and runs the rollout co-located with the env; the SDK polls the trace to completion. ``slug`` is the taskset row key (``Task.external_id`` / portable ``Task.slug``). It is distinct from ``task`` (the ``@env.task`` id used for scenario lookup) and is only needed when a job's taskset has multiple versions sharing the same scenario+args.
  - `trace_id` string, uuid, required
  - `job_id` string, uuid, required
  - `group_id` string, nullable
  - `env` string, required
  - `task` string, required
  - `slug` string, nullable
  - `args` object
  - `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
  - `agent` SubmittedAgentSpec, required — Gateway identity a hosted runner rebuilds the agent from. Mirrors ``hud.agents.tool_agent.ToolAgent.hosted_spec`` on the v6 SDK: the agent ``type`` plus the full serialized ``AgentConfig`` (the live ``model_client``, gateway-owned credentials, and hosted tools stripped). The control plane treats ``config`` as an opaque blob — only ``model`` (for inference routing and billing), ``max_steps``, and ``system_prompt`` are read — and the instance rebuilds the agent via ``config_cls.model_validate(config)``.
    - `type` 'claude' | 'openai' | 'gemini' | 'openai_compatible', required
    - `config` object, required

## Response `201`

Successful Response

- RolloutResponse
  - `job_id` string, uuid, required
  - `trace_id` string, uuid, required
  - `status` string

## 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)
