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

# Brouillon de blueprint de dossier par IA via API

> Générez avec Didit une proposition de blueprint de dossier non enregistrée depuis un prompt, puis enregistrez vos paramètres de politique à part.

L'API de brouillon IA des blueprints de Didit transforme une description de politique en une proposition de politique d'examen non enregistrée.
Authentifiez-vous avec `x-api-key` et l'autorisation `write:cases` pour l'application.

## Générer et examiner une proposition

Envoyez un `prompt` non vide de 4000 caractères au maximum. La réponse est `200` avec un objet `draft`, et non un modèle de dossier enregistré ni un UUID.

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

La proposition peut contenir les champs `name`, `description`, `applies_to`, `content_config`, `require_resolution_note`, `assignment_method`, `max_active_cases` et `default_deadline_hours`. Certains champs peuvent être absents ; examinez donc la réponse avant de l'utiliser. La proposition de niveau supérieur exclut les listes de personnes affectées, les paramètres d'approbation et les références de routage.

Sélectionnez vous-même les personnes affectées, les équipes, les approbations et le routage avant d'enregistrer. Si une étape générée contient `worked_by`, elle est validée dans l'application comme UUID d'une équipe d'examen active ; ne considérez pas une proposition comme une affectation approuvée.

Utilisez [Créer un modèle de dossier](https://docs.didit.me/fr/management-api/case-blueprints/create.md) après examen, en renseignant le champ obligatoire `name` et un `assignee_pool` non vide. La génération d'une proposition n'enregistre pas de brouillon de politique, ne publie aucune politique et ne modifie pas les dossiers existants. Le [cycle de vie du brouillon enregistré et de la publication](https://docs.didit.me/fr/console/case-management/blueprints.md#enregistrer-et-publier-les-modifications-de-politique) est distinct.

## Erreurs

| Statut | Signification |
| - | - |
| `400` | Prompt absent, vide ou trop long |
| `401` / `403` | Authentification ou autorisation absente |
| `404` | Application introuvable |
| `503` | Échec de la génération, ou proposition n'ayant pas passé la validation ; réessayez plus tard |

Un échec de génération renvoie :

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

## Voir aussi

* [Lister les modèles de dossiers](https://docs.didit.me/fr/management-api/case-blueprints/list.md)
* [Paramètres des modèles et politiques d'examen](https://docs.didit.me/fr/console/case-management/blueprints.md)


## OpenAPI

````yaml fr/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 vérification d'identité. Authentifiez-vous avec l'en-tête 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: Rédiger un plan de dossier avec l'IA
      description: >-
        Génère une proposition de blueprint non enregistrée. Nécessite
        write:cases. Renvoie un objet brouillon, et non un UUID de blueprint ;
        aucun blueprint ni brouillon de politique enregistré n'est créé.
        Examinez la proposition, choisissez les assignataires ainsi que les
        équipes, approbations ou règles de routage éventuels, puis créez ou
        mettez à jour un blueprint séparément. Un contenu généré invalide ou un
        échec de génération renvoie 503. Voir [brouillons IA de
        blueprint](/fr/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 de l'organisation.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID de l'application.
      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: Proposition non enregistrée. Aucun état n'a été modifié.
          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 absent, vide ou dépasse 4000 caractères.
        '401':
          description: L'authentification est requise.
        '403':
          description: L'autorisation write:cases est requise.
        '404':
          description: Application introuvable.
        '503':
          description: >-
            La génération a échoué ou a produit une proposition invalide.
            Réessayez plus tard.
          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: Description non vide de la politique d'examen à proposer.
          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: >-
        Proposition non enregistrée et validée. Les champs sont facultatifs ;
        vérifiez le résultat et sélectionnez les personnes assignées, les
        équipes et le routage avant l'enregistrement.
      properties:
        name:
          type: string
          maxLength: 24
          description: 24 caractères au maximum, ex. « investigation 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: >-
            Seuil du mode automatique : « moins de N dossiers de ce modèle
            attribués ».
        default_deadline_hours:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8760
          description: >-
            Délai par défaut pour les dossiers nouvellement ouverts. Les délais
            des dossiers existants restent inchangés.
        applies_to:
          $ref: '#/components/schemas/CaseBlueprintAppliesTo'
    CaseContentConfig:
      type: object
      description: >-
        Sections de contenu du dossier et étapes de revue facultatives. Les
        sections ou clés inconnues sont rejetées. Les dossiers conservent
        l'instantané de politique accepté à leur ouverture ; les modifications
        ultérieures du modèle ne le réécrivent pas.
      properties:
        checklist:
          type: object
          properties:
            enabled:
              type: boolean
            optional:
              type: boolean
              description: >-
                Si true, un dossier peut être résolu avec des éléments de liste
                de contrôle incomplets.
            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: >-
            Étapes d'examen ordonnées. Les éléments omis ou vides utilisent les
            étapes par défaut Triage, examen des éléments probants et décision.
          properties:
            items:
              type: array
              maxItems: 10
              items:
                $ref: '#/components/schemas/CaseBlueprintStage'
              description: >-
                Dix étapes au maximum, avec des clés distinctes. Résoudre un
                dossier est un changement de statut, et non une étape.
    CaseBlueprintAppliesTo:
      type: array
      maxItems: 6
      items:
        type: string
        enum:
          - GENERAL
          - VERIFICATION_REVIEW
          - BUSINESS_REVIEW
          - AML
          - TRANSACTION_MONITORING
          - DUPLICATES
      description: >-
        Types de dossiers décrits par ce modèle. Facultatif à la création et à
        la mise à jour ; les nouveaux modèles ont par défaut une liste vide.
        Stocké dans l'instantané de politique de dossier accepté.
      example:
        - AML
    CaseBlueprintStage:
      type: object
      additionalProperties: false
      required:
        - label
      properties:
        key:
          type: string
          pattern: ^[a-z0-9_]{1,64}$
          description: >-
            Unique au sein de la politique. Omettre pour dériver de l'étiquette.
            La clé résolue est réservée.
          example: triage
        label:
          type: string
          minLength: 1
          maxLength: 64
          description: Libellé d'étape non vide.
          example: Triage
        sla_hours:
          type: integer
          minimum: 1
          maximum: 8760
          nullable: true
          description: >-
            Délai de niveau de service (SLA) de l'étape, en heures, ou null s'il
            n'y a aucun SLA.
          example: 24
        worked_by:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID facultatif de l'équipe d'examen. Une valeur non nulle doit
            identifier une équipe active dans cette application. Omettez-le ou
            utilisez null pour ne pas affecter d'équipe à l'étape.
          example: a0000000-0000-4000-8000-000000000001
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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