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

# Criar rascunho de case blueprint com API de IA

> Gere uma proposta não salva de case blueprint na Didit a partir de um prompt; revise etapas e tipos de caso e salve as políticas à parte.

A API Blueprint de rascunho com IA da Didit transforma uma descrição de política em uma proposta de política de revisão não salva.
Autentique-se usando `x-api-key` e a permissão `write:cases` da aplicação.

## Gerar e revisar uma proposta

Envie um `prompt` não vazio de no máximo 4000 caracteres. A resposta é `200` com um objeto `draft`, não um blueprint salvo nem um UUID.

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

A proposta pode conter `name`, `description`, `applies_to`, `content_config`, `require_resolution_note`, `assignment_method`, `max_active_cases` e `default_deadline_hours`. Os campos podem estar ausentes, então revise a resposta antes de usá-la. A proposta de nível superior exclui listas de responsáveis, configurações de aprovação e referências de roteamento.

Selecione por conta própria os responsáveis, as equipes, as aprovações e o roteamento antes de salvar. Se uma etapa gerada contiver `worked_by`, ela é validada na aplicação como UUID de uma equipe de revisão ativa; não trate uma proposta como uma atribuição aprovada.

Use [Criar blueprint de caso](https://docs.didit.me/pt-br/management-api/case-blueprints/create.md) após a revisão, incluindo o `name` obrigatório e um `assignee_pool` não vazio. Gerar uma proposta não salva um rascunho de política, não publica uma política e não altera casos existentes. O [ciclo de vida do rascunho salvo e da publicação](https://docs.didit.me/pt-br/console/case-management/blueprints.md#salvar-e-publicar-alterações-de-política) é separado.

## Errors

| Status | Meaning |
| - | - |
| `400` | Prompt ausente, vazio ou longo demais |
| `401` / `403` | Autenticação ou permissão ausente |
| `404` | Aplicação não encontrada |
| `503` | A geração falhou ou retornou uma proposta que não passou na validação; tente novamente mais tarde |

Uma falha de geração retorna:

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

## Relacionados

* [Listar blueprints de caso](https://docs.didit.me/pt-br/management-api/case-blueprints/list.md)
* [Configurações de blueprint e políticas de revisão](https://docs.didit.me/pt-br/console/case-management/blueprints.md)


## OpenAPI

````yaml pt-br/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 de verificação de identidade. Autentique-se com o cabeçalho 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: Criar um modelo preliminar de caso com IA
      description: >-
        Gera uma proposta de blueprint não salva. Requer write:cases. Retorna um
        objeto de rascunho, não um UUID de blueprint; nenhum blueprint nem
        rascunho de política salvo é criado. Revise a proposta, escolha os
        responsáveis e quaisquer equipes, aprovações ou roteamento, e depois
        crie ou atualize um blueprint separadamente. Conteúdo gerado inválido ou
        falha na geração retorna 503. Veja [rascunhos de IA de
        blueprint](/pt-br/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 da organização.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID da aplicação.
      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: Proposta não salva. Nenhum estado foi alterado.
          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 está ausente, em branco ou tem mais de 4000 caracteres.
        '401':
          description: A autenticação é obrigatória.
        '403':
          description: A permissão write:cases é obrigatória.
        '404':
          description: Aplicação não encontrada.
        '503':
          description: >-
            A geração falhou ou produziu uma proposta inválida. Tente novamente
            mais tarde.
          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: Descrição não vazia da política de revisão a ser proposta.
          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: >-
        Proposta validada, mas não salva. Os campos são opcionais; revise o
        resultado e selecione responsáveis, equipes e roteamento antes de
        salvar.
      properties:
        name:
          type: string
          maxLength: 24
          description: Máximo de 24 caracteres, por exemplo, "Investigação 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: >-
            Limiar do modo automático: "menos de N casos deste blueprint
            atribuídos".
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
          description: >-
            Prazo padrão para casos recém-abertos. Os prazos de casos existentes
            não mudam.
        applies_to:
          $ref: '#/components/schemas/CaseBlueprintAppliesTo'
    CaseContentConfig:
      type: object
      description: >-
        Seções de conteúdo do caso e etapas de revisão opcionais. Seções ou
        chaves desconhecidas são rejeitadas. Os casos mantêm o instantâneo da
        política aceito na abertura; edições posteriores do esquema não o
        reescrevem.
      properties:
        checklist:
          type: object
          properties:
            enabled:
              type: boolean
            optional:
              type: boolean
              description: >-
                Quando verdadeiro, um caso pode ser resolvido com itens da
                checklist incompletos.
            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: >-
            Etapas de revisão ordenadas. Se omitidas ou vazias, são usadas as
            etapas padrão Triagem, Revisão de evidências e Decisão.
          properties:
            items:
              type: array
              maxItems: 10
              items:
                $ref: '#/components/schemas/CaseBlueprintStage'
              description: >-
                No máximo dez etapas, com chaves distintas. Resolver um caso é
                uma mudança de status, não uma etapa.
    CaseBlueprintAppliesTo:
      type: array
      maxItems: 6
      items:
        type: string
        enum:
          - GENERAL
          - VERIFICATION_REVIEW
          - BUSINESS_REVIEW
          - AML
          - TRANSACTION_MONITORING
          - DUPLICATES
      description: >-
        Tipos de caso que este esquema descreve. Opcional na criação e na
        atualização; novos esquemas usam uma lista vazia por padrão. Armazenado
        no instantâneo da política de caso aceito.
      example:
        - AML
    CaseBlueprintStage:
      type: object
      additionalProperties: false
      required:
        - label
      properties:
        key:
          type: string
          pattern: ^[a-z0-9_]{1,64}$
          description: >-
            Único dentro da política. Omita para derivar a partir do rótulo. A
            chave resolvida é reservada.
          example: triage
        label:
          type: string
          minLength: 1
          maxLength: 64
          description: Rótulo não vazio da etapa.
          example: Triage
        sla_hours:
          type: integer
          minimum: 1
          maximum: 8760
          nullable: true
          description: SLA da etapa em horas, ou null para nenhum SLA.
          example: 24
        worked_by:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID opcional de uma equipe de revisão. Um valor não nulo deve
            identificar uma equipe ativa nesta aplicação. Omita ou use null para
            não ter equipe na etapa.
          example: a0000000-0000-4000-8000-000000000001
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Chave de API da sua aplicação, em Developers -> API keys no Business
        Console. A chave principal tem acesso total. Uma chave nomeada pode ter
        escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada
        a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a
        uma data de validade. 401 significa que a chave está errada, revogada ou
        expirada; 403 significa que nenhuma chave foi enviada, que a chave não
        tem acesso a este recurso ou ação, ou que a requisição veio de um
        endereço fora da sua lista de IPs; 404 em uma rota de sessão significa
        que a sessão está fora dos fluxos ou status da chave. Uma chave sem
        acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave
        sem permissão de escrita em sessões recebe links e tokens de sessão como
        null. Consulte https://docs.didit.me/console/api-keys.

````

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