---
title: "updateDefinition"
method: PUT
path: "/v1/workflows/definitions/{definitionId}"
tags: ["Workflows"]
---

# updateDefinition

`PUT /v1/workflows/definitions/{definitionId}`

Update Workflow Definition.

## Path parameters

- `definitionId` string, required

## Request body

- WorkflowDefinition — V1 workflow definition schema. Defines a linear workflow structure with sections and steps. Sections group related steps together, and steps represent individual tasks that need to be completed. This is the legacy workflow model; for new implementations, consider using V2 flow templates instead.
  - `id` string — Unique identifier for the workflow definition, generated by the system.
  - `name` string, required — Display name for the workflow, shown to users in the UI.
  - `description` string — Optional detailed description of the workflow's purpose and behavior.
  - `creationTime` string — ISO String Date & Time
  - `enabled` boolean — Whether the workflow is enabled or not
  - `lastUpdateTime` string — ISO String Date & Time
  - `dueDate` string
  - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
    - `numberOfUnits` number, required — Number of time units to add to the reference point.
    - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
    - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
    - `stepId` string
    - `phaseId` string
  - `userIds` number[] — This field is deprecated. Please use assignedTo
  - `assignedTo` string[]
  - `enableECPWorkflow` boolean — Indicates whether this workflow is available for End Customer Portal or not. By default it's not.
  - `flow` union[], required
    - union
      - Section — A group of Steps that define the progress of the Workflow
        - `id` string
        - `name` string, required
        - `order` number, required
        - `type` 'STEP' | 'SECTION', required
        - `dueDate` string
        - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
          - `numberOfUnits` number, required — Number of time units to add to the reference point.
          - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
          - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
          - `stepId` string
          - `phaseId` string
        - `assignedTo` string[]
        - `steps` Step[], required
          - `id` string
          - `name` string, required
          - `description` StepDescription — Longer information regarding Task
            - `enabled` boolean
            - `value` string
          - `executionType` 'MANUAL' | 'AUTOMATION'
          - `automationConfig` object
            - `flowId` string, required — Id of the configured automation to run
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
          - `order` number, required
          - `dueDate` string
          - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
            - `numberOfUnits` number, required — Number of time units to add to the reference point.
            - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
            - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
            - `stepId` string
            - `phaseId` string
          - `userIds` number[] — This field is deprecated. Please use assignedTo
          - `requirements` StepRequirement[] — requirements that need to be fulfilled in order to enable the step execution
            - `definitionId` string, required
            - `type` 'STEP' | 'SECTION', required
            - `condition` 'CLOSED', required
          - `assignedTo` string[]
          - `type` 'STEP' | 'SECTION', required
          - `ecp` ECPDetails — Details regarding ECP for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
            - `journey` StepJourney
              - …
          - `installer` ECPDetails — Details regarding ECP for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
            - `journey` StepJourney
              - …
          - `partner` PartnerDetails — Details regarding partner for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
          - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
        - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
      - Step — Action that needs to be done in a Workflow
        - `id` string
        - `name` string, required
        - `description` StepDescription — Longer information regarding Task
          - `enabled` boolean
          - `value` string
        - `executionType` 'MANUAL' | 'AUTOMATION'
        - `automationConfig` object
          - `flowId` string, required — Id of the configured automation to run
        - `journey` StepJourney
          - `id` string
          - `journeyId` string
          - `name` string
          - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `order` number, required
        - `dueDate` string
        - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
          - `numberOfUnits` number, required — Number of time units to add to the reference point.
          - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
          - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
          - `stepId` string
          - `phaseId` string
        - `userIds` number[] — This field is deprecated. Please use assignedTo
        - `requirements` StepRequirement[] — requirements that need to be fulfilled in order to enable the step execution
          - `definitionId` string, required
          - `type` 'STEP' | 'SECTION', required
          - `condition` 'CLOSED', required
        - `assignedTo` string[]
        - `type` 'STEP' | 'SECTION', required
        - `ecp` ECPDetails — Details regarding ECP for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `installer` ECPDetails — Details regarding ECP for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `partner` PartnerDetails — Details regarding partner for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
        - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
  - `closingReasons` ClosingReasonId[]
    - `id` string, required
  - `updateEntityAttributes` UpdateEntityAttributes[]
    - `source` 'workflow_status' | 'current_section' | 'current_step', required
    - `target` object, required
      - `entitySchema` string, required
      - `entityAttribute` string, required
  - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
  - `singleClosingReasonSelection` boolean — Whether only a single closing reason can be selected
  - `_manifest` string[] — The manifest IDs associated with this workflow

## Response `200`

Success - if the definition is updated successfully

