---
title: "Create a new draft revision from an existing one"
method: POST
path: "/resources/api/agent/applicantWorkflows/{id}/draft"
tags: ["ApplicantWorkflowApiAgentResource"]
---

# Create a new draft revision from an existing one

`POST /resources/api/agent/applicantWorkflows/{id}/draft`

Creates a new editable draft by copying the title, nodes, and edges of an existing revision. The new draft keeps the same workflow name with the next revision number, letting you iterate on a published workflow without altering the live version. The source revision must not itself be a draft, and a workflow can have only one draft at a time. Optionally supply a `name` in the body to copy the definition under a different workflow name; in that case an existing draft with that name is updated rather than rejected.

## Path parameters

- `id` string, required

## Request body

- CreateDraftRevisionDto
  - `name` 'default' | 'test' | 'actions' — Workflow name to copy the source revision under. Omit to keep the source workflow's name.

## Response `default`

default response

- ApplicantWorkflowDto
  - `archived` EntityActionTrailDto — Records which user performed an action on the workflow revision, and when.
    - `clientSubject` string — Name of the user who performed the action.
    - `date` string, date-time — When the action occurred.
    - `subjectId` string
  - `clientId` string — Identifier of the client that owns this workflow.
  - `created` EntityActionTrailDto — Records which user performed an action on the workflow revision, and when.
    - `clientSubject` string — Name of the user who performed the action.
    - `date` string, date-time — When the action occurred.
    - `subjectId` string
  - `edges` ApplicantWorkflowEdge[] — Transitions between steps, including the conditions that route between them.
    - `condition` Condition
      - `astId` integer
      - `negate` boolean
      - `or` And[]
        - `and` Criterion[]
          - `args` Arg[]
            - `astId` integer
            - `exp` string
            - `lit` string
          - `astId` integer
          - `op` string
        - `astId` integer
        - `negate` boolean
        - `score` integer
    - `from` string
    - `id` string
    - `reviewDecisions` ReviewDecision[]
    - `to` string
  - `id` string
  - `modified` EntityActionTrailDto — Records which user performed an action on the workflow revision, and when.
    - `clientSubject` string — Name of the user who performed the action.
    - `date` string, date-time — When the action occurred.
    - `subjectId` string
  - `name` string — Workflow name shared by every revision of the same workflow.
  - `nodes` ApplicantWorkflowNode[] — The steps that make up the workflow.
    - `actions` ActionsNodeParams
      - `items` ApplicantWorkflowAction[]
        - `id` string
        - `kytCase` KytCaseAction
          - `blueprintId` string
          - `deadlineHours` integer
          - `priority` string
          - `tags` string[]
        - `notes` NotesAction
          - `note` string
          - `targetType` 'applicant' | 'applicantAction'
        - `riskLevel` RiskLevelAction
          - `riskLevel` string
        - `sourceKey` SourceKeyAction
          - `sourceKey` string
        - `tags` TagsAction
          - `tags` string[]
          - `tagsToRemove` string[]
          - `targetType` 'applicant' | 'applicantAction'
        - `type` string
        - `verificationEmailAction` VerificationEmailAction
          - `notifyAssociatedParties` boolean
    - `applicantLevel` ApplicantLevelNodeParams
      - `levelName` string
      - `resetDocSets` ApplicantLevelResetDocSetParam[]
        - `companyDocsGroupDefinitions` string[]
        - `idDocSetType` 'APPLICANT_DATA' | 'EMAIL_VERIFICATION' | 'PHONE_VERIFICATION' | 'IDENTITY' | 'IDENTITY2' | 'IDENTITY3' | 'IDENTITY4' | 'SELFIE' | 'SELFIE2' | 'PROOF_OF_RESIDENCE' | 'PROOF_OF_RESIDENCE2' | 'PROOF_OF_PAYMENT' | 'PAYMENT_METHODS' | 'INVESTABILITY' | 'COMPANY' | 'ACCREDITED_INVESTOR' | 'E_SIGN' | 'QUESTIONNAIRE' | 'QUESTIONNAIRE2' | 'QUESTIONNAIRE3' | 'QUESTIONNAIRE4' | 'E_KYC' | 'OTHER_DOCS' | 'COMPANY_DATA' | 'COMPANY_DOCUMENTS' | 'COMPANY_BENEFICIARIES' | 'COMPANY_ADDRESSES' | 'TR_RECIPIENT_INFORMATION' | 'DEVICE_CHECK' | 'SOLANA_ATTESTATION' | 'LINEA_ATTESTATION' | 'CHAINLINK_ATTESTATION'
    - `applicantTransition` ApplicantTransitionNodeParams
      - `applicantLevel` ApplicantLevelNodeParams
        - `levelName` string
        - `resetDocSets` ApplicantLevelResetDocSetParam[]
          - `companyDocsGroupDefinitions` string[]
          - `idDocSetType` 'APPLICANT_DATA' | 'EMAIL_VERIFICATION' | 'PHONE_VERIFICATION' | 'IDENTITY' | 'IDENTITY2' | 'IDENTITY3' | 'IDENTITY4' | 'SELFIE' | 'SELFIE2' | 'PROOF_OF_RESIDENCE' | 'PROOF_OF_RESIDENCE2' | 'PROOF_OF_PAYMENT' | 'PAYMENT_METHODS' | 'INVESTABILITY' | 'COMPANY' | 'ACCREDITED_INVESTOR' | 'E_SIGN' | 'QUESTIONNAIRE' | 'QUESTIONNAIRE2' | 'QUESTIONNAIRE3' | 'QUESTIONNAIRE4' | 'E_KYC' | 'OTHER_DOCS' | 'COMPANY_DATA' | 'COMPANY_DOCUMENTS' | 'COMPANY_BENEFICIARIES' | 'COMPANY_ADDRESSES' | 'TR_RECIPIENT_INFORMATION' | 'DEVICE_CHECK' | 'SOLANA_ATTESTATION' | 'LINEA_ATTESTATION' | 'CHAINLINK_ATTESTATION'
    - `description` string
    - `disableGoBack` boolean
    - `exclusiveChoice` ExclusiveChoiceNodeParams
    - `finalRejection` FinalRejectionNodeParams
      - `reviewButtonIds` string[]
      - `reviewRejectLabels` ReviewLabel[]
    - `id` string
    - `manualReview` ManualReviewNodeParams
    - `name` string
    - `type` 'actions' | 'applicantLevel' | 'exclusiveChoice' | 'finalRejection' | 'manualReview' | 'actionActions' | 'actionApplicantLevel' | 'actionExclusiveChoice' | 'actionFinalRejection' | 'actionManualReview' | 'actionApplicantTransition'
  - `notices` ApplicantWorkflowNoticeDto[] — Validation findings for this revision. Publishing requires no error-level notices.
    - `actionId` string
    - `edgeId` string — Id of the edge this notice refers to, if any.
    - `message` string — Identifies what the notice is about.
    - `nodeId` string — Id of the node this notice refers to, if any.
    - `params` object — Values that fill in the placeholders of the notice message.
    - `severity` string — Severity of the notice.
  - `published` EntityActionTrailDto — Records which user performed an action on the workflow revision, and when.
    - `clientSubject` string — Name of the user who performed the action.
    - `date` string, date-time — When the action occurred.
    - `subjectId` string
  - `revision` integer — Revision number within the workflow; increases with each new revision.
  - `revisionStatus` string — Current status of this revision.
  - `title` string — Display title of the workflow.

---

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