> ## 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로 케이스의 제목, 우선순위, 마감일, 태그 또는 담당 검토 팀을 변경합니다. 전송한 필드만 변경되며 주요 변경 사항은 케이스 타임라인에 기록됩니다.



케이스 API 업데이트 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\`Update a case's title, priority, due date, tags or owning review team through the Management API.

Endpoint:
PATCH https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/

Authentication:
Use the x-api-key header with my Didit API key.
Cases endpoints need a full-access API key: a key with restricted access gets 403.

Request body (partial: send only the fields to change, omitted fields keep their value):
\{"priority": "HIGH", "due_at": "2026-11-01T00:00:00Z", "team": "<review-team-uuid>"}
\- title - string, at most 255 characters.
\- priority - LOW | MEDIUM | HIGH.
\- due_at - ISO 8601 datetime, or null to clear the deadline.
\- tags - array of strings. Replaces the whole tag list, so send every tag the case should keep.
\- team - uuid of an active review team of this application, or null to clear the team.

Getting a team uuid:
GET https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/teams/ (same full-access key; a console member token needs list:cases) returns results[] with uuid, name and is_active. Only a team with is_active true is accepted.

Behavior:
\- Logs PRIORITY_CHANGED, DUE_DATE_CHANGED, TAG_ADDED, TAG_REMOVED and TEAM_CHANGED events on the case when the value changes.
\- A title change is saved without a timeline event.
\- A TEAM_CHANGED event records the previous and new team as {uuid, name} in its metadata.
\- Changing the team does not reassign the case.

Example call:
curl -X PATCH "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"team": "<review-team-uuid>"}'

Response 200: the updated CaseDetail, the same shape as get case, including team {uuid, name} or null.

Failure modes:
\- 400: a field failed validation, keyed by field. Example: {"team": ["Choose an active team of this application."]} when the team is inactive, deleted, or belongs to another application.
\- 401/403: auth/permission errors. A key with restricted access gets 403 {"detail": "This API key has no access to this endpoint."} (cases need a full-access key). A console member token needs write:cases.
\- 404: case not found in this application.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

붙여넣을 곳

케이스의 제목, 우선순위, 마감일, 태그 또는 담당 검토 팀을 변경합니다.
변경할 필드만 보내십시오. 생략한 필드는 현재 값을 유지합니다.
`tags`는 태그 목록 전체를 대체합니다. 케이스에 남겨 둘 모든 태그를 함께 보내십시오.## 담당 팀 변경`team`은 이 애플리케이션의 활성 검토 팀 uuid로 설정하거나, 지우려면 `null`로 설정합니다.
팀의 uuid를 찾으려면 `GET /v3/organization/{organization_id}/application/{application_id}/cases/teams/`를 호출하고 `results[].uuid`를 읽으십시오.
비활성 상태이거나, 삭제되었거나, 다른 애플리케이션에 속한 팀이면 `400`과 `{"team": ["Choose an active team of this application."]}`를 반환합니다.
팀을 변경할 때마다 이전 팀과 새 팀을 담은 `TEAM_CHANGED` 이벤트가 케이스 타임라인에 추가됩니다.
팀을 변경해도 케이스가 할당된 담당자는 바뀌지 않습니다.## 타임라인 이벤트우선순위, 마감일, 태그 또는 팀을 변경하면 케이스 타임라인에 `PRIORITY_CHANGED`, `DUE_DATE_CHANGED`, `TAG_ADDED`, `TAG_REMOVED` 또는 `TEAM_CHANGED` 이벤트가 추가됩니다.
제목 변경은 타임라인 이벤트 없이 저장됩니다.
현재 값과 같은 값을 보내도 이벤트는 추가되지 않습니다.## 접근 권한케이스 엔드포인트에는 전체 접근 권한이 있는 [API 키](https://docs.didit.me/ko/console/api-keys.md)가 필요합니다.
접근이 제한된 키로 요청하면 `403`을 받습니다.
콘솔 멤버 토큰에는 `write:cases` 권한이 필요합니다.## 관련 항목- [케이스 조회](https://docs.didit.me/ko/management-api/cases/get.md)
- [케이스 목록 조회](https://docs.didit.me/ko/management-api/cases/list.md)
- [할당 및 검토 팀(콘솔)](https://docs.didit.me/ko/console/case-management/assignment.md#팀)


## OpenAPI

````yaml ko/openapi-25.json PATCH /v3/organization/{organization_id}/application/{application_id}/cases/{case_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/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/:
    patch:
      tags:
        - Cases
      summary: 케이스 업데이트
      description: >-
        케이스의 제목, 우선순위, 마감일, 태그 또는 소유 검토 팀을 업데이트합니다. 변경하려는 필드만 전송하세요. 생략된 필드는 기존
        값을 유지합니다. `tags`는 전체 태그 목록을 대체합니다. `team`에는 이 애플리케이션의 활성 검토 팀의 uuid를
        지정하거나(`GET .../cases/teams/`로 목록 조회), 팀 지정을 해제하려면 null을 지정합니다. 전체 액세스
        API 키 또는 콘솔 멤버의 경우 `write:cases` 권한이 필요합니다. 접근 권한이 제한된 키는 403을 받습니다.
        해당하는 경우 PRIORITY_CHANGED, DUE_DATE_CHANGED, TAG_ADDED, TAG_REMOVED,
        TEAM_CHANGED 이벤트를 기록합니다. 제목 변경은 타임라인 이벤트 없이 저장됩니다. 업데이트된 케이스를 반환합니다.
      operationId: update_case
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: 조직 UUID입니다.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: 애플리케이션 UUID입니다.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: 케이스 UUID.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  maxLength: 255
                  description: 새 케이스 제목입니다.
                priority:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                due_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: 새 마감 기한입니다. 초기화하려면 null을 전송하세요.
                tags:
                  type: array
                  items:
                    type: string
                  description: 전체 태그 목록입니다. 현재 태그를 대체합니다.
                team:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    케이스를 소유한 검토 팀의 UUID입니다. 이 애플리케이션의 활성 팀이어야 합니다. 팀 지정을 해제하려면
                    null을 전송하십시오.
            examples:
              Change priority and deadline:
                value:
                  priority: HIGH
                  due_at: '2026-11-01T00:00:00Z'
              Move the case to a team:
                value:
                  team: 3fa85f64-5717-4562-b3fc-2c963f66afa6
              Clear the team:
                value:
                  team: null
      responses:
        '200':
          description: 업데이트된 케이스입니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseDetail'
        '400':
          description: >-
            필드 유효성 검사에 실패했습니다. 본문은 필드 이름을 키로 사용합니다. `team`이 이 애플리케이션의 활성 검토 팀이
            아닌 경우 거부됩니다.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              examples:
                Team not active in this application:
                  value:
                    team:
                      - Choose an active team of this application.
                Invalid priority:
                  value:
                    priority:
                      - '"URGENT" is not a valid choice.'
        '403':
          description: >-
            API 키가 다른 애플리케이션에 속해 있거나 접근 권한이 제한된 키입니다. Cases 엔드포인트에는 전체 접근 권한 키가
            필요합니다. 콘솔 멤버 토큰에는 `write:cases` 권한이 필요합니다.
          content:
            application/json:
              examples:
                Restricted API Key:
                  summary: 액세스가 제한된 API 키
                  value:
                    detail: This API key has no access to this endpoint.
                Missing Privilege:
                  summary: write:cases 권한이 없는 콘솔 멤버이거나 다른 애플리케이션의 키입니다.
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: 이 애플리케이션에서 케이스를 찾을 수 없습니다.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No Case matches the given query.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X PATCH
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"priority": "HIGH", "due_at": "2026-08-01T00:00:00Z"}'
        - lang: curl
          label: curl (change team)
          source: >-
            curl -X PATCH
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/c1a5e000-0000-4000-8000-000000000001/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"team": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            client = Didit()

            result = client.cases.update(
                "c1a5e000-0000-4000-8000-000000000001",
                priority="HIGH",
                due_at="2026-11-01T00:00:00Z",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            const didit = new Didit();


            const result = await
            didit.cases.update("c1a5e000-0000-4000-8000-000000000001", {
              priority: "HIGH",
              due_at: "2026-11-01T00:00:00Z",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID\n// and DIDIT_APPLICATION_ID.\nclient := didit.NewClient()\n\nresult, err := client.Cases.Update(ctx, \"c1a5e000-0000-4000-8000-000000000001\", didit.CasesUpdateParams{\n\tPriority: didit.Some(didit.CasesUpdateParamsPriority(\"HIGH\")),\n\tDueAt:    didit.Time(time.Date(2026, 11, 1, 0, 0, 0, 0, time.UTC)),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.time.OffsetDateTime;

            import me.didit.Didit;

            import me.didit.types.CasesUpdateParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().update("c1a5e000-0000-4000-8000-000000000001",
            CasesUpdateParams.builder()
                    .priority(CasesUpdateParams.Priority.of("HIGH"))
                    .dueAt(OffsetDateTime.parse("2026-11-01T00:00:00Z"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            $didit = new DiditClient();


            $result =
            $didit->cases->update('c1a5e000-0000-4000-8000-000000000001', [
                'priority' => 'HIGH',
                'due_at' => '2026-11-01T00:00:00Z',
            ]);

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

            # Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            # and DIDIT_APPLICATION_ID.
            didit = Didit::Client.new

            result = didit.cases.update(
              "c1a5e000-0000-4000-8000-000000000001",
              priority: "HIGH",
              due_at: "2026-11-01T00:00:00Z"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            using var client = new DiditClient();


            var result = await
            client.Cases.UpdateAsync("c1a5e000-0000-4000-8000-000000000001", new
            CasesUpdateParams

            {
                Priority = new CasesUpdateParamsPriority("HIGH"),
                DueAt = DateTimeOffset.Parse("2026-11-01T00:00:00Z"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
        title:
          type: string
        status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
        resolution:
          type: string
          enum:
            - FALSE_POSITIVE
            - VALID_THREAT
            - INCONCLUSIVE
            - REQUIREMENTS_NOT_MET
            - REQUIREMENTS_SATISFIED
          nullable: true
        resolution_notes:
          type: string
          nullable: true
        priority:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
        source:
          type: string
          enum:
            - MANUAL
            - AML_SCREENING
            - TRANSACTION_RULE
            - WORKFLOW_BUILDER
        tags:
          type: array
          items:
            type: string
        subject:
          $ref: '#/components/schemas/CaseSubject'
        assigned_to:
          $ref: '#/components/schemas/CaseAssignee'
        assigned_at:
          type: string
          format: date-time
          nullable: true
        team:
          $ref: '#/components/schemas/CaseTeamSummary'
        due_at:
          type: string
          format: date-time
          nullable: true
        resolved_at:
          type: string
          format: date-time
          nullable: true
        resolved_by_email:
          type: string
          nullable: true
        pending_resolution:
          type: object
          nullable: true
          description: 체커 블루프린트에서 승인 또는 거부 승인을 기다리며 4-eyes 해결 절차가 스테이징되는 동안에만 설정됩니다.
          properties:
            resolution:
              type: string
              enum:
                - FALSE_POSITIVE
                - VALID_THREAT
                - INCONCLUSIVE
                - REQUIREMENTS_NOT_MET
                - REQUIREMENTS_SATISFIED
            resolution_notes:
              type: string
              nullable: true
            maker_email:
              type: string
              format: email
              nullable: true
              description: >-
                결정을 제출한 담당자의 이메일입니다. API 키로 제출한 경우 null입니다. 해당 결정에는 기록된 작성자가
                없으므로 모든 호출자에 대해 승인 및 승인 거부가 403을 반환합니다.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                해결 조치를 제출한 담당자의 멤버 사용자 uuid입니다. API 키가 제출한 경우 null입니다. 해당 멤버는
                `checker`로 지정될 수 없습니다.
            maker_blueprint_id:
              type: string
              format: uuid
            staged_at:
              type: string
              format: date-time
        checker:
          $ref: '#/components/schemas/CaseChecker'
        metadata:
          type: object
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintDetail'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/CaseNote'
          description: 최신 50개 메모입니다.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: 최신 100개 이벤트입니다.
        links:
          type: array
          items:
            $ref: '#/components/schemas/CaseLink'
        links_count:
          type: integer
        notes_count:
          type: integer
        checklist_items:
          type: array
          items:
            $ref: '#/components/schemas/CaseChecklistItem'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    CaseSubject:
      type: object
      nullable: true
      description: 케이스가 연결된 단일 사용자 또는 기업입니다.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: 대상자의 vendor_data입니다.
        country:
          type: string
          nullable: true
          description: >-
            주체의 3자리 국가 코드(ISO 3166-1 alpha-3)이며, 알 수 없는 경우 null입니다. 기업의 경우 법인 설립
            국가입니다. 개인의 경우 인증에서 확인된 신분증의 발급 국가입니다. 여러 국가의 신분증을 보유한 개인은 그중 하나가
            표시되며, `XXA`와 같은 ICAO 문서 코드가 나타날 수 있습니다.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            해당 인물의 인물 사진 이미지에 대한 유효 기간이 짧은 서명된 URL입니다. 기업의 경우 항상 null이며, 인물 사진이
            없는 개인의 경우에도 null입니다. URL이 만료되므로 URL을 저장하지 말고 케이스를 조회할 때 이미지를
            다운로드하세요.
    CaseAssignee:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        full_name:
          type: string
        email:
          type: string
          format: email
    CaseTeamSummary:
      type: object
      nullable: true
      description: >-
        케이스를 소유한 검토 팀이거나, 소유한 팀이 없는 경우 null입니다. 라우팅 규칙이 케이스를 해당 팀 중 하나에 배정할 때
        라우팅에 의해 설정됩니다. `PATCH .../cases/{case_uuid}/`(`team`)로 변경하거나 비울 수 있습니다.
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        대기 중인 결정을 승인하거나 거부하도록 지정된 멤버입니다. 4인 승인 결정이 지정된 검토자를 기다리는 동안에만 설정됩니다. 대기
        중인 항목이 없거나, 대기 중인 결정이 검토자 대기열에서 대기 중이거나, 증거가 변경되어 결정이 승인, 거부 또는 새로운 검토를
        위해 반환된 경우에는 null입니다.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: 멤버의 사용자 uuid입니다. 케이스를 해결할 때 `checker`로 전달하는 값입니다.
        name:
          type: string
          nullable: true
          description: 멤버의 성명이며, 알 수 없는 경우 null입니다.
        email:
          type: string
          format: email
    CaseBlueprintDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 24
        description:
          type: string
          nullable: true
        assignment_method:
          type: string
          enum:
            - MANUAL
            - AUTOMATIC
        assignee_pool:
          type: array
          items:
            type: string
            format: uuid
        max_active_cases:
          type: integer
          nullable: true
        escalation_enabled:
          type: boolean
        transfer_enabled:
          type: boolean
        require_resolution_note:
          type: boolean
        is_active:
          type: boolean
        preset_key:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        escalation_blueprint:
          type: string
          format: uuid
          nullable: true
        escalation_blueprint_name:
          type: string
          nullable: true
        four_eyes_checker_blueprint:
          type: string
          format: uuid
          nullable: true
        four_eyes_checker_blueprint_name:
          type: string
          nullable: true
        content_config:
          type: object
          description: 케이스 페이지에 표시될 탭과 필드를 결정하는 6개의 토글 가능한 섹션입니다. 알 수 없는 섹션이나 키는 거부됩니다.
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: true인 경우, 체크리스트 항목이 완료되지 않아도 케이스를 해결할 수 있습니다.
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      label:
                        type: string
                        maxLength: 255
                      order:
                        type: integer
            aml_control:
              type: object
              properties:
                enabled:
                  type: boolean
                financial:
                  type: boolean
                identity:
                  type: boolean
            identity:
              type: object
              properties:
                enabled:
                  type: boolean
                personal_information:
                  type: boolean
                applicant_tags:
                  type: boolean
                contact_information:
                  type: boolean
                risk_overview:
                  type: boolean
                poi_documents:
                  type: boolean
                poa_documents:
                  type: boolean
            verifications:
              type: object
              properties:
                enabled:
                  type: boolean
                summary:
                  type: boolean
            reporting:
              type: object
              properties:
                enabled:
                  type: boolean
                fiu_reports:
                  type: boolean
            financial:
              type: object
              properties:
                enabled:
                  type: boolean
                payment_methods:
                  type: boolean
                transactions:
                  type: boolean
        creation_sources:
          type: array
          description: 현재 새 케이스를 이 청사진으로 라우팅하는 커넥터입니다.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: 에스컬레이션 대상이 이 블루프린트를 가리키는 다른 블루프린트입니다.
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
        updated_at:
          type: string
          format: date-time
        version:
          type: integer
          readOnly: true
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
    CaseNote:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        comment:
          type: string
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        mentioned_emails:
          type: array
          items:
            type: string
            format: email
        is_internal:
          type: boolean
        attachments:
          type: array
          items:
            type: object
            properties:
              s3_key:
                type: string
              filename:
                type: string
              file_size:
                type: integer
              url:
                type: string
                format: uri
        tags:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
    CaseEvent:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        event_type:
          type: string
          enum:
            - CREATED
            - STATUS_CHANGED
            - ASSIGNED
            - UNASSIGNED
            - RESOLVED
            - REOPENED
            - LINK_ADDED
            - LINK_REMOVED
            - NOTE_ADDED
            - NOTE_PINNED
            - NOTE_UNPINNED
            - PRIORITY_CHANGED
            - DUE_DATE_CHANGED
            - TAG_ADDED
            - TAG_REMOVED
            - ESCALATED
            - TRANSFERRED
            - CHECKLIST_COMPLETED
            - REPORT_CREATED
            - REPORT_FINALIZED
            - SUBMITTED_FOR_APPROVAL
            - APPROVAL_GRANTED
            - APPROVAL_REJECTED
            - ENTITY_ACTION
            - APPROVAL_INVALIDATED
            - CUSTOMER_REQUEST
            - STAGE_CHANGED
            - TEAM_CHANGED
            - CHECKER_ASSIGNED
            - CHECKER_UNASSIGNED
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        previous_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        new_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        metadata:
          type: object
        created_at:
          type: string
          format: date-time
    CaseLink:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        linked_entity_type:
          type: string
          enum:
            - session
            - business_session
            - transaction
          nullable: true
        linked_entity_uuid:
          type: string
          format: uuid
          nullable: true
        linked_entity_summary:
          type: object
          nullable: true
          description: >-
            세션 및 business_session 링크의 경우 session_id/session_number/status, 거래
            링크의 경우 uuid/txn_id/status입니다.
        created_at:
          type: string
          format: date-time
    CaseChecklistItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          maxLength: 255
        is_completed:
          type: boolean
        completed_by:
          type: string
          format: email
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        order:
          type: integer
  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.