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

\`Update the status of several cases in one call through the Management API.

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

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

Request body:
\{
"case_uuids": ["<uuid>", "<uuid>"],   // required, at least 1
"status": "RESOLVED",                   // required: OPEN | AWAITING_USER | RESOLVED
"resolution": "FALSE_POSITIVE",         // required when status is RESOLVED
"note": "Bulk-cleared after review"      // optional
}

Behavior:
\- OPEN reopens each case, AWAITING_USER requests info, RESOLVED resolves with the given resolution/note.
\- Each case is evaluated independently inside its own transaction - a case blocked by an incomplete checklist or a missing required note is reported in "failures" without aborting the rest of the batch.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/bulk/status/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"case_uuids": ["<uuid>"], "status": "RESOLVED", "resolution": "FALSE_POSITIVE"}'

Response 200: {"updated": 3, "failures": [{"case_uuid": "<uuid>", "detail": "Case has incomplete checklist items: ..."}]}

Failure modes:
\- 400 - status is RESOLVED without a resolution, or case_uuids is empty.
\- 401/403 - auth/permission errors.

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

\</pre>



      
      

粘贴到

将相同的状态流转同时应用于多个案件，与案件列表中的批量 **Set Status** 操作保持一致。失败会按案件单独报告，因此某个被阻止的案件不会回滚整批中的其他案件。## 相关内容- [处理案件](https://docs.didit.me/zh/management-api/cases/resolve.md)
- [案件列表](https://docs.didit.me/zh/management-api/cases/list.md)


## OpenAPI

````yaml zh/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/bulk/status/
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/bulk/status/:
    post:
      tags:
        - Cases
      summary: 批量更新案件状态
      description: >-
        在一次调用中对多个案件应用相同的状态流转：OPEN 表示重新打开，AWAITING_USER 表示请求信息，RESOLVED
        表示解决（需要提供解决方案）。每个案件均独立评估；拦截失败（清单未完成、缺少必填备注）将按案件报告，不会中止整批操作。
      operationId: bulk_update_case_status
      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。
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - case_uuids
                - status
              properties:
                case_uuids:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                status:
                  type: string
                  enum:
                    - OPEN
                    - AWAITING_USER
                    - RESOLVED
                resolution:
                  type: string
                  enum:
                    - FALSE_POSITIVE
                    - VALID_THREAT
                    - INCONCLUSIVE
                    - REQUIREMENTS_NOT_MET
                    - REQUIREMENTS_SATISFIED
                  description: 当 status 为 RESOLVED 时必填。
                note:
                  type: string
                  nullable: true
            example:
              case_uuids:
                - c1a5e000-0000-4000-8000-000000000001
              status: RESOLVED
              resolution: FALSE_POSITIVE
      responses:
        '200':
          description: 按案件划分的结果。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseBulkUpdateResult'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/cases/bulk/status/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"case_uuids": ["c1a5e000-0000-4000-8000-000000000001"], "status": "RESOLVED", "resolution": "FALSE_POSITIVE"}'
        - 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.bulk_update_status(
                case_uuids=["c1a5e000-0000-4000-8000-000000000001"],
                status="RESOLVED",
                resolution="FALSE_POSITIVE",
            )
            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.bulkUpdateStatus({
              case_uuids: ["c1a5e000-0000-4000-8000-000000000001"],
              status: "RESOLVED",
              resolution: "FALSE_POSITIVE",
            });
            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.BulkUpdateStatus(ctx, didit.CasesBulkUpdateStatusParams{\n\tCaseUUIDs:  []string{\"c1a5e000-0000-4000-8000-000000000001\"},\n\tStatus:     \"RESOLVED\",\n\tResolution: didit.Some(didit.CasesBulkUpdateStatusParamsResolution(\"FALSE_POSITIVE\")),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.CasesBulkUpdateStatusParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().bulkUpdateStatus(CasesBulkUpdateStatusParams.builder()
                    .caseUuids(List.of("c1a5e000-0000-4000-8000-000000000001"))
                    .status(CasesBulkUpdateStatusParams.Status.of("RESOLVED"))
                    .resolution(CasesBulkUpdateStatusParams.Resolution.of("FALSE_POSITIVE"))
                    .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->bulkUpdateStatus([
                'case_uuids' => ['c1a5e000-0000-4000-8000-000000000001'],
                'status' => 'RESOLVED',
                'resolution' => 'FALSE_POSITIVE',
            ]);
            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.bulk_update_status(
              case_uuids: ["c1a5e000-0000-4000-8000-000000000001"],
              status: "RESOLVED",
              resolution: "FALSE_POSITIVE"
            )
            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.BulkUpdateStatusAsync(new
            CasesBulkUpdateStatusParams

            {
                CaseUuids = new string[] { "c1a5e000-0000-4000-8000-000000000001" },
                Status = "RESOLVED",
                Resolution = new CasesBulkUpdateStatusParamsResolution("FALSE_POSITIVE"),
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseBulkUpdateResult:
      type: object
      properties:
        updated:
          type: integer
        failures:
          type: array
          items:
            type: object
            properties:
              case_uuid:
                type: string
                format: uuid
              detail:
                type: string
  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.