- WorkflowDefinition — V1 workflow definition schema. Defines a linear workflow structure with sections and steps. Sections group related steps together, and steps represent individual tasks that need to be completed. This is the legacy workflow model; for new implementations, consider using V2 flow templates instead.
  - `id` string — Unique identifier for the workflow definition, generated by the system.
  - `name` string, required — Display name for the workflow, shown to users in the UI.
  - `description` string — Optional detailed description of the workflow's purpose and behavior.
  - `creationTime` string — ISO String Date & Time
  - `enabled` boolean — Whether the workflow is enabled or not
  - `lastUpdateTime` string — ISO String Date & Time
  - `dueDate` string
  - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
    - `numberOfUnits` number, required — Number of time units to add to the reference point.
    - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
    - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
    - `stepId` string
    - `phaseId` string
  - `userIds` number[] — This field is deprecated. Please use assignedTo
  - `assignedTo` string[]
  - `enableECPWorkflow` boolean — Indicates whether this workflow is available for End Customer Portal or not. By default it's not.
  - `flow` union[], required
    - union
      - Section — A group of Steps that define the progress of the Workflow
        - `id` string
        - `name` string, required
        - `order` number, required
        - `type` 'STEP' | 'SECTION', required
        - `dueDate` string
        - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
          - `numberOfUnits` number, required — Number of time units to add to the reference point.
          - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
          - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
          - `stepId` string
          - `phaseId` string
        - `assignedTo` string[]
        - `steps` Step[], required
          - `id` string
          - `name` string, required
          - `description` StepDescription — Longer information regarding Task
            - `enabled` boolean
            - `value` string
          - `executionType` 'MANUAL' | 'AUTOMATION'
          - `automationConfig` object
            - `flowId` string, required — Id of the configured automation to run
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
          - `order` number, required
          - `dueDate` string
          - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
            - `numberOfUnits` number, required — Number of time units to add to the reference point.
            - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
            - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
            - `stepId` string
            - `phaseId` string
          - `userIds` number[] — This field is deprecated. Please use assignedTo
          - `requirements` StepRequirement[] — requirements that need to be fulfilled in order to enable the step execution
            - `definitionId` string, required
            - `type` 'STEP' | 'SECTION', required
            - `condition` 'CLOSED', required
          - `assignedTo` string[]
          - `type` 'STEP' | 'SECTION', required
          - `ecp` ECPDetails — Details regarding ECP for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
            - `journey` StepJourney
              - …
          - `installer` ECPDetails — Details regarding ECP for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
            - `journey` StepJourney
              - …
          - `partner` PartnerDetails — Details regarding partner for the workflow step
            - `enabled` boolean
            - `label` string
            - `description` string
          - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
        - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
      - Step — Action that needs to be done in a Workflow
        - `id` string
        - `name` string, required
        - `description` StepDescription — Longer information regarding Task
          - `enabled` boolean
          - `value` string
        - `executionType` 'MANUAL' | 'AUTOMATION'
        - `automationConfig` object
          - `flowId` string, required — Id of the configured automation to run
        - `journey` StepJourney
          - `id` string
          - `journeyId` string
          - `name` string
          - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `order` number, required
        - `dueDate` string
        - `dynamicDueDate` DynamicDueDate — Configuration for calculating a due date dynamically based on workflow events. The due date is computed by adding a duration (numberOfUnits + timePeriod) to a reference point defined by actionTypeCondition (e.g., when workflow started, when a step closed, or when a phase finished).
          - `numberOfUnits` number, required — Number of time units to add to the reference point.
          - `timePeriod` 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years', required
          - `actionTypeCondition` 'WORKFLOW_STARTED' | 'STEP_CLOSED' | 'PHASE_FINISHED', required
          - `stepId` string
          - `phaseId` string
        - `userIds` number[] — This field is deprecated. Please use assignedTo
        - `requirements` StepRequirement[] — requirements that need to be fulfilled in order to enable the step execution
          - `definitionId` string, required
          - `type` 'STEP' | 'SECTION', required
          - `condition` 'CLOSED', required
        - `assignedTo` string[]
        - `type` 'STEP' | 'SECTION', required
        - `ecp` ECPDetails — Details regarding ECP for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `installer` ECPDetails — Details regarding ECP for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
          - `journey` StepJourney
            - `id` string
            - `journeyId` string
            - `name` string
            - `complete_task_automatically` boolean — If true, the task be auto completed when the journey is completed. By default it is true.
        - `partner` PartnerDetails — Details regarding partner for the workflow step
          - `enabled` boolean
          - `label` string
          - `description` string
        - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
  - `closingReasons` ClosingReasonId[]
    - `id` string, required
  - `updateEntityAttributes` UpdateEntityAttributes[]
    - `source` 'workflow_status' | 'current_section' | 'current_step', required
    - `target` object, required
      - `entitySchema` string, required
      - `entityAttribute` string, required
  - `taxonomies` string[] — Taxonomy ids that are associated with this workflow and used for filtering
  - `singleClosingReasonSelection` boolean — Whether only a single closing reason can be selected
  - `_manifest` string[] — The manifest IDs associated with this workflow

## Other responses

- `400` — Validation Errors
- `401` — Authentication Errors
- `500` — Other errors

---

[API](https://skmtc.net/epilot/apis/workflows-definitions.md) · [All operations](https://skmtc.net/epilot/apis/workflows-definitions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/workflows-definitions/versions/74e4de17e9b5/schema)
