> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 워크플로 업데이트 API: KYC 워크플로 수정

> Didit KYC 또는 KYB 워크플로를 프로그래밍 방식으로 업데이트하세요. 이름 변경, 정렬된 기능 교체, 임계값 조정이 가능합니다. 호출당 과금, 계약 불필요.



워크플로 업데이트 API 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`Update a simple Didit workflow through the Management API.

Endpoint:
PATCH https://verification.didit.me/v3/workflows/{settings_uuid}/

Authentication:
Use the x-api-key header with my Didit API key.

Requirements:
\- Use PATCH and include only the fields I want to change.
\- To rename the workflow, send workflow_label only.
\- To change workflow checks, send the full desired features array. This replaces the previous feature order and config.
\- Do not send workflow_graph, branches, actions, webhooks, or conditional logic.
\- Send features in the exact execution order.
\- Use uppercase feature values such as OCR, LIVENESS, FACE_MATCH, AML, QUESTIONNAIRE, EMAIL_VERIFICATION, PHONE_VERIFICATION, or PROOF_OF_ADDRESS.
\- Configure each feature with the fields from /management-api/workflows/feature-configs.
\- For an OCR feature, omit config.documents_allowed or send an empty object to allow every supported document type. Send config.documents_allowed only to restrict the allowed documents.
\- Keep dependency order valid. For example, put OCR before FACE_MATCH.
\- If the workflow includes QUESTIONNAIRE, use the latest questionnaire_id as config.questionnaire_uuid.

Example metadata update body:
\{
"workflow_label": "Premium KYC"
}

Example full feature replacement body:
\{
"features": [
\{
  "feature": "OCR",
  "config": {
    "documents_allowed": {
      "USA": {
        "DL": {
          "enabled": 1,
          "sides": 2
        }
      }
    }
  }
},
\{
  "feature": "AML",
  "config": {
    "aml_score_review_threshold": 70,
    "aml_score_approve_threshold": 30
  }
}
]
}

Build the API call, handle validation errors, and return the updated workflow response.`

\</pre>



      
      

붙여넣을 곳

부분 업데이트에는 `PATCH`를 사용합니다. 워크플로 이름을 바꾸려면 `workflow_label`만 전송합니다.```json theme={null}
{
  "workflow_label": "Premium KYC"
}
```워크플로의 검사 항목을 변경하려면 원하는 `features` 배열 전체를 전송합니다. 이렇게 하면 기존 기능 순서와 구성이 대체됩니다.```json theme={null}
{
  "features": [
    {
      "feature": "OCR",
      "config": {
        "documents_allowed": {
          "USA": {
            "DL": {
              "enabled": 1,
              "sides": 2
            }
          }
        }
      }
    },
    {
      "feature": "AML",
      "config": {
        "aml_score_review_threshold": 70,
        "aml_score_approve_threshold": 30
      }
    }
  ]
}
```v3 API는 워크플로를 단순하게 유지합니다. 선형 경로 하나와 최종 상태 단계 하나만 지원합니다. 분기, 작업 노드, webhook 노드는 여기서 허용되지 않습니다.## 기능 구성 참조`PATCH`에서 `features`를 전송하면 배열이 기존 기능 순서와 구성을 대체합니다. 필수 구성을 모두 다시 포함해야 합니다.정확한 `config` 객체는 기능에 따라 다릅니다. 전체 필드 목록, 기본값, 필수 설정, 값 범위, 예시는 [워크플로 기능 구성](https://docs.didit.me/ko/management-api/workflows/feature-configs.md)에서 확인하십시오.`OCR`의 경우 `config.documents_allowed`를 생략하거나 `null`을 보내거나 `{}`를 보내면 지원되는 모든 문서 유형을 허용합니다. 워크플로를 특정 국가나 문서 유형으로 제한하려는 경우에만 포함합니다. `QUESTIONNAIRE`의 경우 `config.questionnaire_uuid`가 필수입니다.## 워크플로 설정 업데이트기능 목록을 변경하지 않고 세션 수준 설정을 패치할 수 있습니다. 변경할 필드만 전송합니다.| 필드 | 유형 | 설명 |
| - | - | - |
| `is_white_label_enabled` | 불리언 | 이 워크플로로 생성된 세션에 화이트 라벨 맞춤 설정을 적용합니다. |
| `is_desktop_allowed` | 불리언 | 데스크톱 브라우저에서 인증 흐름을 실행하도록 허용합니다. |
| `max_retry_attempts` | 정수(0–10) | 인증이 거부된 후 허용되는 최대 재시도 횟수입니다. `0`이면 첫 거부 후 사용자를 차단합니다. |
| `retry_window_days` | 정수(1–365) 또는 `null` | 재시도 횟수를 집계하는 롤링 기간(일)입니다(`null` = 전체 기간 제한). |
| `session_expiration_time` | 정수(3600–2419200) | 완료되지 않은 세션이 만료되기까지의 시간(초)입니다. 최소 1시간, 최대 4주입니다. |```json theme={null}
{
  "is_white_label_enabled": true,
  "is_desktop_allowed": true,
  "max_retry_attempts": 5,
  "retry_window_days": 14,
  "session_expiration_time": 86400
}
```이 URL의 `settings_uuid`로 목록, 생성 또는 조회 endpoint에서 반환된 워크플로 `uuid`를 사용합니다.


