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

# Daftar Kasus API - Manajemen Kasus

> Ambil daftar kasus kepatuhan di Didit, difilter berdasarkan status, prioritas, penanggung jawab, tag, dan jatuh tempo, dengan pencarian teks penuh.



Prompt API Daftar Kasus
        Salin prompt ke papan klip



      
      

\<pre>

\`List compliance cases for my Didit application through the Management API.

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

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

Goal:
\- Retrieve cases with the same filtering the Console's Cases list offers: status, priority, source, blueprint, assignee, tag, created-date range, due-before, and overdue. Paginated with limit/offset.

Useful query params:
\- status__in=OPEN,AWAITING_USER,RESOLVED (comma-separated)
\- priority=LOW,MEDIUM,HIGH (comma-separated)
\- source__in=MANUAL,AML_SCREENING,TRANSACTION_RULE,WORKFLOW_BUILDER
\- blueprint=<uuid>, assigned_to=<uuid>, unassigned=true|false, tag=<string>
\- search=<string> - matches title, case_number, tag, subject name/UUID/external ID, linked session UUID, linked transaction UUID
\- date_from=YYYY-MM-DD, date_to=YYYY-MM-DD (created_at range), due_before=<ISO datetime>, overdue=true
\- ordering=created_at|-created_at|due_at|-due_at (default -created_at)

Example call:
curl -X GET "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/?status__in=OPEN,AWAITING_USER&ordering=-due_at" \
-H "x-api-key: YOUR_API_KEY"

Response shape:
\{"count": int, "next": url|null, "previous": url|null, "results": [CaseListItem, ...]}
count is exact up to 100 and capped at 100 beyond that for performance - rely on next being null to detect the last page, never on count.
Each CaseListItem has uuid, case_number, title, status, resolution, pending_resolution (set only while a 4-eyes resolution is staged), checker {member_uuid, name, email}, priority, source, tags, subject {type, uuid, name, external_id, country, portrait}, assigned_to {uuid, full_name, email}, team {uuid, name}, blueprint {uuid, name}, links_count, notes_count, due_at, resolved_at, created_at, updated_at.
\- subject.country - ISO 3166-1 alpha-3 code, or null when unknown. A business: its country of incorporation. A person: the issuing country of one of their identity documents.
\- subject.portrait - short-lived signed URL of the person's portrait, or null. Always null for a business. Download the image when you read it; do not store the URL.
\- team - the review team that owns the case, or null.
\- checker - the member named to approve a pending four-eyes resolution, or null. Set only while a resolution waits on a named checker; name is null when unknown.

Failure modes:
\- 401 - missing or malformed x-api-key.
\- 403 - a key with restricted access gets {"detail": "This API key has no access to this endpoint."} (cases need a full-access key). A console member token needs list:cases.

Side effects: none, pure read.

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

\</pre>



      
      

Tempel ke

Menampilkan kasus untuk aplikasi, dengan yang terbaru di urutan pertama secara default. Setiap opsi filter dan pengurutan yang tersedia di daftar Kasus di Console diekspos sebagai parameter kueri, termasuk pencarian teks lengkap `search` di seluruh subjek, tag, nomor kasus, serta ID sesi atau transaksi yang tertaut.
Setiap kasus juga memuat `team` pemiliknya, `checker` yang ditunjuk untuk penyelesaian dengan prinsip empat mata yang tertunda, serta `country` dan `portrait` subjek.## AksesEndpoint kasus memerlukan [kunci API](https://docs.didit.me/id/console/api-keys.md) dengan akses penuh.
Kunci dengan akses terbatas menerima `403`.## Terkait- [Buat kasus](https://docs.didit.me/id/management-api/cases/create.md)
- [Perbarui kasus](https://docs.didit.me/id/management-api/cases/update.md)
- [Analitik kasus](https://docs.didit.me/id/management-api/cases/statistics.md)
- [Kasus (Console)](https://docs.didit.me/id/console/case-management/cases.md)


## OpenAPI

````yaml id/openapi-25.json GET /v3/organization/{organization_id}/application/{application_id}/cases/
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/:
    get:
      tags:
        - Cases
      summary: Daftar kasus
      description: >-
        Daftar kasus untuk aplikasi, terbaru lebih dahulu. Mendukung
        pemfilteran, pencarian, dan pengurutan; lihat parameter kueri.
        Dipaginasi dengan `limit`/`offset`.
      operationId: list_cases
      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: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
          description: Ukuran halaman. Nilai default-nya 50.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: Offset berbasis nol dari rekaman pertama.
        - name: status__in
          in: query
          schema:
            type: string
          description: >-
            Status yang dipisahkan dengan koma untuk disertakan, misalnya
            OPEN,AWAITING_USER.
        - name: priority
          in: query
          schema:
            type: string
          description: Prioritas yang dipisahkan dengan koma untuk disertakan.
        - name: source__in
          in: query
          schema:
            type: string
          description: Sumber yang dipisahkan dengan koma untuk disertakan.
        - name: blueprint
          in: query
          schema:
            type: string
            format: uuid
          description: Filter kasus pada cetak biru ini.
        - name: assigned_to
          in: query
          schema:
            type: string
            format: uuid
          description: Filter kasus yang ditetapkan untuk pengguna ini.
        - name: unassigned
          in: query
          schema:
            type: boolean
          description: >-
            true untuk kasus yang belum ditetapkan, false untuk kasus yang sudah
            ditetapkan.
        - name: tag
          in: query
          schema:
            type: string
          description: Filter kasus yang memuat tag ini secara persis.
        - name: search
          in: query
          schema:
            type: string
          description: >-
            Mencocokkan judul, case_number, tag, nama/UUID/ID eksternal subjek,
            UUID sesi tertaut, atau UUID transaksi tertaut.
        - name: date_from
          in: query
          schema:
            type: string
            format: date
          description: Batas bawah tanggal pembuatan (inklusif).
        - name: date_to
          in: query
          schema:
            type: string
            format: date
          description: Batas atas tanggal pembuatan (inklusif).
        - name: due_before
          in: query
          schema:
            type: string
            format: date-time
          description: Batas atas due_at.
        - name: overdue
          in: query
          schema:
            type: boolean
          description: >-
            true untuk hanya mengembalikan kasus terbuka/menunggu pengguna yang
            sudah melewati batas waktu.
        - name: ordering
          in: query
          schema:
            type: string
            enum:
              - created_at
              - '-created_at'
              - due_at
              - '-due_at'
            default: '-created_at'
          description: Urutan pengurutan. due_at mengurutkan nilai null di akhir.
      responses:
        '200':
          description: Daftar kasus berpaginasi.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      Jumlah baris yang cocok. Tepat hingga 100, dibatasi
                      maksimal 100 setelahnya demi performa. Andalkan nilai
                      `next` yang null untuk mendeteksi halaman terakhir.
                  next:
                    type: string
                    nullable: true
                    description: URL absolut halaman berikutnya, atau null.
                  previous:
                    type: string
                    nullable: true
                    description: URL absolut halaman sebelumnya, atau null.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/CaseListItem'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/?status__in=OPEN,AWAITING_USER&ordering=-due_at'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

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

            for item in client.cases.list():
                print(item)
        - 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();

            for await (const item of didit.cases.list()) {
              console.log(item);
            }
        - 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\niter := client.Cases.ListAutoPaging(ctx, didit.CasesListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
            // and DIDIT_APPLICATION_ID.
            Didit client = new Didit();

            for (var item : client.cases().list()) {
                System.out.println(item);
            }
        - 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();

            foreach ($didit->cases->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.cases.list.auto_paging_each do |item|
              puts item.to_h
            end
        - 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();

            await foreach (var item in await client.Cases.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    CaseListItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
          description: Ditetapkan secara otomatis, contoh CS-0001.
        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
        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'
        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
        created_by_email:
          type: string
          nullable: true
        created_by_name:
          type: string
          nullable: true
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintSummary'
        links_count:
          type: integer
        notes_count:
          type: integer
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        application_id:
          type: string
          format: uuid
        application_name:
          type: string
        organization_id:
          type: string
          format: uuid
        organization_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
    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
    CaseBlueprintSummary:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
          maxLength: 24
  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.