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

# AI로 케이스 블루프린트 초안 작성 API

> Didit의 AI 케이스 블루프린트 API로 프롬프트에서 저장되지 않은 제안 초안을 생성하고, 단계와 케이스 유형을 검토한 뒤 정책 설정을 별도로 저장하세요.

Didit의 블루프린트 AI 초안 API는 정책 설명을 저장되지 않은 검토 정책 제안으로 변환합니다.
애플리케이션에 `write:cases` 권한이 있는 `x-api-key`로 인증하십시오.

## 제안 생성 및 검토

비어 있지 않은 `prompt`를 최대 4000자까지 보내세요. 응답은 `200`이며, 저장된 블루프린트나 UUID가 아니라 `draft` 객체를 반환합니다.

```json theme={null}
{"prompt": "Draft an AML review policy with triage and evidence review stages."}
```

제안에는 `name`, `description`, `applies_to`, `content_config`, `require_resolution_note`, `assignment_method`, `max_active_cases`, `default_deadline_hours`가 포함될 수 있습니다. 필드가 없을 수도 있으므로 사용하기 전에 응답을 검토하세요. 최상위 제안에는 담당자 목록, 승인 설정, 라우팅 참조가 포함되지 않습니다.

저장하기 전에 담당자, 팀, 승인 및 라우팅을 직접 선택하세요. 생성된 단계에 `worked_by`가 있으면 애플리케이션에서 활성 상태인 검토 팀 UUID로 검증됩니다. 제안을 승인된 할당으로 간주하지 마세요.