## OpenAPI

````yaml ko/openapi-25.json PATCH /v3/workflows/{settings_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: 신분증 인증 API입니다. x-api-key 헤더로 인증합니다.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/workflows/{settings_uuid}/:
    patch:
      tags:
        - Workflows
      summary: 워크플로 업데이트
      description: >-
        워크플로를 업데이트합니다. 버전 관리는 전송하는 `status` 필드와 해당 버전의 현재 상태에 따라 달라집니다. (1)
        **게시된(published)** 버전에 `status` 없음 → 게시된 버전이 해당 위치에서 직접 업데이트됨(동일한
        `uuid`, 동일한 `version`); (2) **임시 저장(draft)** 버전에 `status` 없음 → 임시 저장 버전이
        업데이트되고 즉시 게시됨; (3) **게시된** 버전에 `status: "published"` 지정 → 동일한
        `workflow_id` 아래에 새로운 게시 버전이 생성되어(새 `uuid`, `version` + 1) 반환되며 그룹의 기존
        임시 저장 버전은 삭제됨; (4) `status: "draft"`는 임시 저장 상태를 유지하지만(자동 저장), 이미 게시된
        버전에서는 400 오류와 함께 거부됨(`"Cannot revert a published version to draft."`).
        본문은 생성 시와 동일하게 엄격한 필드 허용 목록을 적용하므로 알 수 없는 키는 400 오류로 거부됩니다.
      operationId: update_workflow
      parameters:
        - name: settings_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: 업데이트할 워크플로의 버전별 UUID입니다.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SimpleWorkflowUpdateRequest'
            examples:
              Replace features:
                summary: 원하는 전체 기능 순서를 전송합니다
                value:
                  features:
                    - feature: OCR
                    - feature: AML
              Rename:
                summary: 워크플로 이름 바꾸기
                value:
                  workflow_label: Premium KYC
              Set as default:
                summary: 이 워크플로를 애플리케이션의 기본값으로 설정
                value:
                  is_default: true
              Update config:
                summary: 기능 설정 변경
                value:
                  features:
                    - feature: OCR
                    - feature: LIVENESS
                      config:
                        face_liveness_method: passive
              Publish a draft:
                summary: 초안을 게시 상태로 승격
                value:
                  status: published
      responses:
        '200':
          description: >-
            워크플로가 업데이트되었습니다. 본문은 결과 버전의 전체 구성입니다(`GET
            /v3/workflows/{settings_uuid}/`와 동일한 원시 `VerificationSettings` 형태).
            업데이트로 인해 새 버전이 생성된 경우(게시된 행에 `status: "published"` 전송), 반환된 `uuid` 및
            `version`은 패치한 항목과 다릅니다. 후속 호출에는 반환된 `uuid`를 사용하십시오.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowDetail'
        '400':
          description: >-
            검증 오류 — 허용 목록(whitelist) 외의 최상위 키, 알 수 없는 기능, 유효하지 않은 순서, 범위를 벗어난
            임계값, 존재하지 않는 설문지 참조, 서명할 문서 없이 프로덕션에 배포되려는 `SIGNATURE` 기능,
            Advanced(AES)를 사용할 수 없는 상태에서 `signature_level: "aes"`로 설정된 새로운
            `SIGNATURE` 기능(`aes_not_available`, 워크플로의 `signature_availability`
            참조. 이미 `aes`를 저장하고 있는 단계는 유지됨), 또는 게시된 버전에 대해 전송된 `status:
            "draft"`(`"Cannot revert a published version to draft."`). 응답 본문은 필드
            이름을 키로 하는 DRF 검증 오류입니다.
        '403':
          description: API 키가 누락되었거나 유효하지 않습니다.
          content:
            application/json:
              examples:
                Invalid token:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: 인증된 애플리케이션에 이 `settings_uuid`를 가진 워크플로가 존재하지 않습니다.
        '415':
          description: '지원되지 않는 미디어 유형입니다. `Content-Type: application/json`으로 설정하십시오.'
        '429':
          description: 속도 제한을 초과했습니다. 지수 백오프로 재시도하세요.
        '500':
          description: 예기치 않은 서버 오류가 발생했습니다. 안전하게 재시도할 수 있습니다.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: >-
            curl -X PATCH
            'https://verification.didit.me/v3/workflows/a1b2c3d4-5678-90ab-cdef-111111111111/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"workflow_label": "Premium KYC"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.workflows.update(
                "11111111-2222-3333-4444-555555555555",
                features=[{
                    "feature": "OCR",
                }, {
                    "feature": "AML",
                }],
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            const result = await
            didit.workflows.update("11111111-2222-3333-4444-555555555555", {
              features: [{
                feature: "OCR",
              }, {
                feature: "AML",
              }],
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Workflows.Update(ctx, \"11111111-2222-3333-4444-555555555555\", didit.SimpleWorkflowUpdateRequest{\n\tFeatures: didit.Some([]didit.SimpleWorkflowFeature{{\n\t\tFeature: \"OCR\",\n\t}, {\n\t\tFeature: \"AML\",\n\t}}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.SimpleWorkflowFeature;

            import me.didit.types.SimpleWorkflowUpdateRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.workflows().update("11111111-2222-3333-4444-555555555555",
            SimpleWorkflowUpdateRequest.builder()
                    .features(List.of(
                            SimpleWorkflowFeature.builder()
                                    .feature(SimpleWorkflowFeature.Feature.of("OCR"))
                                    .build(),
                            SimpleWorkflowFeature.builder()
                                    .feature(SimpleWorkflowFeature.Feature.of("AML"))
                                    .build()))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->workflows->update('11111111-2222-3333-4444-555555555555', [
                'features' => [[
                    'feature' => 'OCR',
                ], [
                    'feature' => 'AML',
                ]],
            ]);

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.workflows.update(
              "11111111-2222-3333-4444-555555555555",
              features: [{
                feature: "OCR",
              }, {
                feature: "AML",
              }]
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.Workflows.UpdateAsync("11111111-2222-3333-4444-555555555555",
            new SimpleWorkflowUpdateRequest

            {
                Features = new SimpleWorkflowFeature[]
                {
                    new()
                    {
                        Feature = "OCR",
                    },
                    new()
                    {
                        Feature = "AML",
                    },
                },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    SimpleWorkflowUpdateRequest:
      type: object
      description: >-
        워크플로 메타데이터를 업데이트하거나 전체 선형 기능 목록을 대체합니다. 엄격한 필드 화이트리스트가 적용됩니다. 여기에 나열되지
        않은 키는 400 오류와 함께 거부됩니다.
      properties:
        workflow_label:
          type: string
          maxLength: 50
          description: 워크플로의 표시 이름(최대 50자)입니다.
        is_default:
          type: boolean
          description: 이 워크플로를 새 세션의 기본값으로 설정합니다.
        status:
          type: string
          enum:
            - draft
            - published
          description: >-
            버전 관리를 제어합니다. 현재 버전을 즉시 업데이트하려면 생략하십시오(초안은 자동 게시됨). 이미 게시된 버전에 대해
            `published`를 지정하면 새 버전을 생성하여 반환합니다. `draft`는 해당 버전이 아직 초안 상태일 때만
            유효합니다.
        features:
          type: array
          minItems: 1
          description: 제공된 경우 전체 기능 순서 및 구성을 대체합니다.
          items:
            $ref: '#/components/schemas/SimpleWorkflowFeature'
        is_white_label_enabled:
          type: boolean
          description: 이 워크플로로 생성된 세션에 화이트 라벨 맞춤 설정을 활성화합니다.
        is_desktop_allowed:
          type: boolean
          description: 데스크톱 브라우저에서 인증 워크플로가 실행되도록 허용합니다.
        max_retry_attempts:
          type: integer
          minimum: 0
          maximum: 10
          description: 거부된 인증 후 허용되는 최대 재시도 횟수입니다. `0`은 첫 번째 거부 후 사용자를 차단합니다.
        retry_window_days:
          type: integer
          minimum: 1
          maximum: 365
          nullable: true
          description: 재시도 횟수를 계산하는 데 사용되는 롤링 윈도우 일수. `null`은 전체 기간 제한을 적용합니다.
        face_liveness_max_attempts:
          type: integer
          minimum: 1
          maximum: 3
          description: >-
            세션당 최대 라이브니스 제출 횟수입니다. 기능 수준 구성에서 이를 재정의하지 않는 한, 이 값은 생성된 라이브니스 및 연령
            추정 워크플로 노드에도 복사됩니다.
        face_match_max_attempts:
          type: integer
          minimum: 1
          maximum: 3
          description: >-
            세션당 최대 얼굴 대조 제출 횟수입니다. 기능 수준 구성에서 이를 재정의하지 않는 한, 이 값은 생성된 얼굴 대조 워크플로
            노드에도 복사됩니다.
        session_expiration_time:
          type: integer
          minimum: 3600
          maximum: 2419200
          description: 완료되지 않은 세션이 만료되기까지 남은 시간(초)입니다. 최소 1시간(3600), 최대 4주(2419200).
    WorkflowDetail:
      type: object
      description: >-
        아래 필드는 타입이 지정되어 있습니다. 또한 이 객체는 워크플로 설정의 다른 모든 열(기능 토글, 임계값, 경고 작업, 허용된
        문서, 콜백)을 추가 속성으로 전달합니다. `workflow_type`에 적용되지 않는 필드는 `null`입니다.
      properties:
        uuid:
          type: string
          format: uuid
          description: 버전별 식별자(`settings_uuid`)입니다. 워크플로의 모든 버전에는 고유한 식별자가 있습니다.
        workflow_id:
          type: string
          format: uuid
          description: 워크플로의 모든 버전에서 공유되는 안정적인 식별자입니다. 이 식별자로 생성된 세션은 게시된 최신 버전을 사용합니다.
        workflow_label:
          type: string
          description: 워크플로의 표시 이름입니다.
        workflow_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - adaptive_age_verification
            - biometric_authentication
            - address_verification
            - questionnaire_verification
            - email_verification
            - phone_verification
            - null
          description: 워크플로 템플릿입니다. 템플릿 없이 생성된 그래프 워크플로의 경우 `null`입니다.
        is_default:
          type: boolean
          description: 이 워크플로가 애플리케이션의 기본 워크플로인지 여부입니다.
        is_archived:
          type: boolean
          description: 보관된 워크플로는 새 세션을 시작할 수 없습니다.
        version:
          type: integer
          description: 워크플로 내의 버전 번호입니다.
        status:
          type: string
          enum:
            - draft
            - published
          description: 초안 버전은 편집할 수 있으며, 게시된 버전은 변경할 수 없고 새 세션에 사용됩니다.
        published_at:
          type: string
          format: date-time
          nullable: true
          description: 이 버전이 게시된 시점입니다. 초안의 경우 `null`입니다.
        is_simple_workflow:
          type: boolean
          description: 워크플로에 사용자 지정 `workflow_graph`가 없는 경우 `true`입니다.
        is_editable:
          type: boolean
          description: '`draft` 버전인 경우에만 `true`입니다.'
        workflow_url:
          type: string
          format: uri
          description: 이 워크플로로 세션을 시작하는 공개 URL입니다.
        workflow_graph:
          type: object
          nullable: true
          additionalProperties: true
          description: 워크플로의 그래프 구조(노드 및 에지)입니다. 단순 워크플로의 경우 `null`입니다.
        features:
          type: string
          description: '`" + "`로 연결된 활성화된 기능입니다(예: `"OCR + LIVENESS"`).'
        total_price:
          type: number
          nullable: true
          description: 세션당 가격입니다. 그래프 워크플로의 경우 가장 비싼 경로의 가격입니다.
        min_price:
          type: number
          nullable: true
          description: 워크플로에서 가장 저렴한 경로의 가격입니다.
        max_price:
          type: number
          nullable: true
          description: 워크플로에서 가장 비싼 경로의 가격입니다.
        special_add_on_prices:
          type: object
          nullable: true
          additionalProperties: true
          description: 조직별 부가 기능 가격이며, 설정되지 않은 경우 `null`입니다.
        max_retry_attempts:
          type: integer
          description: 거부된 인증 후 허용되는 재시도 횟수입니다.
        retry_window_days:
          type: integer
          nullable: true
          description: 재시도가 허용되는 일수.
        session_expiration_time:
          type: integer
          description: 완료되지 않은 세션이 만료되기까지 남은 시간(초).
        questionnaire:
          type: object
          nullable: true
          additionalProperties: true
          description: 워크플로에 연결된 설문지 또는 `null`입니다.
        kyb_role_settings:
          type: array
          items:
            type: object
            additionalProperties: true
          description: KYB 주요 인물에 대한 역할별 인증 설정입니다.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        signature_availability:
          type: object
          description: >-
            현재 서명 가능한 전자 서명 등급입니다. `signature_level`을 설정하기 전에 확인하십시오. `kyc`,
            `kyb` 및 그래프 워크플로에서 반환됩니다.
          properties:
            simple:
              type: boolean
              description: Simple은 항상 사용할 수 있습니다.
            aes:
              type: boolean
              description: >-
                고급 전자 서명(AES)으로 지금 서명할 수 있는지 여부입니다. `false`인 동안
                `signature_level: "aes"`로 새 단계를 저장하면 `aes_not_available` 오류와 함께
                거부됩니다.
            qes:
              type: boolean
              description: 적격 전자 서명(QES)으로 지금 서명할 수 있는지 여부입니다. 적격 제공업체가 연결될 때까지 `false`입니다.
        is_bank_verification_enabled:
          type: boolean
          description: >-
            단순 KYC 또는 KYB 워크플로가 은행 확인을 실행하는지 여부입니다. 연락처 단계(및 위치 확인) 이후, 데이터베이스
            검증, AML 및 IP 분석 이전에 실행됩니다. 은행 확인은 아직 일반에 공개되지 않았으며, 활성화되지 않은 환경에서
            켜려고 하면 거부됩니다.
        bank_verification_config:
          type: object
          additionalProperties: true
          description: >-
            `BANK_VERIFICATION` 노드가 사용하는 것과 동일한 키(예: `bank_countries` 및
            `bank_method_order`)를 사용하는 단순 워크플로의 은행 인증 설정입니다. 알 수 없는 키는 삭제됩니다. 모든
            키는 선택 사항이며 누락된 키는 기본값을 유지하므로 `{}`는 모든 기본값을 의미합니다. [은행 인증
            설정](/ko/management-api/workflows/feature-configs#은행-인증)을 참조하십시오.
          example: {}
        is_geolocation_enabled:
          type: boolean
          description: >-
            단순 KYC 워크플로가 위치 확인을 실행하는지 여부입니다. 연락처 단계 이후, 은행 확인 및 데이터베이스 검증 이전에
            실행됩니다. 기업(KYB) 워크플로에서는 실행할 수 없습니다.
        geolocation_config:
          type: object
          additionalProperties: true
          description: >-
            간단한 워크플로의 위치 확인 설정으로, `GEOLOCATION` 노드가 사용하는 것과 동일한 키(예:
            `is_geolocation_geofencing_enabled` 및 `geolocation_max_attempts`)를
            갖습니다. 알 수 없는 키는 삭제됩니다. 모든 키는 선택 사항이며 누락된 키는 기본값을 유지하므로 `{}`는 모든 기본값을
            의미합니다.
          example: {}
      additionalProperties: true
    SimpleWorkflowFeature:
      type: object
      required:
        - feature
      properties:
        feature:
          type: string
          description: 실행할 기능입니다. 여기에 표시된 대문자 값을 사용하십시오.
          enum:
            - OCR
            - NFC
            - LIVENESS
            - FACE_MATCH
            - PROOF_OF_ADDRESS
            - QUESTIONNAIRE
            - DOCUMENT_AI
            - PHONE_VERIFICATION
            - EMAIL_VERIFICATION
            - DATABASE_VALIDATION
            - AML
            - IP_ANALYSIS
            - AGE_ESTIMATION
            - KYB_REGISTRY
            - KYB_DOCUMENTS
            - KYB_KEY_PEOPLE
            - SIGNATURE
        config:
          type: object
          description: >-
            기능별 설정입니다. `QUESTIONNAIRE`의 경우 설문지 생성 endpoint에서 반환된
            `questionnaire_id`와 함께 `questionnaire_uuid`를 포함합니다. `SIGNATURE`의 경우
            라이브로 전환되는 워크플로에 서명할 문서가 필요합니다. 각 세션이 자체 문서를 가져올 수 있도록
            `signature_documents_source`를 `session` 또는 `both`로 설정하거나, `status:
            "draft"`를 전송하고 게시하기 전에 문서를 추가하세요. 워크플로에서
            `signature_availability.aes`가 `false`인 동안에는 `signature_level:
            "aes"`가 `aes_not_available` 오류와 함께 거부됩니다. `OCR`의 경우 `methods`는 각
            국가에서 사용할 수 있는 신분증 인증 방법을 선택합니다(문서 촬영, 정부 또는 기타 공신력 있는 출처를 통한 비문서 조회,
            디지털 신원 지갑). 생략할 경우 모든 국가는 문서 촬영 전용이 됩니다. `SIGNATURE`의 경우 [전자 서명
            설정](/ko/management-api/workflows/feature-configs#전자-서명)을 참조하세요. 현재
            `signature_level`은 `simple`(기본값, 신분증 인증, 이메일 또는 전화번호 불필요) 및 `aes`를
            허용하며, 워크플로 문서 및 해당 필드는 콘솔에서 관리되므로 API를 통해 세션당 문서 및 필드를
            `signature_documents_source: "session"`으로 전송하세요.
          additionalProperties: true
        label:
          type: string
          description: 이 워크플로 노드에 대한 선택적 내부 라벨입니다.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본
        키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며
        특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나
        만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된
        IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를
        벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write
        권한이 없는 키는 세션 링크와 token을 null로 수신합니다.
        https://docs.didit.me/console/api-keys 를 참고하십시오.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.