> ## 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 из запроса, проверьте этапы и типы кейсов, затем сохраните настройки политики отдельно.

API AI-черновиков blueprint от Didit преобразует описание политики в несохранённое предложение политики проверки.
Аутентифицируйтесь с помощью `x-api-key` с разрешением `write:cases` для приложения.

## Создание и проверка предложения

Отправьте непустое `prompt` длиной не более 4000 символов. Ответ имеет код `200` и содержит объект `draft`, а не сохранённый шаблон или UUID.

```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 активной команды проверки. Не считайте предложение утверждённым назначением.

Используйте [Создание шаблона кейса](https://docs.didit.me/ru/management-api/case-blueprints/create.md) после проверки. Обязательны `name` и непустой `assignee_pool`. Генерация предложения не сохраняет черновик политики, не публикует политику и не меняет существующие кейсы. [Жизненный цикл сохранённого черновика и публикации](https://docs.didit.me/ru/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/ru/management-api/case-blueprints/list.md)
* [Настройки шаблонов кейсов и политики проверки](https://docs.didit.me/ru/console/case-management/blueprints.md)


## OpenAPI

````yaml ru/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: Создать черновик шаблона кейса с помощью ИИ
      description: >-
        Создаёт черновик блюпринта без сохранения. Требует write:cases.
        Возвращает объект черновика, а не UUID блюпринта; блюпринт или
        сохранённый черновик политики не создаются. Проверьте предложение,
        выберите исполнителей и при необходимости команды, согласования или
        маршрутизацию, затем создайте или обновите блюпринт отдельно.
        Некорректный сгенерированный контент или сбой генерации возвращает 503.
        См. [AI-черновики
        блюпринтов](/ru/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-расследование».
        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: >-
                Не более десяти этапов с уникальными ключами. Завершение кейса
                это изменение статуса, а не этап.
    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 этапа в часах или null, если SLA нет.
          example: 24
        worked_by:
          type: string
          format: uuid
          nullable: true
          description: >-
            Необязательный UUID команды проверки. Ненулевое значение должно
            указывать на активную команду в этом приложении. Укажите null или не
            передавайте поле, если этап без команды.
          example: a0000000-0000-4000-8000-000000000001
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в
        Business Console. Основной ключ имеет полный доступ. Именованный ключ
        может иметь ограниченную область действия: без доступа, чтение или
        запись для каждого ресурса, ограничение определенными сценариями или
        одобренными сессиями, списком IP-адресов и сроком действия. 401
        означает, что ключ неверен, отозван или его срок действия истек; 403
        означает, что ключ не был передан, у ключа нет доступа к этому ресурсу
        или действию, либо запрос поступил с адреса вне его списка IP-адресов;
        404 на маршруте сессии означает, что сессия не входит в сценарии или
        статусы ключа. Ключ без доступа к медиа получает URL изображений, видео
        и PDF как null, а ключ без прав на запись сессий получает ссылки на
        сессии и токены как null. См. https://docs.didit.me/console/api-keys.

````

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