---
title: "Update workflow."
method: PUT
path: "/workflows/{id}"
tags: ["Workflows"]
---

# Update workflow.

`PUT /workflows/{id}`

## Request

- Base URL: `https://public.escape.tech/v3`
- URL: `https://public.escape.tech/v3/workflows/{id}`
- Auth: API key in header `X-ESCAPE-API-KEY`

Update a workflow.

## Path parameters

- `id` string, uuid, required: The workflow ID

## Request body

- object
  - `name` string: The new name of the integration
  - `trigger` 'ASSET_FOUND' | 'ASSET_UPDATED' | 'INTEGRATION_FAILED' | 'ISSUE_UPDATED' | 'LOCATION_DOWN' | 'MANUAL' | 'NEW_ISSUE' | 'SCAN_COMPLETED' | 'SCAN_FAILED' | 'SCAN_STARTED': The new trigger of the workflow. Omit to keep the current trigger, for example when only pausing or resuming.
  - `paused` boolean: Set to true to pause the workflow, or false to resume it.
  - `throttleMs` number, nullable: The throttle in milliseconds for the workflow.
  - `viewId` string, uuid, nullable: Saved view to apply as the workflow filter.
  - `filter` union: Custom filter matching the workflow trigger target. Ignored if `viewId` is provided.
    - object
      - `severities` string[], nullable
      - `risks` string[], nullable
      - `projectIds` string[], nullable
      - `applicationIds` string[], nullable: Deprecated, use profileIds instead
      - `profileIds` string[], nullable
      - `assetIds` string[], nullable
      - `jiraTicket` boolean, nullable
      - `search` string, nullable
      - `categories` string[], nullable
      - `scannerKinds` string[], nullable
      - `assetClasses` string[], nullable
      - `assetTypes` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `scanIds` string[], nullable
      - `firstSeenScanIds` string[], nullable
      - `securityTestUids` string[], nullable
      - `status` string[], nullable
      - `ids` string[], nullable
      - `blacklistedIds` string[], nullable
      - `fullNames` string[], nullable
      - `blacklistedNames` string[], nullable
      - `assetStatuses` string[], nullable
      - `aiFalsePositive` boolean, nullable
      - `agentic` boolean, nullable
      - `exploitable` boolean, nullable
      - `targetIds` string[], nullable
      - `domains` string[], nullable
      - `ignoreInventory` boolean, nullable
      - `ignored` boolean, nullable
      - `dnf` unknown
    - object
      - `search` string, nullable
      - `risks` string[], nullable
      - `tagIds` string[], nullable
      - `exactTagIds` string[], nullable
      - `noTags` boolean, nullable
      - `integrationIds` string[], nullable
      - `types` string[], nullable
      - `excludeTypes` string[], nullable
      - `classes` string[], nullable
      - `excludeClasses` string[], nullable
      - `projectIds` string[], nullable
      - `exactProjectIds` string[], nullable
      - `noProjects` boolean, nullable
      - `applicationIds` string[], nullable
      - `foundByProfileIds` string[], nullable
      - `foundByIntegrationIds` string[], nullable
      - `scanIds` string[], nullable
      - `scannerKinds` string[], nullable
      - `workflowIds` string[], nullable
      - `domains` string[], nullable
      - `rootFQDNs` string[], nullable
      - `noRootFQDN` boolean, nullable
      - `environments` string[], nullable
      - `cloudProviders` string[], nullable
      - `wafProviders` string[], nullable
      - `captchaProviders` string[], nullable
      - `statuses` string[], nullable
      - `severities` string[], nullable
      - `parentLinks` object[], nullable
        - `parentId` string, nullable
        - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
      - `childrenLinks` object[], nullable
        - `childId` string, nullable
        - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
      - `schemaIds` string[], nullable
      - `assetIds` string[], nullable
      - `blacklistAssetIds` string[], nullable
      - `manuallyCreated` boolean, nullable
      - `sources` object[], nullable
        - `manuallyCreated` boolean, nullable
        - `integrationId` string, nullable
        - `assetId` string, nullable
      - `visibility` string[], nullable
      - `repositoryArchived` boolean, nullable
      - `ports` number[], nullable
      - `frameworks` string[], nullable
      - `prioritizeFavorites` boolean, nullable
      - `languages` string[], nullable
      - `ownerEmails` string[], nullable
      - `uris` string[], nullable
      - `technologyKeys` string[], nullable
      - `ownTechnologyKeys` string[], nullable
      - `dnf` unknown
    - object
      - `applicationIds` string[], nullable
      - `assetIds` string[], nullable
      - `status` string[], nullable
      - `initiator` string[], nullable
      - `kinds` string[], nullable
      - `modes` string[], nullable
      - `withoutModes` string[], nullable
      - `projectIds` string[], nullable
      - `problemSeverities` string[], nullable
      - `problemCodes` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `search` string, nullable
      - `assetTypes` string[], nullable
      - `before` string, date-time, nullable
      - `after` string, date-time, nullable
      - `ignored` boolean, nullable
      - `dnf` unknown
    - object
      - `ids` string[], nullable
      - `search` string, nullable
      - `risks` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `projectIds` string[], nullable
      - `noProjects` boolean, nullable
      - `assetIds` string[], nullable
      - `assetSchemaIds` string[], nullable
      - `issueIds` string[], nullable
      - `kinds` string[], nullable
      - `domains` string[], nullable
      - `initiators` string[], nullable
      - `lastScanStatuses` string[], nullable
      - `problemSeverities` string[], nullable
      - `problemCodes` string[], nullable
      - `assetClasses` string[], nullable
      - `assetStatuses` string[], nullable
      - `assetTypes` string[], nullable
      - `scanIds` string[], nullable
      - `dnf` unknown
    - object
      - `search` string, nullable
      - `kinds` string[], nullable
      - `projectIds` string[], nullable
      - `ids` string[], nullable
      - `locationIds` string[], nullable
      - `github` object, nullable
        - `hasInstallation` boolean, nullable
    - object
      - `search` string, nullable
      - `enabled` boolean, nullable
      - `type` string[], nullable
      - `dnf` unknown
  - `filters` union[]: Deprecated. Use `viewId` and `filter` instead.
    - union
      - object
        - `viewId` string, uuid, required
      - object
        - `type` 'ISSUES', required
        - `filter` object, required
          - `severities` string[], nullable
          - `risks` string[], nullable
          - `projectIds` string[], nullable
          - `applicationIds` string[], nullable: Deprecated, use profileIds instead
          - `profileIds` string[], nullable
          - `assetIds` string[], nullable
          - `jiraTicket` boolean, nullable
          - `search` string, nullable
          - `categories` string[], nullable
          - `scannerKinds` string[], nullable
          - `assetClasses` string[], nullable
          - `assetTypes` string[], nullable
          - `tagIds` string[], nullable
          - `noTags` boolean, nullable
          - `scanIds` string[], nullable
          - `firstSeenScanIds` string[], nullable
          - `securityTestUids` string[], nullable
          - `status` string[], nullable
          - `ids` string[], nullable
          - `blacklistedIds` string[], nullable
          - `fullNames` string[], nullable
          - `blacklistedNames` string[], nullable
          - `assetStatuses` string[], nullable
          - `aiFalsePositive` boolean, nullable
          - `agentic` boolean, nullable
          - `exploitable` boolean, nullable
          - `targetIds` string[], nullable
          - `domains` string[], nullable
          - `ignoreInventory` boolean, nullable
          - `ignored` boolean, nullable
          - `dnf` unknown
      - object
        - `type` 'PROFILES', required
        - `filter` object, required
          - `ids` string[], nullable
          - `search` string, nullable
          - `risks` string[], nullable
          - `tagIds` string[], nullable
          - `noTags` boolean, nullable
          - `projectIds` string[], nullable
          - `noProjects` boolean, nullable
          - `assetIds` string[], nullable
          - `assetSchemaIds` string[], nullable
          - `issueIds` string[], nullable
          - `kinds` string[], nullable
          - `domains` string[], nullable
          - `initiators` string[], nullable
          - `lastScanStatuses` string[], nullable
          - `problemSeverities` string[], nullable
          - `problemCodes` string[], nullable
          - `assetClasses` string[], nullable
          - `assetStatuses` string[], nullable
          - `assetTypes` string[], nullable
          - `scanIds` string[], nullable
          - `dnf` unknown
      - object
        - `type` 'ASSETS', required
        - `filter` object, required
          - `search` string, nullable
          - `risks` string[], nullable
          - `tagIds` string[], nullable
          - `exactTagIds` string[], nullable
          - `noTags` boolean, nullable
          - `integrationIds` string[], nullable
          - `types` string[], nullable
          - `excludeTypes` string[], nullable
          - `classes` string[], nullable
          - `excludeClasses` string[], nullable
          - `projectIds` string[], nullable
          - `exactProjectIds` string[], nullable
          - `noProjects` boolean, nullable
          - `applicationIds` string[], nullable
          - `foundByProfileIds` string[], nullable
          - `foundByIntegrationIds` string[], nullable
          - `scanIds` string[], nullable
          - `scannerKinds` string[], nullable
          - `workflowIds` string[], nullable
          - `domains` string[], nullable
          - `rootFQDNs` string[], nullable
          - `noRootFQDN` boolean, nullable
          - `environments` string[], nullable
          - `cloudProviders` string[], nullable
          - `wafProviders` string[], nullable
          - `captchaProviders` string[], nullable
          - `statuses` string[], nullable
          - `severities` string[], nullable
          - `parentLinks` object[], nullable
            - `parentId` string, nullable
            - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
          - `childrenLinks` object[], nullable
            - `childId` string, nullable
            - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
          - `schemaIds` string[], nullable
          - `assetIds` string[], nullable
          - `blacklistAssetIds` string[], nullable
          - `manuallyCreated` boolean, nullable
          - `sources` object[], nullable
            - `manuallyCreated` boolean, nullable
            - `integrationId` string, nullable
            - `assetId` string, nullable
          - `visibility` string[], nullable
          - `repositoryArchived` boolean, nullable
          - `ports` number[], nullable
          - `frameworks` string[], nullable
          - `prioritizeFavorites` boolean, nullable
          - `languages` string[], nullable
          - `ownerEmails` string[], nullable
          - `uris` string[], nullable
          - `technologyKeys` string[], nullable
          - `ownTechnologyKeys` string[], nullable
          - `dnf` unknown
  - `actions` union[]: The actions to update the workflow with, this will replace the existing actions
    - union
      - object
        - `type` 'EXPORT', required
        - `parameters` object, required
          - `url` string, required
          - `format` 'json' | 'xml', required
          - `headers` object[]
            - `name` string, required
            - `value` string, required
        - `integrationKind` 'WEBHOOK', required
      - object
        - `type` 'EXPORT', required
        - `parameters` object, required
          - `projectId` string, required
          - `issueType` string, required
          - `propertiesMapping` union[], required
            - union
              - …
          - `staticPropertiesMapping` object[]
            - `jiraPropertyId` string, required
            - `value` union, required
              - …
            - `append` boolean
          - `parentKey` string, nullable
          - `disableDefaultMappings` boolean, nullable
          - `statusMapping` object: Jira status to move the ticket to for each Escape issue status. A status with no entry uses the default: OPEN moves the ticket to the To Do category, RESOLVED to the Done category, and the other statuses leave it unchanged.
            - `OPEN` object
              - …
            - `RESOLVED` object
              - …
            - `MANUAL_REVIEW` object
              - …
            - `IGNORED` object
              - …
            - `FALSE_POSITIVE` object
              - …
        - `integrationKind` 'JIRA', required
        - `integrationId` string, uuid, required
      - object
        - `type` 'EXPORT', required
        - `parameters` object, required
          - `minSeverity` 'INFO' | 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL' | 'null', nullable, required: The minimum severity of the issues to export
        - `integrationKind` 'WIZ', required
        - `integrationId` string, uuid, required
      - object
        - `type` 'NOTIFY', required
        - `parameters` object, required
          - `to` union, required
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `integrationKind` 'EMAIL', required
      - object
        - `type` 'NOTIFY', required
        - `parameters` object, required
          - `url` string, required
        - `integrationKind` 'SLACK_WEBHOOK', required
      - object
        - `type` 'NOTIFY', required
        - `parameters` object, required
          - `url` string, required
        - `integrationKind` 'DISCORD_WEBHOOK', required
      - object
        - `type` 'NOTIFY', required
        - `parameters` object, required
          - `url` string, required
        - `integrationKind` 'TEAMS_WEBHOOK', required
      - object
        - `type` 'ACT', required
        - `parameters` object, required
          - `set` object, nullable
            - `status` 'DEPRECATED' | 'OUT_OF_SCOPE' | 'FALSE_POSITIVE' | 'MONITORED' | 'THIRD_PARTY' | 'null', nullable
            - `tags` string[], nullable
            - `projectIds` string[], nullable
        - `internalAction` 'UPDATE_ASSET', required
  - `projectIds` string[]: Optional list of project IDs to attach to the integration

