---
title: "POST /runBatch"
method: POST
path: "/runBatch"
---

# POST /runBatch

`POST /runBatch`

Starts a batch of workflow runs. You can group up to 100,000 runs into a single batch that share a common configuration defined in `defaultRunSetting`. Per-run overrides can be provided either inline via `inlineSettings` (up to 100 runs) or via a JSON file stored in Amazon S3 via `s3UriSettings` (up to 100,000 runs).

`StartRunBatch` validates common fields synchronously and returns immediately with a batch ID and status `CREATING`. The batch transitions to `PENDING` once initial setup completes. Runs are then submitted gradually and asynchronously at a rate governed by your `StartRun` throughput quota.

## Request body

- object
  - `batchName` string — An optional user-friendly name for the run batch.
  - `requestId` string, required — A client token used to deduplicate retry requests and prevent duplicate batches from being created.
  - `tags` object — AWS tags to associate with the batch resource. These tags are not inherited by individual runs. To tag individual runs, use <code>defaultRunSetting.runTags</code>.
  - `defaultRunSetting` object, required — Shared configuration applied to all runs in a batch. Fields specified in a per-run <code>InlineSetting</code> entry override the corresponding fields in this object for that run. The <code>parameters</code> and <code>runTags</code> fields are merged rather than replaced — run-specific values take precedence when keys overlap.
    - `workflowId` string — The identifier of the workflow to run.
    - `workflowType` 'PRIVATE' | 'READY2RUN' — The type of the originating workflow. Batch runs are not supported with <code>READY2RUN</code> workflows.
    - `roleArn` string — The IAM role ARN that grants HealthOmics permissions to access required AWS resources such as Amazon S3 and CloudWatch. The role must have the same permissions required for individual <code>StartRun</code> calls.
    - `name` string — An optional user-friendly name applied to each workflow run. Can be overridden per run.
    - `cacheId` string — The identifier of the run cache to associate with the runs.
    - `cacheBehavior` 'CACHE_ON_FAILURE' | 'CACHE_ALWAYS' — The cache behavior for the runs. Requires <code>cacheId</code> to be set.
    - `runGroupId` string — The ID of the run group to contain all workflow runs in the batch.
    - `priority` integer — An integer priority for the workflow runs. Higher values correspond to higher priority. A value of 0 corresponds to the lowest priority. Can be overridden per run.
    - `parameters` object — Workflow parameter names and values shared across all runs. Merged with per-run parameters; run-specific values take precedence when keys overlap. Can be overridden per run.
    - `storageCapacity` integer — The filesystem size in gibibytes (GiB) provisioned for each workflow run and shared by all tasks in that run. Defaults to 1200 GiB if not specified.
    - `outputUri` string — The destination S3 URI for workflow outputs. Must begin with <code>s3://</code>. The <code>roleArn</code> must grant write permissions to this bucket. Can be overridden per run.
    - `logLevel` 'OFF' | 'FATAL' | 'ERROR' | 'ALL' — The verbosity level for CloudWatch Logs emitted during each run.
    - `runTags` object — AWS tags to associate with each workflow run. Merged with per-run <code>runTags</code>; run-specific values take precedence when keys overlap.
    - `retentionMode` 'RETAIN' | 'REMOVE' — The retention behavior for runs after completion.
    - `storageType` 'STATIC' | 'DYNAMIC' — The storage type for the workflow runs.
    - `workflowOwnerId` string — The AWS account ID of the workflow owner, used for cross-account workflow sharing.
    - `outputBucketOwnerId` string — The expected AWS account ID of the owner of the output S3 bucket. Can be overridden per run.
    - `workflowVersionName` string — The version name of the specified workflow.
    - `networkingMode` 'RESTRICTED' | 'VPC' — Optional configuration for run networking behavior. If not specified, this will default to RESTRICTED.
    - `configurationName` string — Optional configuration name to use for the workflow run.
    - `engineSettings` object — Engine-specific settings for the workflow run. Use this field to specify configuration options that are specific to the workflow engine (for example, Nextflow profiles).
    - `scratchStorageMode` 'LOCAL' | 'SHARED' — Optional configuration for enabling scratch ephemeral storage mounted at /tmp. If not specified, this will default to SHARED. This configuration is applicable only for CPU tasks. For tasks using GPUs, scratch storage is always LOCAL.
  - `batchRunSettings` object, required — A union type representing per-run configurations for the batch. Specify exactly one of the following members.
    - `inlineSettings` InlineSetting[] — A list of per-run configurations provided inline in the request. Each entry must include a unique <code>runSettingId</code>. Supports up to 100 entries. For batches with more than 100 runs, use <code>s3UriSettings</code>.
      - `runSettingId` string, required — A customer-provided unique identifier for this run configuration within the batch. After submission, use <code>ListRunsInBatch</code> to map each <code>runSettingId</code> to the HealthOmics-generated <code>runId</code>.
      - `name` string — An optional user-friendly name for this run.
      - `outputUri` string — Override the destination S3 URI for this run's outputs.
      - `priority` integer — Override the priority for this run.
      - `parameters` object — Per-run workflow parameters. Merged with <code>defaultRunSetting.parameters</code>; values in this object take precedence when keys overlap.
      - `outputBucketOwnerId` string — The expected AWS account ID of the owner of the output S3 bucket for this run.
      - `runTags` object — Per-run AWS tags. Merged with <code>defaultRunSetting.runTags</code>; values in this object take precedence when keys overlap.
      - `engineSettings` object — Per-run engine-specific settings. Use this field to specify configuration options that are specific to the workflow engine (for example, Nextflow profiles). Overrides <code>defaultRunSetting.engineSettings</code> for this run.
    - `s3UriSettings` string — <p>An Amazon S3 URI pointing to a JSON file containing per-run configurations. The file must be a JSON array in the same format as <code>inlineSettings</code>. Supports up to 100,000 run configurations. The maximum file size is 6 GB.</p> <p>The IAM service role in <code>roleArn</code> must have read access to this S3 object. HealthOmics validates access to the file during the synchronous API call and records the file's ETag. If the file is modified after submission, the batch fails.</p>

## Response `201`

Success

- StartRunBatchResponse
  - `id` string — The identifier portion of the run batch ARN.
  - `arn` string — The unique ARN of the run batch.
  - `status` 'CREATING' | 'PENDING' | 'SUBMITTING' | 'INPROGRESS' | 'STOPPING' | 'CANCELLED' | 'FAILED' | 'PROCESSED' | 'RUNS_DELETING' | 'RUNS_DELETED' — The initial status of the run batch. Returns <code>CREATING</code> while the batch is being initialized.
  - `uuid` string — The universally unique identifier (UUID) for the run batch.
  - `tags` object — AWS tags associated with the run batch.

## Other responses

- `480` — InternalServerException
- `481` — ServiceQuotaExceededException
- `482` — ThrottlingException
- `483` — ValidationException
- `484` — ConflictException
- `485` — ResourceNotFoundException
- `486` — AccessDeniedException
- `487` — RequestTimeoutException

---

[API](https://skmtc.net/aws/apis/omics.md) · [All operations](https://skmtc.net/aws/apis/omics/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/omics/versions/e9df1bcc0813/schema)
