> ## 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

> Didit API로 KYT 규칙의 임계값, 조건, 작업을 수정하고 TEST, ACTIVE, DISABLED 모드를 전환하세요. 라이브러리 프리셋은 모드만 변경할 수 있습니다.



규칙 업데이트 API 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`Update a transaction-monitoring rule.

Endpoint:
PATCH https://verification.didit.me/v3/transactions/rules/{rule_uuid}/

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

Request body (application/json, partial - send only what changes):
\{ "mode": "ACTIVE" }
or any of: title, description, category, mode, evaluation_mode, scope, conditions, aggregation, actions, metadata.

Behavior:
\- CUSTOM rules accept every field, with the same validation as create.
\- Library (PRESET) rules accept ONLY "mode" - use it to activate, disable, or switch a preset to TEST. Any other field returns 400 naming the offending keys.
\- Changes take effect immediately for new transactions.
\- The typical activation call after a successful backtest is exactly {"mode": "ACTIVE"}.

Failure modes:
\- 400 - validation error, or a non-mode field on a library rule.
\- 404 - unknown rule uuid for this application.`

\</pre>



      
      

붙여넣을 곳



## OpenAPI

````yaml ko/openapi-25.json PATCH /v3/transactions/rules/{rule_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/transactions/rules/{rule_uuid}/:
    parameters:
      - name: rule_uuid
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: 목록 조회 또는 생성 시 반환된 규칙의 uuid입니다.
    patch:
      tags:
        - Transactions
      summary: 규칙 업데이트
      description: >-
        규칙을 부분 업데이트합니다. 커스텀 규칙은 모든 구성 필드를 허용합니다. 라이브러리(PRESET) 규칙은 `mode`만
        허용합니다. 프리셋을 활성화, 비활성화하거나 TEST로 전환하는 데 사용하세요. Didit이 라이브러리 규칙을 유지 관리하고
        업데이트를 자동으로 적용하므로 다른 필드를 전달하면 400이 반환됩니다. 라이브러리 규칙의 조건을 변경하려면 라이브러리 규칙의
        정의와 `metadata.based_on`(라이브러리 키) 및 `metadata.based_on_rule_uuid`를 사용하여
        `POST /v3/transactions/rules/`로 커스텀 사본을 생성한 다음, 거래에서 중복 알림이 발생하지 않도록
        라이브러리 규칙을 `mode: DISABLED`로 끕니다. 보류된 라이브러리 규칙의 설치된 사본은 비활성화됩니다. `mode`를
        `DISABLED` 이외의 값으로 설정하면 400("This library rule cannot run yet: its
        conditions read data the rules engine cannot evaluate.")으로 응답합니다.
      operationId: updateTransactionRule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRuleUpdateRequest'
            example:
              mode: ACTIVE
      responses:
        '200':
          description: 업데이트된 규칙입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionRuleDetail'
        '400':
          description: 유효성 검사 오류, 라이브러리 규칙의 비모드 필드, 또는 보류된 라이브러리 규칙에서 DISABLED가 아닌 모드입니다.
          content:
            application/json:
              schema:
                type: object
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X PATCH
            'https://verification.didit.me/v3/transactions/rules/RULE_UUID/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"mode": "ACTIVE"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.transactions.rules.update(
                "11111111-2222-3333-4444-555555555555",
                mode="ACTIVE",
            )
            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.transactions.rules.update("11111111-2222-3333-4444-555555555555",
            {
              mode: "ACTIVE",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Transactions.Rules.Update(ctx, \"11111111-2222-3333-4444-555555555555\", didit.TransactionRuleUpdateRequest{\n\tMode: didit.Some(didit.TransactionRuleUpdateRequestMode(\"ACTIVE\")),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.TransactionRuleUpdateRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.transactions().rules().update("11111111-2222-3333-4444-555555555555",
            TransactionRuleUpdateRequest.builder()
                    .mode(TransactionRuleUpdateRequest.Mode.of("ACTIVE"))
                    .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->transactions->rules->update('11111111-2222-3333-4444-555555555555',
            [
                'mode' => 'ACTIVE',
            ]);

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

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

            result = didit.transactions.rules.update(
              "11111111-2222-3333-4444-555555555555",
              mode: "ACTIVE"
            )
            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.Transactions.Rules.UpdateAsync("11111111-2222-3333-4444-555555555555",
            new TransactionRuleUpdateRequest

            {
                Mode = new TransactionRuleUpdateRequestMode("ACTIVE"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TransactionRuleUpdateRequest:
      type: object
      properties:
        title:
          type: string
          description: 규칙 이름. 삭제되지 않은 규칙 중에서 애플리케이션당 고유해야 하며, 중복 시 400을 반환합니다.
        description:
          type: string
          nullable: true
        category:
          type: string
          description: >-
            그룹화 및 보고에 사용되는 위험 테마(예: finance, aml_ctf, anomaly_detection, fatf,
            device_intelligence, crypto_monitoring, travel_rule,
            responsible_gaming, e_commerce).
        mode:
          type: string
          enum:
            - ACTIVE
            - DISABLED
            - TEST
          description: >-
            ACTIVE는 실시간으로 평가합니다. TEST는 규칙 실행을 평가하고 기록하지만 점수나 상태는 변경하지 않는 권장 시작
            모드입니다. DISABLED는 건너뜁니다.
        evaluation_mode:
          type: string
          enum:
            - ALL
            - ANY
          default: ALL
          description: >-
            모든 조건이 일치해야 하는지(ALL), 아니면 하나 이상 일치해야 하는지(ANY) 여부입니다. 조건에
            group_index가 사용된 경우 무시됩니다.
        scope:
          $ref: '#/components/schemas/TransactionRuleScope'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleCondition'
        aggregation:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleAggregation'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleAction'
        metadata:
          type: object
          description: 규칙에 저장된 자유 형식 메타데이터입니다.
      description: >-
        부분 업데이트입니다. 커스텀 규칙은 모든 필드를 허용하지만, 라이브러리(PRESET) 규칙은 mode만 허용하며 그 외의 값은
        400을 반환합니다.
    TransactionRuleDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        title:
          type: string
          description: 규칙 이름. 삭제되지 않은 규칙 중에서 애플리케이션당 고유해야 하며, 중복 시 400을 반환합니다.
        description:
          type: string
          nullable: true
        category:
          type: string
          description: >-
            그룹화 및 보고에 사용되는 위험 테마(예: finance, aml_ctf, anomaly_detection, fatf,
            device_intelligence, crypto_monitoring, travel_rule,
            responsible_gaming, e_commerce).
        mode:
          type: string
          enum:
            - ACTIVE
            - DISABLED
            - TEST
          description: >-
            ACTIVE는 실시간으로 평가합니다. TEST는 규칙 실행을 평가하고 기록하지만 점수나 상태는 변경하지 않는 권장 시작
            모드입니다. DISABLED는 건너뜁니다.
        evaluation_mode:
          type: string
          enum:
            - ALL
            - ANY
          default: ALL
          description: >-
            모든 조건이 일치해야 하는지(ALL), 아니면 하나 이상 일치해야 하는지(ANY) 여부입니다. 조건에
            group_index가 사용된 경우 무시됩니다.
        scope:
          $ref: '#/components/schemas/TransactionRuleScope'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleCondition'
        aggregation:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleAggregation'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRuleAction'
        metadata:
          type: object
          description: 규칙에 저장된 자유 형식 메타데이터입니다.
        severity:
          type: string
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
          nullable: true
          description: 라이브러리 규칙에 의해 전달되는 정보 제공용 심각도이며, 사용자 지정 규칙에서는 설정할 수 없습니다.
        source:
          type: string
          enum:
            - PRESET
            - CUSTOM
          description: >-
            PRESET 규칙은 라이브러리에서 제공되며(설치/제거, 모드 전용 편집), CUSTOM 규칙은 전적으로 사용자가
            정의합니다.
        library_key:
          type: string
          nullable: true
          description: 고정 라이브러리 식별자입니다. 사용자 정의 규칙의 경우 null입니다.
        latest_triggered_at:
          type: string
          format: date-time
          nullable: true
        run_count:
          type: integer
          description: 이 규칙과 일치한 거래 수입니다.
        approved_count:
          type: integer
        reviewed_count:
          type: integer
        declined_count:
          type: integer
        awaiting_user_count:
          type: integer
        approved_pct:
          type: number
        reviewed_pct:
          type: number
        declined_pct:
          type: number
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    TransactionRuleScope:
      type: object
      properties:
        transaction_types:
          type: array
          items:
            type: string
          description: >-
            finance, kyc, travel_rule, user_event 등 거래 유형으로 제한합니다. 비어 있거나 누락된 경우
            = 제한 없음.
        directions:
          type: array
          items:
            type: string
            enum:
              - INBOUND
              - OUTBOUND
          description: 거래 방향으로 제한합니다(작성 시 대소문자 구분 없음).
        action_types:
          type: array
          items:
            type: string
          description: withdrawal, deposit 등 action_type 값으로 제한합니다.
      description: 규칙이 적용되는 거래입니다. 이 세 가지 키만 허용됩니다.
    TransactionRuleCondition:
      type: object
      required:
        - field
        - operator
      properties:
        field:
          type: string
          description: >-
            평가할 거래 필드 경로입니다. 핵심 필드: amount, currency, direction, action_type,
            score, severity, transaction_type, payment_details,
            preferred_currency_amount(amount_in_default_currency로 대체됨),
            default_currency_code, subject_country, counterparty_country,
            subject_vendor_data, counterparty_vendor_data,
            subject_device_fingerprint, counterparty_device_fingerprint,
            subject_browser_family, subject_browser_version, subject_platform,
            subject_accept_language, subject_session_age_ms, subject_ip_country,
            counterparty_ip_country, subject_ip_address,
            counterparty_ip_address, subject_payment_method_type,
            subject_payment_method_country, subject_payment_method_fingerprint,
            subject_payment_method_account_id(및 이에 상응하는
            counterparty_payment_method_* 필드), travel_rule_status,
            travel_rule_required, travel_rule_obligations_count,
            counterparty_dd_status(Travel Rule 거래 상대방에 대한 귀하의 결정: APPROVED,
            RESTRICTED 또는 BLOCKED, 해당 브랜드의 결정을 따르는 엔티티),
            counterparty_risk_level(LOW, MEDIUM 또는 HIGH. 자체 거래 상대방 스크리닝에서 플래그가
            지정된 동안에는 HIGH), counterparty_jurisdiction(상대방 VASP의 국가),
            counterparty_responsiveness(RESPONSIVE, UNRESPONSIVE 또는 UNKNOWN),
            subject_days_since_previous_transaction, tags, 그리고 거래 생성 시
            custom_properties로 제출된 모든 키에 대한 custom_values.<key>입니다. 국가 코드 필드는
            ISO-2 또는 ISO-3 형식을 허용하며, 비교 전에 양측 모두 ISO-3 형식으로 정규화됩니다.
        operator:
          type: string
          enum:
            - eq
            - ne
            - gt
            - gte
            - lt
            - lte
            - in
            - not_in
            - contains
            - not_contains
            - contains_any
            - regex
            - fuzzy_match
            - exists
            - is_not_empty
            - is_not_null
            - not_exists
            - is_empty
            - is_null
          description: >-
            비교 연산자입니다. in/not_in은 포함 여부를 테스트합니다(값은 목록 또는 단일 스칼라일 수 있음).
            contains/not_contains는 문자열 값에 대한 대소문자를 구분하지 않는 하위 문자열 확인입니다.
            contains_any는 문자열 목록을 받아서 필드 값의 대소문자를 구분하지 않는 하위 문자열과 하나라도 일치하면 참이
            됩니다. regex는 필드에 값 패턴을 대조합니다. fuzzy_match는 필수 `score` 임계값(0-100)을
            사용하여 값 문자열과 비교합니다. gt/gte/lt/lte는 어느 한쪽이라도 누락된 경우 일치하지 않습니다.
            exists/is_not_empty/is_not_null(별칭) 및
            not_exists/is_empty/is_null(별칭)은 `value`를 무시하는 존재 여부 확인입니다.
        value:
          description: >-
            비교 값입니다. 형태는 연산자와 value_type에 따라 달라집니다. 존재 여부 확인 연산자에서는 생략하세요. 다른 모든
            연산자에는 `null`이나 빈 목록이 아닌 값이 필요하며, 그렇지 않으면 규칙이 `400`으로 거부됩니다.
            `contains_any`에는 문자열 목록이 필요하고, `contains`, `not_contains`, `regex`에는
            단일 문자열이 필요합니다.
        value_type:
          type: string
          enum:
            - list
            - field
            - relative_date
          description: >-
            선택 사항인 값 해석 방식입니다. `list`: 값은 목록 UUID이며 목록의 항목이 비교 값이 됩니다. `field`:
            값은 다른 필드 경로이며 필드 대 필드로 비교됩니다. `relative_date`: 값은 상대 날짜 객체입니다(예:
            {"direction": "past", "unit": "days", "amount": 30}).
        score:
          type: number
          minimum: 0
          maximum: 100
          description: 'operator가 fuzzy_match일 때 필수: 0-100 유사도 임계값입니다.'
        group_index:
          type: integer
          description: >-
            선택적 그룹화 로직입니다. 조건에 group_index가 포함되어 있으면 동일한 인덱스를 공유하는 조건들이 그룹을
            형성하며, 그룹화된 평가가 evaluation_mode를 대체합니다.
        group_logic:
          type: string
          enum:
            - AND
            - OR
          default: AND
          description: 그룹 내에서 조건들이 결합되는 방식입니다.
        groups_logic:
          type: string
          enum:
            - AND
            - OR
          default: OR
          description: 그룹 간에 그룹 결과가 결합되는 방식입니다. 첫 번째 조건에서 읽습니다.
      description: 조건은 평가 중인 거래만 읽으며, 집계 윈도우를 필터링하지 않습니다.
    TransactionRuleAggregation:
      type: object
      required:
        - value
      properties:
        metric:
          type: string
          enum:
            - count
            - sum
            - max
            - min
            - avg
            - distinct_count
          default: count
          description: 일치하는 과거 거래가 집계되는 방식입니다. unique_count는 distinct_count의 별칭으로 허용됩니다.
        field:
          type: string
          default: amount
          description: sum/max/min/avg/distinct_count로 집계된 필드입니다. count의 경우 무시됩니다.
        operator:
          type: string
          enum:
            - eq
            - ne
            - gt
            - gte
            - lt
            - lte
          default: eq
          description: 계산된 지표에 적용된 비교입니다.
        value:
          type: number
          description: 계산된 지표가 비교되는 임계값입니다.
        window:
          type: string
          pattern: ^\d+(m|h|d)$
          default: 1d
          description: >-
            거래의 txn_date로 끝나는 룩백 윈도우: <N>m(월이 아닌 분 단위), <N>h(시간) 또는 <N>d(일), 예:
            30m, 24h, 7d, 30d.
        filters:
          type: object
          additionalProperties: true
          description: >-
            집계할 과거 거래를 좁힙니다. 키는 조건 필드 카탈로그의 필드 경로이며, "__current__" 값은 평가 중인 거래의
            동일한 필드 값으로 확인됩니다(예: {"subject_vendor_data": "__current__"}는 윈도우 범위를
            동일한 주체로 한정함). 목록 값은 멤버십을 의미합니다. 그룹화된 값이 없는 레코드는 함께 그룹화되지 않습니다. 평가 중인
            거래에 "__current__" 필드에 대한 값이 없는 경우(거래 상대방 없음, 기기 지문 없음), 연산자에 관계없이
            집계가 일치하지 않습니다. 필터는 일치 여부 또는 멤버십으로만 비교합니다. lt/gte 필터가 없으므로 "10,000
            미만의 과거 거래"와 같은 범위는 여기서 표현할 수 없습니다. 대신 메트릭에 범위를 지정하세요(연산자가 lt인 메트릭
            max는 윈도우 내의 모든 거래를 임계값 미만으로 유지함).
      description: >-
        윈도우 내 애플리케이션의 과거 거래에 대한 빈도 검사(velocity check)입니다. evaluation_mode와 관계없이
        규칙이 일치하려면 모든 집계 항목이 일치해야 합니다. 집계는 윈도우만 제한하며, 평가 대상 거래는 범위와 조건에 의해 제한되므로
        규칙에 필요한 경우 양쪽 모두에 direction, currency 또는 transaction_type을 반복해 지정해야 합니다.
    TransactionRuleAction:
      oneOf:
        - $ref: '#/components/schemas/TransactionRuleActionAddScore'
        - $ref: '#/components/schemas/TransactionRuleActionChangeStatus'
        - $ref: '#/components/schemas/TransactionRuleActionAddTags'
        - $ref: '#/components/schemas/TransactionRuleActionAddNote'
        - $ref: '#/components/schemas/TransactionRuleActionAddToList'
        - $ref: '#/components/schemas/TransactionRuleActionOpenCase'
      discriminator:
        propertyName: type
        mapping:
          add_score: '#/components/schemas/TransactionRuleActionAddScore'
          change_status: '#/components/schemas/TransactionRuleActionChangeStatus'
          add_tags: '#/components/schemas/TransactionRuleActionAddTags'
          add_note: '#/components/schemas/TransactionRuleActionAddNote'
          add_to_list: '#/components/schemas/TransactionRuleActionAddToList'
          open_case: '#/components/schemas/TransactionRuleActionOpenCase'
      description: >-
        규칙 작업 하나입니다. 하나의 규칙에 여러 작업이 포함될 수 있으며, 규칙이 일치할 때 모두 함께 적용됩니다. TEST 모드의
        규칙은 어떤 작업도 적용하지 않고 수행되었을 내용만 기록합니다.
    TransactionRuleActionAddScore:
      type: object
      required:
        - type
        - value
      properties:
        type:
          type: string
          enum:
            - add_score
        value:
          type: integer
          description: 거래의 위험 점수에 추가된 점수입니다. 음수일 수 있습니다.
      description: 거래의 누적 위험 점수에 점수를 추가합니다. 총합에 따라 애플리케이션의 검토/거부 임계값을 통해 상태가 결정됩니다.
    TransactionRuleActionChangeStatus:
      type: object
      required:
        - type
        - value
      properties:
        type:
          type: string
          enum:
            - change_status
        value:
          type: string
          enum:
            - APPROVED
            - IN_REVIEW
            - DECLINED
            - AWAITING_USER
          description: '점수와 관계없이 즉시 설정할 상태입니다. 별칭 키: status.'
        workflow_id:
          type: string
          format: uuid
          description: >-
            값이 AWAITING_USER일 때 필수: 대상자가 완료하도록 요청받은 인증 워크플로입니다. 별칭 키:
            remediation_workflow_id. 규칙이 트리거되면 Didit은 대상자를 위한 호스팅 문제 해결 세션을
            생성합니다.
      description: 거래 상태를 직접 설정합니다. 일치하는 규칙들 사이에서 DECLINED가 항상 우선 적용됩니다.
    TransactionRuleActionAddTags:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - add_tags
        tag_uuid:
          type: string
          format: uuid
          description: 연결할 기존 애플리케이션 태그입니다.
        tag_name:
          type: string
          description: >-
            연결할 태그 이름입니다. 처음 사용할 때 생성됩니다(대문자로 저장됨). tag_uuid 또는 tag_name을
            제공하십시오.
        tag_color:
          type: string
          description: 'tag_name으로 새 태그를 생성할 때 사용되는 16진수 색상 코드입니다(예: #007AFE).'
      description: 일치하는 거래에 애플리케이션 태그를 첨부합니다.
    TransactionRuleActionAddNote:
      type: object
      required:
        - type
        - note
      properties:
        type:
          type: string
          enum:
            - add_note
        note:
          type: string
          description: '거래에 첨부된 메모 텍스트입니다(작성자: Rule Engine). 별칭 키: 값.'
      description: 일치하는 거래에 자동 분석가 메모를 첨부합니다.
    TransactionRuleActionAddToList:
      type: object
      required:
        - type
        - list_id
      properties:
        type:
          type: string
          enum:
            - add_to_list
        list_id:
          type: string
          format: uuid
          description: 주체의 vendor_data를 추가할 목록입니다.
      description: 대상자의 vendor_data를 차단 목록, 허용 목록 또는 사용자 지정 목록에 추가합니다.
    TransactionRuleActionOpenCase:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - open_case
        blueprint:
          type: string
          format: uuid
          description: 케이스 블루프린트 UUID. 기본값은 애플리케이션의 기본 블루프린트입니다.
        grouping:
          type: string
          enum:
            - by_applicant
            - by_rule_and_applicant
          description: 반복 일치 항목이 신청자당 하나의 케이스로 통합되는지, 아니면 규칙+신청자당 하나로 통합되는지 여부입니다.
        attach_matched_transaction:
          type: boolean
          description: 일치하는 거래를 케이스에 첨부합니다.
      description: 조사 케이스를 열거나 기존 케이스에 추가합니다. 규칙에서 첫 번째 open_case 작업만 적용됩니다.
  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.