> ## 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 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/ko/management-api/cases/resolve.md)
- [케이스 목록 조회](https://docs.didit.me/ko/management-api/cases/list.md)


## OpenAPI

````yaml ko/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: >-
        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.