---
title: "Apply a partial update to the workflow-extension metadata for the given Workflow ID"
method: PATCH
path: "/workflow/{workflowId}"
tags: ["workflows"]
---

# Apply a partial update to the workflow-extension metadata for the given Workflow ID

`PATCH /workflow/{workflowId}`

Updates only the workflow-extension store; never a core workflow field. Designed to carry workflow-extension attributes generally so future fields reuse this operation. Returns the updated workflow representation.

## Path parameters

- `workflowId` string, required

## Query parameters

- `workspaceId` integer

## Request body

- UpdateWorkflowRequest
  - `schedRunId` string, nullable

## Response `200`

OK

- DescribeWorkflowResponse
  - `cost` number, nullable
  - `costCurrency` string, nullable
  - `costIsEstimate` boolean, nullable
  - `instancesProvisioned` integer, nullable
  - `jobInfo` JobInfoDto
    - `exitCode` integer
    - `id` integer
    - `message` string
    - `operationId` string
    - `status` string
  - `labels` LabelDbDto[]
    - `dateCreated` string, date-time
    - `id` integer
    - `isDefault` boolean
    - `isDynamic` boolean
    - `isInterpolated` boolean
    - `name` string
    - `resource` boolean
    - `value` string
  - `messages` string[]
  - `optimized` boolean
  - `orgId` integer
  - `orgName` string
  - `pipelineInfo` PipelineMinInfoResponse
    - `id` integer
    - `version` PipelineMinInfoResponsePipelineVersionMinInfoResponse
      - `dateCreated` string, date-time
      - `hash` string
      - `id` string
      - `isDefault` boolean
      - `isDraftVersion` boolean
      - `lastUpdated` string, date-time
      - `name` string
    - `workspaceId` integer
  - `platform` ComputePlatformDto
    - `id` string
    - `name` string
  - `progress` ProgressData
    - `processesProgress` ProcessLoad[]
      - `aborted` integer, required
      - `cached` integer, required
      - `cpuEfficiency` number, float
      - `cpuLoad` integer, required
      - `cpus` integer, required
      - `cpuShareMillis` integer, nullable
      - `cpuShares` integer, nullable
      - `cpuTime` integer, required
      - `dateCreated` string, date-time
      - `failed` integer, required
      - `ignored` integer, required
      - `invCtxSwitch` integer, required
      - `lastUpdated` string, date-time
      - `loadCpus` integer, required
      - `loadMemory` integer, required
      - `loadTasks` integer, required
      - `memoryEfficiency` number, float
      - `memoryReq` integer, required
      - `memoryRss` integer, required
      - `peakCpus` integer, required
      - `peakMemory` integer, required
      - `peakTasks` integer, required
      - `pending` integer, required
      - `process` string, required
      - `readBytes` integer, required
      - `retries` integer, required
      - `running` integer, required
      - `submitted` integer, required
      - `succeeded` integer, required
      - `version` integer
      - `volCtxSwitch` integer, required
      - `writeBytes` integer, required
    - `totalProcesses` integer
    - `workflowProgress` WorkflowLoad
      - `aborted` integer, required
      - `cached` integer, required
      - `cost` number
      - `cpuEfficiency` number, float
      - `cpuLoad` integer, required
      - `cpus` integer, required
      - `cpuShareMillis` integer, nullable
      - `cpuShares` integer, nullable
      - `cpuTime` integer, required
      - `dateCreated` string, date-time
      - `executors` string[]
      - `failed` integer, required
      - `ignored` integer, required
      - `invCtxSwitch` integer, required
      - `lastUpdated` string, date-time
      - `loadCpus` integer, required
      - `loadMemory` integer, required
      - `loadTasks` integer, required
      - `memoryEfficiency` number, float
      - `memoryReq` integer, required
      - `memoryRss` integer, required
      - `netCost` number
      - `netCpuLoad` integer
      - `netCpus` integer
      - `netCpuShareMillis` integer, nullable
      - `netCpuShares` integer, nullable
      - `netCpuTime` integer
      - `netInvCtxSwitch` integer
      - `netMemoryConsumption` number
      - `netMemoryReq` integer
      - `netMemoryRss` integer
      - `netReadBytes` integer
      - `netVolCtxSwitch` integer
      - `netWriteBytes` integer
      - `numSpotInterruptions` integer
      - `peakCpus` integer, required
      - `peakMemory` integer, required
      - `peakTasks` integer, required
      - `pending` integer, required
      - `readBytes` integer, required
      - `requestedCpuTime` integer, nullable
      - `requestedMemory` integer, nullable
      - `retries` integer, required
      - `running` integer, required
      - `submitted` integer, required
      - `succeeded` integer, required
      - `version` integer
      - `volCtxSwitch` integer, required
      - `writeBytes` integer, required
  - `schedConfig` SchedConfig
    - `backendStrategy` 'ECS' | 'EC2' | 'VM' — Backend used by Intelligent Compute to run tasks. 'ECS' (AWS only, default) delegates task execution to AWS ECS; 'EC2' (AWS only) runs tasks directly on AWS EC2 instances; 'VM' runs tasks on cloud VMs (provider-agnostic).
    - `diskAllocation` string
    - `fusionSnapshots` boolean — Enable Fusion snapshots so interrupted (e.g. spot-reclaimed) tasks can resume from a snapshot instead of restarting from scratch.
    - `machineTypes` string[] — EC2 instance types for compute nodes. Leave empty to automatically select the most cost-effective types for each task.
    - `nvmeEnabled` boolean — When true, only use instance types providing local SSD (NVMe) storage. Maps to diskAllocation='nvme'.
    - `pool` SchedConfigPool
      - `desiredWarm` integer — Target number of idle VMs to keep warm. Bounds total warm-VM cost across all of this CE's pool clusters.
      - `enabled` boolean — Whether the warm pool is active for this CE. When false, the scheduler will not maintain idle VMs.
      - `scaleToZeroSecs` integer — Seconds of inactivity after which the warm pool scales to zero. Set to 0 to never scale to zero.
    - `predictionModel` string — Resource-prediction model used by Intelligent Compute to size tasks. Suggested values: 'none' (default), 'qr/v1', 'qr/v2'. Any other string is accepted.
    - `provisioningModel` 'spot' | 'spotFirst' | 'ondemand'
  - `schedEnabled` boolean, nullable
  - `schedRunId` string, nullable
  - `workflow` WorkflowMaxDbDto
    - `commandLine` string
    - `commitId` string
    - `complete` string, date-time
    - `configFiles` string[]
    - `configText` string
    - `container` string
    - `containerEngine` string
    - `dateCreated` string, date-time
    - `deleted` boolean
    - `duration` integer
    - `errorMessage` string
    - `errorReport` string
    - `exitStatus` integer
    - `homeDir` string
    - `id` string
    - `lastUpdated` string, date-time
    - `launchDir` string
    - `launchId` string
    - `manifest` WfManifest
      - `author` string
      - `defaultBranch` string
      - `description` string
      - `gitmodules` string
      - `homePage` string
      - `icon` string
      - `mainScript` string
      - `name` string
      - `nextflowVersion` string
      - `version` string
    - `nextflow` WfNextflow
      - `build` string
      - `timestamp` string, date-time
      - `version` string
    - `ownerId` integer
    - `params` object
    - `profile` string
    - `projectDir` string
    - `projectName` string
    - `repository` string
    - `requiresAttention` boolean
    - `resume` boolean
    - `revision` string
    - `runName` string
    - `scriptFile` string
    - `scriptId` string
    - `scriptName` string
    - `sessionId` string
    - `start` string, date-time
    - `stats` WfStats
      - `cachedCount` integer
      - `cachedCountFmt` string
      - `cachedDuration` integer
      - `cachedPct` number, float
      - `computeTimeFmt` string
      - `failedCount` integer
      - `failedCountFmt` string
      - `failedDuration` integer
      - `failedPct` number, float
      - `ignoredCount` integer
      - `ignoredCountFmt` string
      - `ignoredPct` number, float
      - `succeedCount` integer
      - `succeedCountFmt` string
      - `succeedDuration` integer
      - `succeedPct` number, float
    - `status` 'SUBMITTED' | 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'CANCELLED' | 'UNKNOWN'
    - `submit` string, date-time
    - `success` boolean
    - `userName` string
    - `workDir` string
    - `configProfiles` string[], nullable
    - `fusion` WfFusionMeta
      - `enabled` boolean
      - `version` string
    - `logFile` string
    - `nextflowConfig` string, nullable
    - `nextflowVersion` string, nullable
    - `operationId` string
    - `outFile` string
    - `postRunScript` string, nullable
    - `preRunScript` string, nullable
    - `syntaxParser` string, nullable
    - `towerConfig` string, nullable
    - `wave` WfWaveMeta
      - `enabled` boolean
  - `workspaceId` integer
  - `workspaceName` string

## Other responses

- `400` — Bad request
- `403` — Operation not allowed
- `409` — Conflict — a concurrent update prevented the write; the request may be retried

---

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