> ## 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 Management APIでケースブループリントを作成します。割り当て方法、エスカレーション、移管、4-eyesのチェッカー割り当て、必須の解決メモ、6つのケース内容セクションを設定できます。



ケースブループリント作成APIプロンプト
        プロンプトをクリップボードにコピー



      
      

\<pre>

\`Create a case blueprint through the Management API.

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

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

Request body:
\{
"name": "AML investigation",                    // required, max 24 chars
"description": "...",                            // optional
"assignee_pool": ["<user-uuid>"],                 // required, at least 1 - "Pick at least one assignee" otherwise
"assignment_method": "AUTOMATIC",                 // optional, MANUAL|AUTOMATIC, default MANUAL
"max_active_cases": 15,                           // optional - AUTOMATIC threshold
"escalation_enabled": false,                      // optional
"escalation_blueprint": "<blueprint-uuid>",       // optional - set it alongside escalation_enabled; the escalate action fails with 400 until both are set
"transfer_enabled": false,                        // optional
"four_eyes_checker_blueprint": "<blueprint-uuid>", // optional - setting this enables 4-eyes
"require_resolution_note": true,                  // optional
"content_config": {"aml_control": {"enabled": true, "financial": true}},  // optional, six sections
"is_active": true                                 // optional, default true
}

content_config sections: checklist (enabled, optional, items[]), aml_control (enabled, financial, identity), identity (enabled, personal_information, applicant_tags, contact_information, risk_overview, poi_documents, poa_documents), verifications (enabled, summary), reporting (enabled, fiu_reports), financial (enabled, payment_methods, transactions). Unknown sections/keys are rejected with 400.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/blueprints/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "AML investigation", "assignee_pool": ["<uuid>"]}'

Response 201: CaseBlueprintDetail.

Failure modes:
\- 400 - name over 24 chars, empty assignee_pool, unknown content_config key, or escalation_blueprint/four_eyes_checker_blueprint not found in this application or self-referencing.
\- 401/403 - auth/permission errors (requires write:cases).

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

\</pre>



      
      

貼り付け先

ブループリントを作成します。`content_config`は厳密に検証されます。既知の6つのセクションとドキュメントに記載されたキーのみが受け付けられるため、タイプミスがあると無視されずに400が返されます。## 関連ページ- [ケースブループリントの一覧取得](https://docs.didit.me/ja/management-api/case-blueprints/list.md)
- [ブループリントプリセットのインストール](https://docs.didit.me/ja/management-api/case-blueprints/install-presets.md)
- [ブループリント (Console)](https://docs.didit.me/ja/console/case-management/blueprints.md)


## OpenAPI

````yaml ja/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/
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/blueprints/:
    post:
      tags:
        - Case Blueprints
      summary: ブループリントを作成
      description: >-
        ケースブループリントを作成します。一般設定（割り当て、エスカレーション、移管、4-eyesペアリング）と、ケースページを構成する6つのセクションであるcontent_configを含みます。publish=falseを設定すると未公開の下書きが作成されます。公開すると最初の公開バージョンが作成されます。一度も公開されていない下書きを破棄すると、その下書きは削除されます。
      operationId: create_case_blueprint
      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:
                - name
                - assignee_pool
              properties:
                name:
                  type: string
                  maxLength: 24
                  description: '最大24文字。例: "AML調査"。'
                description:
                  type: string
                  nullable: true
                assignee_pool:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  description: >-
                    ユーザーUUIDのリストです。空の配列は「Pick at least one
                    assignee」というエラーで拒否されます。
                assignment_method:
                  type: string
                  enum:
                    - MANUAL
                    - AUTOMATIC
                  default: MANUAL
                max_active_cases:
                  type: integer
                  nullable: true
                  minimum: 1
                  description: 自動モードのしきい値：「このブループリントのケースの割り当てがN件未満」。
                escalation_enabled:
                  type: boolean
                  default: false
                escalation_blueprint:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    対象のブループリントUUID。保存時には検証されませんが、escalation_enabledとescalation_blueprintの両方が設定されるまで、エスカレーションアクションは400で失敗します。
                transfer_enabled:
                  type: boolean
                  default: false
                four_eyes_checker_blueprint:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    これを設定すると4-eyesレビューが有効になります。このブループリントでの解決は、チェッカーブループリントのキューにステージングされます。
                require_resolution_note:
                  type: boolean
                  default: false
                content_config:
                  $ref: '#/components/schemas/CaseContentConfig'
                is_active:
                  type: boolean
                  default: true
                default_deadline_hours:
                  type: integer
                  nullable: true
                  minimum: 1
                  maximum: 8760
                  description: 新たにオープンされたケースのデフォルトの期限。既存のケースの期限は変更されません。
                publish:
                  type: boolean
                  writeOnly: true
                  default: true
                  description: >-
                    falseに設定すると、一度も公開されていない下書きとして保存します。下書きが明示的に公開されるまで、レコードはバージョン0のまま非アクティブです。このフィールドを省略すると、既存の連携に向けて即時作成の動作が維持されます。
            example:
              name: AML investigation
              assignee_pool:
                - 9a000000-0000-4000-8000-0000000000aa
              assignment_method: AUTOMATIC
              max_active_cases: 15
              require_resolution_note: true
              content_config:
                aml_control:
                  enabled: true
                  financial: true
                  identity: false
      responses:
        '201':
          description: ブループリントを作成しました。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseBlueprintDetail'
        '400':
          description: >-
            名前が24文字を超えている、assignee_poolが空である、または相互参照されたブループリント（escalation/checker）が見つかりません。
          content:
            application/json:
              schema:
                type: object
      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/blueprints/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"name": "AML investigation", "assignee_pool": ["9a000000-0000-4000-8000-0000000000aa"], "assignment_method": "AUTOMATIC", "max_active_cases": 15, "require_resolution_note": true, "content_config": {"aml_control": {"enabled": true, "financial": true, "identity": false}}}'
        - 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.blueprints.create(
                name="AML investigation",
                assignee_pool=["9a000000-0000-4000-8000-0000000000aa"],
                assignment_method="AUTOMATIC",
                max_active_cases=15,
                require_resolution_note=True,
                content_config={
                    "aml_control": {
                        "enabled": True,
                        "financial": True,
                        "identity": False,
                    },
                },
            )
            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.blueprints.create({
              name: "AML investigation",
              assignee_pool: ["9a000000-0000-4000-8000-0000000000aa"],
              assignment_method: "AUTOMATIC",
              max_active_cases: 15,
              require_resolution_note: true,
              content_config: {
                aml_control: {
                  enabled: true,
                  financial: true,
                  identity: false,
                },
              },
            });
            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.Blueprints.Create(ctx, didit.CasesBlueprintsCreateParams{\n\tName:                  \"AML investigation\",\n\tAssigneePool:          []string{\"9a000000-0000-4000-8000-0000000000aa\"},\n\tAssignmentMethod:      didit.Some(didit.CasesBlueprintsCreateParamsAssignmentMethod(\"AUTOMATIC\")),\n\tMaxActiveCases:        didit.Int(15),\n\tRequireResolutionNote: didit.Bool(true),\n\tContentConfig: didit.Some(didit.CaseContentConfigParam{\n\t\tAMLControl: didit.Some(didit.CaseContentConfigParamAMLControl{\n\t\t\tEnabled:   didit.Bool(true),\n\t\t\tFinancial: didit.Bool(true),\n\t\t\tIdentity:  didit.Bool(false),\n\t\t}),\n\t}),\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.CaseContentConfig;

            import me.didit.types.CasesBlueprintsCreateParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().blueprints().create(CasesBlueprintsCreateParams.builder()
                    .name("AML investigation")
                    .assigneePool(List.of("9a000000-0000-4000-8000-0000000000aa"))
                    .assignmentMethod(CasesBlueprintsCreateParams.AssignmentMethod.of("AUTOMATIC"))
                    .maxActiveCases(15L)
                    .requireResolutionNote(true)
                    .contentConfig(CaseContentConfig.builder()
                            .amlControl(CaseContentConfig.AmlControl.builder()
                                    .enabled(true)
                                    .financial(true)
                                    .identity(false)
                                    .build())
                            .build())
                    .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->blueprints->create([
                'name' => 'AML investigation',
                'assignee_pool' => ['9a000000-0000-4000-8000-0000000000aa'],
                'assignment_method' => 'AUTOMATIC',
                'max_active_cases' => 15,
                'require_resolution_note' => true,
                'content_config' => [
                    'aml_control' => [
                        'enabled' => true,
                        'financial' => true,
                        'identity' => false,
                    ],
                ],
            ]);
            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.blueprints.create(
              name: "AML investigation",
              assignee_pool: ["9a000000-0000-4000-8000-0000000000aa"],
              assignment_method: "AUTOMATIC",
              max_active_cases: 15,
              require_resolution_note: true,
              content_config: {
                aml_control: {
                  enabled: true,
                  financial: true,
                  identity: false,
                },
              }
            )
            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.Blueprints.CreateAsync(new
            CasesBlueprintsCreateParams

            {
                Name = "AML investigation",
                AssigneePool = new string[] { "9a000000-0000-4000-8000-0000000000aa" },
                AssignmentMethod = new CasesBlueprintsCreateParamsAssignmentMethod("AUTOMATIC"),
                MaxActiveCases = 15,
                RequireResolutionNote = true,
                ContentConfig = new CaseContentConfig
                {
                    AmlControl = new CaseContentConfigAmlControl
                    {
                        Enabled = true,
                        Financial = true,
                        Identity = false,
                    },
                },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseContentConfig:
      type: object
      description: ケースページに表示されるタブとフィールドを決定する、切り替え可能な6つのセクション。不明なセクションやキーは拒否されます。
      properties:
        checklist:
          type: object
          properties:
            enabled:
              type: boolean
            optional:
              type: boolean
              description: trueの場合、チェックリストに未完了の項目があってもケースを解決できます。
            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
    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: ケースページに表示されるタブとフィールドを決定する、切り替え可能な6つのセクション。不明なセクションやキーは拒否されます。
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: trueの場合、チェックリストに未完了の項目があってもケースを解決できます。
                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: 現在、新しいケースをこのブループリントに振り分けているコネクター。
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: エスカレーション先としてこのブループリントを指定している他のブループリントです。
          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
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API
        keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権（なし、読み取り、書き込み）、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください:
        https://docs.didit.me/console/api-keys

````

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