검토 후에는 필수 `name`과 비어 있지 않은 `assignee_pool`을 포함하여 [케이스 블루프린트 생성](https://docs.didit.me/ko/management-api/case-blueprints/create.md)을 사용하세요. 제안을 생성해도 정책 초안이 저장되거나, 정책이 게시되거나, 기존 케이스가 변경되지 않습니다. [저장된 초안 및 게시 수명 주기](https://docs.didit.me/ko/console/case-management/blueprints.md#정책-변경-저장-및-게시)는 별도입니다.

## 오류

| 상태 | 의미 |
| - | - |
| `400` | 프롬프트가 없거나, 비어 있거나, 길이 제한을 초과함 |
| `401` / `403` | 인증 정보 또는 권한이 없음 |
| `404` | 애플리케이션을 찾을 수 없음 |
| `503` | 생성에 실패했거나 검증을 통과하지 못한 제안이 반환됨; 나중에 다시 시도하십시오 |

생성에 실패하면 다음이 반환됩니다:

```json theme={null}
{"detail": "A blueprint draft could not be generated. Please try again."}
```

## 관련 문서

* [케이스 블루프린트 목록 조회](https://docs.didit.me/ko/management-api/case-blueprints/list.md)
* [블루프린트 설정 및 검토 정책](https://docs.didit.me/ko/console/case-management/blueprints.md)


## OpenAPI

````yaml ko/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/blueprints/ai-draft/
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/ai-draft/:
    post:
      tags:
        - Case Blueprints
      summary: AI로 케이스 청사진 초안 작성
      description: >-
        저장되지 않은 블루프린트 초안을 생성합니다. write:cases 권한이 필요합니다. 블루프린트 UUID가 아닌 초안 객체를
        반환하며, 블루프린트나 저장된 정책 초안은 만들어지지 않습니다. 제안 내용을 검토한 뒤 담당자, 팀, 승인 또는 라우팅을
        선택하고, 그다음 블루프린트를 별도로 생성하거나 업데이트하십시오. 생성된 내용이 유효하지 않거나 생성에 실패하면 503을
        반환합니다. [블루프린트 AI 초안](/ko/management-api/case-blueprints/ai-draft)을
        참조하십시오.
      operationId: draft_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:
              $ref: '#/components/schemas/CaseBlueprintAiDraftRequest'
            example:
              prompt: >-
                Draft an AML review policy with triage and evidence review
                stages.
      responses:
        '200':
          description: 저장되지 않은 제안입니다. 상태는 변경되지 않았습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseBlueprintAiDraftResponse'
              example:
                draft:
                  name: AML review
                  applies_to:
                    - AML
                  require_resolution_note: true
                  content_config:
                    stages:
                      items:
                        - key: triage
                          label: Triage
                          sla_hours: 24
        '400':
          description: prompt가 없거나, 비어 있거나, 4000자를 초과하는 경우입니다.
        '401':
          description: 인증이 필요합니다.
        '403':
          description: write:cases 권한이 필요합니다.
        '404':
          description: 애플리케이션을 찾을 수 없습니다.
        '503':
          description: 생성에 실패했거나 유효하지 않은 제안이 생성되었습니다. 나중에 다시 시도하십시오.
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    type: string
              example:
                detail: A blueprint draft could not be generated. Please try again.
      security:
        - ApiKeyAuth: []
      x-codeSamples: []
components:
  schemas:
    CaseBlueprintAiDraftRequest:
      type: object
      required:
        - prompt
      properties:
        prompt:
          type: string
          minLength: 1
          maxLength: 4000
          description: 제안할 검토 정책에 대한 비어 있지 않은 설명입니다.
          example: Draft an AML review policy with triage and evidence review stages.
    CaseBlueprintAiDraftResponse:
      type: object
      required:
        - draft
      properties:
        draft:
          $ref: '#/components/schemas/CaseBlueprintAiDraft'
    CaseBlueprintAiDraft:
      type: object
      additionalProperties: false
      description: 저장되지 않았으며 검증된 제안입니다. 필드는 선택 사항입니다. 결과를 검토하고 저장하기 전에 담당자, 팀, 라우팅을 선택하십시오.
      properties:
        name:
          type: string
          maxLength: 24
          description: '최대 24자(예: "AML investigation").'
        description:
          type: string
          nullable: true
        content_config:
          $ref: '#/components/schemas/CaseContentConfig'
        require_resolution_note:
          type: boolean
        assignment_method:
          type: string
          enum:
            - MANUAL
            - AUTOMATIC
        max_active_cases:
          type: integer
          nullable: true
          minimum: 1
          description: '자동 모드 임계값: "이 청사진에 할당된 케이스가 N개 미만".'
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
          description: 새로 열린 케이스의 기본 기한입니다. 기존 케이스의 기한은 변경되지 않습니다.
        applies_to:
          $ref: '#/components/schemas/CaseBlueprintAppliesTo'
    CaseContentConfig:
      type: object
      description: >-
        케이스 콘텐츠 섹션과 선택적 검토 단계입니다. 알 수 없는 섹션이나 키는 거부됩니다. 케이스는 열릴 때 수락된 정책 스냅샷을
        유지하며, 이후 블루프린트를 수정해도 이 스냅샷은 다시 쓰이지 않습니다.
      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
        stages:
          type: object
          additionalProperties: false
          description: >-
            순서가 지정된 검토 단계입니다. 생략하거나 비어 있으면 기본 단계인 Triage, Evidence review,
            Decision을 사용합니다.
          properties:
            items:
              type: array
              maxItems: 10
              items:
                $ref: '#/components/schemas/CaseBlueprintStage'
              description: >-
                서로 다른 키를 가진 단계는 최대 10개까지 사용할 수 있습니다. 케이스를 해결하는 것은 단계가 아니라 상태
                변경입니다.
    CaseBlueprintAppliesTo:
      type: array
      maxItems: 6
      items:
        type: string
        enum:
          - GENERAL
          - VERIFICATION_REVIEW
          - BUSINESS_REVIEW
          - AML
          - TRANSACTION_MONITORING
          - DUPLICATES
      description: >-
        이 블루프린트가 설명하는 케이스 유형입니다. 생성 및 업데이트 시 선택 사항이며, 새 블루프린트의 기본값은 빈 목록입니다. 수락된
        케이스 정책 스냅샷에 저장됩니다.
      example:
        - AML
    CaseBlueprintStage:
      type: object
      additionalProperties: false
      required:
        - label
      properties:
        key:
          type: string
          pattern: ^[a-z0-9_]{1,64}$
          description: 정책 내에서 고유해야 합니다. 생략하면 라벨에서 파생됩니다. 확정된 키는 예약되어 있습니다.
          example: triage
        label:
          type: string
          minLength: 1
          maxLength: 64
          description: 비어 있지 않은 단계 레이블입니다.
          example: Triage
        sla_hours:
          type: integer
          minimum: 1
          maximum: 8760
          nullable: true
          description: 단계별 SLA(시간 단위)이며, SLA가 없으면 null입니다.
          example: 24
        worked_by:
          type: string
          format: uuid
          nullable: true
          description: >-
            선택적 검토 팀 UUID입니다. null이 아닌 값은 이 애플리케이션의 활성 팀을 가리켜야 합니다. 단계 팀이 없으면
            생략하거나 null을 사용하십시오.
          example: a0000000-0000-4000-8000-000000000001
  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.