## Response `200`

OK

- object
  - `id` string, uuid: The workflow ID.
  - `name` string: The name of the workflow.
  - `description` string, nullable, required: The description of the workflow. Null when the workflow has no description.
  - `trigger` 'ASSET_FOUND' | 'ASSET_UPDATED' | 'INTEGRATION_FAILED' | 'ISSUE_UPDATED' | 'LOCATION_DOWN' | 'MANUAL' | 'NEW_ISSUE' | 'SCAN_COMPLETED' | 'SCAN_FAILED' | 'SCAN_STARTED', required
  - `paused` boolean, required: Whether the workflow is paused.
  - `throttleMs` number, nullable, required: The throttle in milliseconds for the workflow.
  - `filter` union, required: Custom filter matching the workflow trigger target.
    - object
      - `severities` string[], nullable
      - `risks` string[], nullable
      - `projectIds` string[], nullable
      - `applicationIds` string[], nullable: Deprecated, use profileIds instead
      - `profileIds` string[], nullable
      - `assetIds` string[], nullable
      - `jiraTicket` boolean, nullable
      - `search` string, nullable
      - `categories` string[], nullable
      - `scannerKinds` string[], nullable
      - `assetClasses` string[], nullable
      - `assetTypes` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `scanIds` string[], nullable
      - `firstSeenScanIds` string[], nullable
      - `securityTestUids` string[], nullable
      - `status` string[], nullable
      - `ids` string[], nullable
      - `blacklistedIds` string[], nullable
      - `fullNames` string[], nullable
      - `blacklistedNames` string[], nullable
      - `assetStatuses` string[], nullable
      - `aiFalsePositive` boolean, nullable
      - `agentic` boolean, nullable
      - `exploitable` boolean, nullable
      - `targetIds` string[], nullable
      - `domains` string[], nullable
      - `ignoreInventory` boolean, nullable
      - `ignored` boolean, nullable
      - `dnf` unknown
    - object
      - `search` string, nullable
      - `risks` string[], nullable
      - `tagIds` string[], nullable
      - `exactTagIds` string[], nullable
      - `noTags` boolean, nullable
      - `integrationIds` string[], nullable
      - `types` string[], nullable
      - `excludeTypes` string[], nullable
      - `classes` string[], nullable
      - `excludeClasses` string[], nullable
      - `projectIds` string[], nullable
      - `exactProjectIds` string[], nullable
      - `noProjects` boolean, nullable
      - `applicationIds` string[], nullable
      - `foundByProfileIds` string[], nullable
      - `foundByIntegrationIds` string[], nullable
      - `scanIds` string[], nullable
      - `scannerKinds` string[], nullable
      - `workflowIds` string[], nullable
      - `domains` string[], nullable
      - `rootFQDNs` string[], nullable
      - `noRootFQDN` boolean, nullable
      - `environments` string[], nullable
      - `cloudProviders` string[], nullable
      - `wafProviders` string[], nullable
      - `captchaProviders` string[], nullable
      - `statuses` string[], nullable
      - `severities` string[], nullable
      - `parentLinks` object[], nullable
        - `parentId` string, nullable
        - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
      - `childrenLinks` object[], nullable
        - `childId` string, nullable
        - `verb` 'FINDS' | 'DEFINES' | 'DEFINES_FAVORITE' | 'IS_SOURCE' | 'CONTAINS' | 'USES', required
      - `schemaIds` string[], nullable
      - `assetIds` string[], nullable
      - `blacklistAssetIds` string[], nullable
      - `manuallyCreated` boolean, nullable
      - `sources` object[], nullable
        - `manuallyCreated` boolean, nullable
        - `integrationId` string, nullable
        - `assetId` string, nullable
      - `visibility` string[], nullable
      - `repositoryArchived` boolean, nullable
      - `ports` number[], nullable
      - `frameworks` string[], nullable
      - `prioritizeFavorites` boolean, nullable
      - `languages` string[], nullable
      - `ownerEmails` string[], nullable
      - `uris` string[], nullable
      - `technologyKeys` string[], nullable
      - `ownTechnologyKeys` string[], nullable
      - `dnf` unknown
    - object
      - `applicationIds` string[], nullable
      - `assetIds` string[], nullable
      - `status` string[], nullable
      - `initiator` string[], nullable
      - `kinds` string[], nullable
      - `modes` string[], nullable
      - `withoutModes` string[], nullable
      - `projectIds` string[], nullable
      - `problemSeverities` string[], nullable
      - `problemCodes` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `search` string, nullable
      - `assetTypes` string[], nullable
      - `before` string, date-time, nullable
      - `after` string, date-time, nullable
      - `ignored` boolean, nullable
      - `dnf` unknown
    - object
      - `ids` string[], nullable
      - `search` string, nullable
      - `risks` string[], nullable
      - `tagIds` string[], nullable
      - `noTags` boolean, nullable
      - `projectIds` string[], nullable
      - `noProjects` boolean, nullable
      - `assetIds` string[], nullable
      - `assetSchemaIds` string[], nullable
      - `issueIds` string[], nullable
      - `kinds` string[], nullable
      - `domains` string[], nullable
      - `initiators` string[], nullable
      - `lastScanStatuses` string[], nullable
      - `problemSeverities` string[], nullable
      - `problemCodes` string[], nullable
      - `assetClasses` string[], nullable
      - `assetStatuses` string[], nullable
      - `assetTypes` string[], nullable
      - `scanIds` string[], nullable
      - `dnf` unknown
    - object
      - `search` string, nullable
      - `kinds` string[], nullable
      - `projectIds` string[], nullable
      - `ids` string[], nullable
      - `locationIds` string[], nullable
      - `github` object, nullable
        - `hasInstallation` boolean, nullable
    - object
      - `search` string, nullable
      - `enabled` boolean, nullable
      - `type` string[], nullable
      - `dnf` unknown
  - `view` object, nullable, required: Saved view applied as the workflow filter.
    - `id` string, uuid, required
    - `name` string, required
    - `target` 'ASSETS' | 'EVENTS' | 'INTEGRATIONS' | 'ISSUES' | 'LOCATIONS' | 'PROFILES' | 'SCANS' | 'TARGETS', required
  - `projects` object[], required: Projects the workflow applies to. Empty when the workflow is organization-wide.
    - `id` string, uuid, required: The project ID.
    - `name` string, required: The project name.
    - `slug` string, required: The project slug.
  - `createdAt` string, date-time, required: The date and time the workflow was created.
  - `updatedAt` string, date-time, required: The date and time the workflow was last updated.
  - `filters` object[], required: Deprecated. Always empty. Use `filter` and `view` instead.
    - `id` string, uuid, required
    - `type` 'ASSETS' | 'EVENTS' | 'INTEGRATIONS' | 'ISSUES' | 'LOCATIONS' | 'PROFILES' | 'SCANS' | 'TARGETS', required
    - `filter` unknown
    - `view` object, nullable, required
      - `id` string, uuid, required
      - `name` string, required
      - `target` 'ASSETS' | 'EVENTS' | 'INTEGRATIONS' | 'ISSUES' | 'LOCATIONS' | 'PROFILES' | 'SCANS' | 'TARGETS', required
  - `actions` object[], required
    - `id` string, uuid, required
    - `type` 'ACT' | 'EXPORT' | 'NOTIFY', required
    - `parameters` unknown
    - `internalAction` 'UPDATE_ASSET' | 'UPDATE_ISSUE' | 'null', nullable, required
    - `integration` object, nullable, required
      - `id` string, uuid, required
      - `name` string, required
      - `kind` 'AKAMAI' | 'AWS' | 'AWS_ACCOUNT' | 'AZURE' | 'AZURE_BOARDS' | 'AZURE_KEY_VAULT' | 'BITBUCKET_REPO' | 'CLOUDFLARE' | 'CUSTOM' | 'DISCORD_WEBHOOK' | 'DNS' | 'EMAIL' | 'GCP' | 'GITHUB_API_KEY' | 'GITLAB_API_KEY' | 'JIRA' | 'KUBERNETES' | 'POSTMAN_API_KEY' | 'SERVICENOW' | 'SLACK_WEBHOOK' | 'TEAMS_WEBHOOK' | 'WEBHOOK' | 'WIZ', required

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/escape/apis/escape-public-api.md) - [All operations](https://skmtc.dev/escape/apis/escape-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/escape/apis/escape-public-api/revisions/2eab35df40c7?raw)
