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

> Ubah judul, prioritas, tenggat, tag, atau tim peninjau kasus di Didit. Hanya kolom yang dikirim berubah; perubahan kunci dicatat di linimasa.



Prompt API Pembaruan Kasus
        Salin prompt ke papan klip



      
      

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



      
      

Tempel ke

Ubah judul, prioritas, tanggal jatuh tempo, tag, atau tim peninjau yang memiliki kasus.
Kirim hanya kolom yang ingin Anda ubah; kolom yang tidak Anda sertakan tetap mempertahankan nilainya.
`tags` menggantikan seluruh daftar tag, jadi kirim semua tag yang harus tetap dimiliki kasus.## Ubah tim pemilikAtur `team` ke uuid tim peninjau aktif dari aplikasi ini, atau ke `null` untuk menghapusnya.
Untuk mencari uuid tim, panggil `GET /v3/organization/{organization_id}/application/{application_id}/cases/teams/` lalu baca `results[].uuid`.
Tim yang tidak aktif, dihapus, atau milik aplikasi lain mengembalikan `400` dengan `{"team": ["Choose an active team of this application."]}`.
Setiap perubahan menambahkan event `TEAM_CHANGED` ke linimasa kasus dengan tim sebelumnya dan tim baru.
Mengubah tim tidak mengubah siapa yang ditugaskan untuk kasus tersebut.## Event linimasaPerubahan pada prioritas, tanggal jatuh tempo, tag, atau tim menambahkan event `PRIORITY_CHANGED`, `DUE_DATE_CHANGED`, `TAG_ADDED`, `TAG_REMOVED`, atau `TEAM_CHANGED` ke linimasa kasus.
Perubahan judul disimpan tanpa event linimasa.
Mengirim kolom dengan nilai saat ini tidak menambahkan event.## AksesEndpoint kasus memerlukan [kunci API](https://docs.didit.me/id/console/api-keys.md) dengan akses penuh.
Kunci dengan akses terbatas menerima `403`.
Token anggota Console memerlukan `write:cases`.## Terkait- [Ambil kasus](https://docs.didit.me/id/management-api/cases/get.md)
- [Daftar kasus](https://docs.didit.me/id/management-api/cases/list.md)
- [Penugasan dan tim peninjau (Console)](https://docs.didit.me/id/console/case-management/assignment.md#tim)


## OpenAPI

````yaml id/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 Verifikasi Identitas. Lakukan autentikasi dengan header 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: Perbarui kasus
      description: >-
        Perbarui judul, prioritas, batas waktu, tag, atau tim peninjau yang
        menangani kasus. Kirimkan hanya kolom yang ingin Anda ubah; kolom yang
        diabaikan akan mempertahankan nilainya. `tags` menggantikan seluruh
        daftar tag. `team` menerima uuid dari tim peninjau aktif di aplikasi ini
        (lihat daftarnya dengan `GET .../cases/teams/`), atau null untuk
        menghapus tim. Memerlukan kunci API akses penuh, atau `write:cases`
        untuk anggota konsol: kunci dengan akses terbatas akan menerima 403.
        Mencatat event PRIORITY_CHANGED, DUE_DATE_CHANGED, TAG_ADDED,
        TAG_REMOVED, dan TEAM_CHANGED yang sesuai; perubahan judul disimpan
        tanpa event linimasa. Mengembalikan kasus yang diperbarui.
      operationId: update_case
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID organisasi.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID aplikasi.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: UUID kasus.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  maxLength: 255
                  description: Judul kasus baru.
                priority:
                  type: string
                  enum:
                    - LOW
                    - MEDIUM
                    - HIGH
                due_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Batas waktu baru. Kirim null untuk menghapusnya.
                tags:
                  type: array
                  items:
                    type: string
                  description: Daftar tag lengkap. Ini menggantikan tag saat ini.
                team:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    UUID tim peninjau yang memiliki kasus tersebut. Harus berupa
                    tim aktif dari aplikasi ini. Kirim null untuk mengosongkan
                    tim.
            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: Kasus yang diperbarui.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseDetail'
        '400':
          description: >-
            Kolom gagal divalidasi. Body diberi kunci berdasarkan nama kolom.
            `team` ditolak jika bukan merupakan tim peninjau aktif dari aplikasi
            ini.
          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: >-
            Kunci API milik aplikasi lain, atau merupakan kunci dengan akses
            terbatas: Endpoint Cases memerlukan kunci akses penuh. Token anggota
            konsol memerlukan `write:cases`.
          content:
            application/json:
              examples:
                Restricted API Key:
                  summary: Kunci API dengan akses terbatas
                  value:
                    detail: This API key has no access to this endpoint.
                Missing Privilege:
                  summary: >-
                    Anggota konsol tanpa write:cases, atau kunci dari aplikasi
                    lain
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: Kasus tidak ditemukan di aplikasi ini.
          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: >-
            Ditetapkan hanya saat resolusi 4-eyes disiapkan pada cetak biru
            checker, menunggu persetujuan atau penolakan persetujuan.
          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: >-
                Email petugas yang mengirimkan resolusi. Null jika dikirimkan
                dengan kunci API: resolusi tersebut tidak memiliki pembuat yang
                tercatat, sehingga approve dan reject-approval mengembalikan 403
                untuk setiap pemanggil.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                UUID pengguna anggota dari petugas yang mengirimkan
                penyelesaian. Null jika kunci API yang mengirimkannya. Anggota
                tersebut tidak dapat disebutkan sebagai `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 catatan terbaru.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: 100 event terbaru.
        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: Satu pengguna atau bisnis tempat kasus diikat.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: vendor_data subjek.
        country:
          type: string
          nullable: true
          description: >-
            Kode negara tiga huruf dari subjek (ISO 3166-1 alpha-3), atau null
            jika tidak diketahui. Untuk bisnis, berupa negara pendiriannya.
            Untuk perorangan, berupa negara penerbit dokumen identitas dari
            verifikasi mereka; perorangan dengan dokumen dari beberapa negara
            akan menampilkan salah satunya, dan kode dokumen ICAO seperti `XXA`
            dapat muncul.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            URL bertanda tangan berdurasi singkat dari gambar potret individu
            tersebut. Selalu null untuk bisnis, dan null untuk individu tanpa
            potret. URL ini kedaluwarsa, jadi unduh gambar tersebut saat Anda
            membaca kasus alih-alih menyimpan URL-nya.
    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: >-
        Tim peninjau yang memiliki kasus tersebut, atau null jika tidak ada tim
        yang memilikinya. Perutean menetapkannya ketika aturan perutean
        menempatkan kasus tersebut ke salah satu timnya. Ubah atau hapus dengan
        `PATCH .../cases/{case_uuid}/` (`team`).
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        Anggota yang ditunjuk untuk menyetujui atau menolak resolusi yang
        tertunda. Hanya ditetapkan saat resolusi dengan pemeriksaan empat mata
        sedang menunggu pemeriksa yang ditunjuk. Null jika tidak ada yang
        tertunda, saat resolusi yang tertunda menunggu di antrean pemeriksa, dan
        setelah resolusi disetujui, ditolak, atau dikembalikan untuk peninjauan
        baru karena bukti berubah.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: >-
            UUID pengguna anggota: nilai yang Anda kirimkan sebagai `checker`
            saat Anda menyelesaikan kasus.
        name:
          type: string
          nullable: true
          description: Nama lengkap anggota, atau null jika tidak diketahui.
        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: >-
            Enam bagian yang dapat diaktifkan/dinonaktifkan yang menentukan tab
            dan kolom mana yang muncul di halaman kasus. Bagian atau kunci yang
            tidak dikenal akan ditolak.
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: >-
                    Jika true, kasus dapat diselesaikan dengan item daftar
                    periksa yang belum lengkap.
                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: Konektor yang saat ini merutekan kasus baru ke dalam cetak biru ini.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: Blueprint lain yang target Eskalasinya mengarah ke blueprint ini.
          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: >-
            session_id/session_number/status untuk tautan session dan
            business_session; uuid/txn_id/status untuk tautan transaction.
        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: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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