---
title: "Launch workflow"
method: POST
path: "/workflow/launch"
tags: ["workflows"]
---

# Launch workflow

`POST /workflow/launch`

Submits a workflow execution.

## Query parameters

- `workspaceId` integer
- `sourceWorkspaceId` integer, nullable

## Request body

- SubmitWorkflowLaunchRequest
  - `launch` WorkflowLaunchRequest
    - `commitId` string
    - `computeEnvId` string
    - `configProfiles` string[]
    - `configText` string
    - `dateCreated` string, date-time
    - `entryName` string
    - `headJobCpus` integer
    - `headJobMemoryMb` integer
    - `id` string
    - `labelIds` integer[]
    - `launchContainer` string
    - `mainScript` string
    - `nextflowVersion` string, nullable — Nextflow release version to run this workflow with; must exist in the system catalog and satisfy the minimum configured for the compute environment's type.
    - `optimizationId` string
    - `optimizationTargets` string
    - `outputDir` string, nullable — Per-run output directory passed as Nextflow -output-dir (requires Nextflow 24.10.0 or later and workflow outputs syntax).
    - `paramsText` string
    - `pipeline` string
    - `pipelineSchemaId` integer
    - `postRunScript` string
    - `preRunScript` string
    - `pullLatest` boolean
    - `resume` boolean
    - `revision` string
    - `runName` string
    - `schemaName` string
    - `sessionId` string
    - `stubRun` boolean
    - `syntaxParser` 'v1' | 'v2', nullable
    - `towerConfig` string
    - `userSecrets` string[]
    - `workDir` string
    - `workspaceSecrets` string[]

## Response `200`

OK

- SubmitWorkflowLaunchResponse
  - `workflowId` string

## Other responses

- `400` — Bad request — single-failure launches return `ErrorResponse`; multi-failure launches return `WorkflowLaunchValidationErrorResponse` with a per-blocker `errors[]` array
- `403` — Operation not allowed

## Changes

> 14 revisions in range; 1 not diffed.

- **2026-07-24** `13316c9fe5ff` — 1 info
  - added the new optional request property `launch/nextflowVersion`
- **2026-07-09** `aa8544683897` — 3 breaking, 1 info
  - added `#/components/schemas/ErrorResponse, #/components/schemas/WorkflowLaunchValidationErrorResponse` to the response body `oneOf` list for the response status `400`
  - the response's body type/format changed from `object`/`` to ``/`` for status `400`
  - removed the required property `message` from the response with the `400` status
  - added the new optional request property `launch/outputDir`
- **2026-06-26** `bbf1cd758a38` — 1 info
  - added the new optional request property `launch/syntaxParser`
- **2026-03-10** `49c99a6944de` — 1 info
  - added the new optional request property `launch/pipelineSchemaId`
- **2026-01-20** `98d6b538c88e` — 1 info
  - added the new optional request property `launch/commitId`

[Change history](https://skmtc.dev/seqeralabs/apis/seqera-api/changes/workflow/launch/post.md)

---

[API](https://skmtc.dev/seqeralabs/apis/seqera-api.md) · [All operations](https://skmtc.dev/seqeralabs/apis/seqera-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/seqeralabs/seqera-api/revisions/97f7655d105a/schema)
