> ## 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 提示词
        将提示词复制到剪贴板



      
      

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



      
      

粘贴到

列出应用的案件，默认按最新排序。控制台案件列表中可用的每个筛选和排序选项都以查询参数的形式开放，包括对主体、标签、案件编号以及关联会话或交易 ID 的全文搜索（`search`）。
每个案件还包含其所属团队（`team`）、待处理四眼原则决议中指定的审核人（`checker`），以及主体的国家/地区（`country`）和头像（`portrait`）。## 访问权限案件相关 endpoint 需要具有完全访问权限的 [API 密钥](https://docs.didit.me/zh/console/api-keys.md)。
权限受限的密钥会收到 `403`。## 相关内容- [创建案件](https://docs.didit.me/zh/management-api/cases/create.md)
- [更新案件](https://docs.didit.me/zh/management-api/cases/update.md)
- [案件分析](https://docs.didit.me/zh/management-api/cases/statistics.md)
- [案件（控制台）](https://docs.didit.me/zh/console/case-management/cases.md)


## OpenAPI

````yaml zh/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。使用 x-api-key 请求头进行身份验证。
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/organization/{organization_id}/application/{application_id}/cases/:
    get:
      tags:
        - Cases
      summary: 列出案件
      description: 列出应用下的案件，最新的优先。支持过滤、搜索和排序；详见查询参数。使用 `limit`/`offset` 分页。
      operationId: list_cases
      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: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
          description: 页面大小。默认为 50。
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: 第一条记录的从零开始的偏移量。
        - name: status__in
          in: query
          schema:
            type: string
          description: 要包含的状态列表（以逗号分隔），例如 OPEN,AWAITING_USER。
        - name: priority
          in: query
          schema:
            type: string
          description: 要包含的优先级列表（以逗号分隔）。
        - name: source__in
          in: query
          schema:
            type: string
          description: 要包含的来源列表（以逗号分隔）。
        - name: blueprint
          in: query
          schema:
            type: string
            format: uuid
          description: 过滤此蓝图下的案件。
        - name: assigned_to
          in: query
          schema:
            type: string
            format: uuid
          description: 过滤分配给该用户的案件。
        - name: unassigned
          in: query
          schema:
            type: boolean
          description: 未分配的案件为 true，已分配的案件为 false。
        - name: tag
          in: query
          schema:
            type: string
          description: 过滤带有此完全相同标签的案件。
        - name: search
          in: query
          schema:
            type: string
          description: 匹配 title、case_number、tag、主体姓名/UUID/外部 ID、关联的会话 UUID 或关联的交易 UUID。
        - name: date_from
          in: query
          schema:
            type: string
            format: date
          description: 创建时间下限（含）。
        - name: date_to
          in: query
          schema:
            type: string
            format: date
          description: 创建时间上限（含）。
        - name: due_before
          in: query
          schema:
            type: string
            format: date-time
          description: due_at 上限。
        - name: overdue
          in: query
          schema:
            type: boolean
          description: 为 true 则仅返回逾期的 open/awaiting-user 案件。
        - name: ordering
          in: query
          schema:
            type: string
            enum:
              - created_at
              - '-created_at'
              - due_at
              - '-due_at'
            default: '-created_at'
          description: 排序顺序。due_at 将 null 排在最后。
      responses:
        '200':
          description: 分页案件列表。
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      匹配的行数。100 以内为准确数值，超过 100 时出于性能考虑封顶显示为 100。请根据 `next` 为
                      null 来判断是否为最后一页。
                  next:
                    type: string
                    nullable: true
                    description: 下一页的绝对 URL，或者 null。
                  previous:
                    type: string
                    nullable: true
                    description: 上一页的绝对 URL，或者 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: 自动分配，例如 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: 仅在双人复核（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：该处置决议没有记录的制定者，因此针对所有调用方，approve 和
                reject-approval 均返回 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'
        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: >-
        被指定批准或拒绝待决决定的成员。仅当双人复核（four-eyes）决议等待指定复核员时设置。在无待决事项、待决决议在复核员队列中等待，以及决议已获批准、被拒绝或因证据变更而退回重新审核后，该值为
        null。
      properties:
        member_uuid:
          type: string
          format: uuid
          description: 成员的用户 UUID：在您解决案件时作为 `checker` 传入的值。
        name:
          type: string
          nullable: true
          description: 成员的姓名，未知时为 null。
        email:
          type: string
          format: email
    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: >-
            主体的三位字母国家/地区代码（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
    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: >-
        您的应用 API 密钥，可在 Business Console 的“开发者 -> API
        密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域：针对每个资源设为无权限、只读或读写，限定于特定工作流或已通过的会话、限定于
        IP 地址列表，以及设置到期日期。401 表示密钥错误、已撤销或已过期；403 表示未发送密钥、密钥无权访问该资源或操作，或请求来自其 IP
        列表之外的地址；在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF
        URL 将为 null；没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅
        https://docs.didit.me/console/api-keys。

````

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