> ## 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 de transfert de dossier Didit

> Déplacez un dossier vers un autre blueprint actif de la même application, si le blueprint actuel autorise le transfert. Didit



Prompt de l'API de transfert de dossier
        Copier le prompt dans le presse-papiers



      
      

\<pre>

\`Move a case to a different blueprint through the Management API.

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

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

Request body:
\{"target_blueprint": "<case-blueprint-uuid>"}

Behavior:
\- Requires the case's current blueprint to have transfer_enabled - otherwise 400.
\- target_blueprint must be an active blueprint of the same application - otherwise 400.
\- Reseeds the checklist from the new blueprint if the case had no checklist items yet, and auto-assigns if the new blueprint uses AUTOMATIC assignment.
\- Logs a TRANSFERRED event.

Example call:
curl -X POST "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/transfer/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"target_blueprint": "<uuid>"}'

Response 200: CaseDetail with the new blueprint attached.

Failure modes:
\- 400 - transfer not enabled on the current blueprint, or target_blueprint is not an active blueprint of the same application.
\- 401/403 - auth/permission errors.

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

\</pre>



      
      

Coller dans

Déplacez un dossier vers un blueprint totalement différent, contrairement à [l'escalade](https://docs.didit.me/fr/console/case-management/blueprints.md#escalade-et-transfert), qui achemine toujours vers une cible fixe unique. Le transfert ne fonctionne que si le blueprint actuel du dossier a `transfer_enabled` activé.## Liens connexes- [Blueprints (console)](https://docs.didit.me/fr/console/case-management/blueprints.md)
- [Résoudre le dossier](https://docs.didit.me/fr/management-api/cases/resolve.md)


## OpenAPI

````yaml fr/openapi-25.json POST /v3/organization/{organization_id}/application/{application_id}/cases/{case_uuid}/transfer/
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/{case_uuid}/transfer/:
    post:
      tags:
        - Cases
      summary: Transférer le dossier
      description: >-
        Déplace le dossier vers un blueprint actif différent de la même
        application. Nécessite que le blueprint actuel ait transfer_enabled
        activé, sinon renvoie 400.
      operationId: transfer_case
      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.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: UUID du dossier.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - target_blueprint
              properties:
                target_blueprint:
                  type: string
                  format: uuid
            example:
              target_blueprint: b1de0000-0000-4000-8000-000000000002
      responses:
        '200':
          description: Dossier transféré.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseDetail'
      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/c1a5e000-0000-4000-8000-000000000001/transfer/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"target_blueprint": "b1de0000-0000-4000-8000-000000000002"}'
        - 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.transfer(
                "c1a5e000-0000-4000-8000-000000000001",
                target_blueprint="b1de0000-0000-4000-8000-000000000002",
            )
            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.transfer("c1a5e000-0000-4000-8000-000000000001", {
              target_blueprint: "b1de0000-0000-4000-8000-000000000002",
            });

            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.Transfer(ctx, \"c1a5e000-0000-4000-8000-000000000001\", didit.CasesTransferParams{\n\tTargetBlueprint: \"b1de0000-0000-4000-8000-000000000002\",\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.CasesTransferParams;


            // Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID

            // and DIDIT_APPLICATION_ID.

            Didit client = new Didit();


            var result =
            client.cases().transfer("c1a5e000-0000-4000-8000-000000000001",
            CasesTransferParams.builder()
                    .targetBlueprint("b1de0000-0000-4000-8000-000000000002")
                    .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->transfer('c1a5e000-0000-4000-8000-000000000001', [
                'target_blueprint' => 'b1de0000-0000-4000-8000-000000000002',
            ]);

            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.transfer(
              "c1a5e000-0000-4000-8000-000000000001",
              target_blueprint: "b1de0000-0000-4000-8000-000000000002"
            )
            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.TransferAsync("c1a5e000-0000-4000-8000-000000000001",
            new CasesTransferParams

            {
                TargetBlueprint = "b1de0000-0000-4000-8000-000000000002",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    CaseDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        case_number:
          type: string
          nullable: true
        title:
          type: string
        status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
        resolution:
          type: string
          enum:
            - FALSE_POSITIVE
            - VALID_THREAT
            - INCONCLUSIVE
            - REQUIREMENTS_NOT_MET
            - REQUIREMENTS_SATISFIED
          nullable: true
        resolution_notes:
          type: string
          nullable: true
        priority:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
        source:
          type: string
          enum:
            - MANUAL
            - AML_SCREENING
            - TRANSACTION_RULE
            - WORKFLOW_BUILDER
        tags:
          type: array
          items:
            type: string
        subject:
          $ref: '#/components/schemas/CaseSubject'
        assigned_to:
          $ref: '#/components/schemas/CaseAssignee'
        assigned_at:
          type: string
          format: date-time
          nullable: true
        team:
          $ref: '#/components/schemas/CaseTeamSummary'
        due_at:
          type: string
          format: date-time
          nullable: true
        resolved_at:
          type: string
          format: date-time
          nullable: true
        resolved_by_email:
          type: string
          nullable: true
        pending_resolution:
          type: object
          nullable: true
          description: >-
            Défini uniquement lorsqu'une résolution à 4 yeux est préparée sur le
            blueprint du checker, en attente d'approbation ou de rejet.
          properties:
            resolution:
              type: string
              enum:
                - FALSE_POSITIVE
                - VALID_THREAT
                - INCONCLUSIVE
                - REQUIREMENTS_NOT_MET
                - REQUIREMENTS_SATISFIED
            resolution_notes:
              type: string
              nullable: true
            maker_email:
              type: string
              format: email
              nullable: true
              description: >-
                E-mail du responsable qui a soumis la résolution. Null
                lorsqu'une clé API l'a soumise : cette résolution n'a pas
                d'auteur enregistré, donc approve et reject-approval renvoient
                403 pour tous les appelants.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                UUID d'utilisateur du membre qui a soumis la résolution. Null
                lorsqu'une clé API l'a soumise. Ce membre ne peut pas être
                désigné comme `checker`.
            maker_blueprint_id:
              type: string
              format: uuid
            staged_at:
              type: string
              format: date-time
        checker:
          $ref: '#/components/schemas/CaseChecker'
        metadata:
          type: object
        blueprint:
          $ref: '#/components/schemas/CaseBlueprintDetail'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/CaseNote'
          description: 50 notes les plus récentes.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: 100 événements les plus récents.
        links:
          type: array
          items:
            $ref: '#/components/schemas/CaseLink'
        links_count:
          type: integer
        notes_count:
          type: integer
        checklist_items:
          type: array
          items:
            $ref: '#/components/schemas/CaseChecklistItem'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    CaseSubject:
      type: object
      nullable: true
      description: >-
        L'utilisateur ou l'entreprise unique auquel ou à laquelle le dossier est
        rattaché.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: Le vendor_data du sujet.
        country:
          type: string
          nullable: true
          description: >-
            Code pays à trois lettres du sujet (ISO 3166-1 alpha-3), ou null
            lorsqu'il n'est pas connu. Pour une entreprise, son pays de
            constitution. Pour une personne, le pays de délivrance d'un document
            d'identité issu de ses vérifications ; une personne possédant des
            documents de plusieurs pays affiche l'un d'eux, et des codes de
            document OACI tels que `XXA` peuvent apparaître.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            URL signée de courte durée de l'image du portrait de la personne.
            Toujours null pour une entreprise, et null pour une personne sans
            portrait. L'URL expire, téléchargez donc l'image lorsque vous
            consultez le dossier plutôt que d'enregistrer l'URL.
    CaseAssignee:
      type: object
      nullable: true
      properties:
        uuid:
          type: string
          format: uuid
        full_name:
          type: string
        email:
          type: string
          format: email
    CaseTeamSummary:
      type: object
      nullable: true
      description: >-
        L'équipe d'examen assignée au dossier, ou null si aucune équipe n'en est
        responsable. Le routage la définit lorsqu'une règle de routage attribue
        le dossier à l'une de ses équipes. Modifiez-la ou effacez-la avec `PATCH
        .../cases/{case_uuid}/` (`team`).
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        Le membre désigné pour approuver ou rejeter la résolution en attente.
        Défini uniquement lorsqu'une résolution à quatre yeux attend un
        vérificateur désigné. Null lorsque rien n'est en attente, pendant que la
        résolution en attente patiente dans la file d'attente des vérificateurs,
        et une fois la résolution approuvée, rejetée ou renvoyée pour un nouvel
        examen en raison de la modification des preuves.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: "L'UUID d'utilisateur du membre\_: la valeur que vous transmettez comme `checker` lorsque vous résolvez le dossier."
        name:
          type: string
          nullable: true
          description: Le nom complet du membre, ou null lorsqu'il n'est pas connu.
        email:
          type: string
          format: email
    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: >-
            Les six sections activables qui déterminent les onglets et les
            champs affichés sur la page du dossier. Les sections ou clés
            inconnues sont rejetées.
          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
        creation_sources:
          type: array
          description: >-
            Connecteurs acheminant actuellement de nouveaux dossiers vers ce
            modèle.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: Autres modèles dont la cible d'escalade pointe vers celui-ci.
          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
    CaseNote:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        comment:
          type: string
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        mentioned_emails:
          type: array
          items:
            type: string
            format: email
        is_internal:
          type: boolean
        attachments:
          type: array
          items:
            type: object
            properties:
              s3_key:
                type: string
              filename:
                type: string
              file_size:
                type: integer
              url:
                type: string
                format: uri
        tags:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
    CaseEvent:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        event_type:
          type: string
          enum:
            - CREATED
            - STATUS_CHANGED
            - ASSIGNED
            - UNASSIGNED
            - RESOLVED
            - REOPENED
            - LINK_ADDED
            - LINK_REMOVED
            - NOTE_ADDED
            - NOTE_PINNED
            - NOTE_UNPINNED
            - PRIORITY_CHANGED
            - DUE_DATE_CHANGED
            - TAG_ADDED
            - TAG_REMOVED
            - ESCALATED
            - TRANSFERRED
            - CHECKLIST_COMPLETED
            - REPORT_CREATED
            - REPORT_FINALIZED
            - SUBMITTED_FOR_APPROVAL
            - APPROVAL_GRANTED
            - APPROVAL_REJECTED
            - ENTITY_ACTION
            - APPROVAL_INVALIDATED
            - CUSTOMER_REQUEST
            - STAGE_CHANGED
            - TEAM_CHANGED
            - CHECKER_ASSIGNED
            - CHECKER_UNASSIGNED
        actor_email:
          type: string
          format: email
          nullable: true
        actor_name:
          type: string
          nullable: true
        previous_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        new_status:
          type: string
          enum:
            - OPEN
            - AWAITING_USER
            - RESOLVED
          nullable: true
        metadata:
          type: object
        created_at:
          type: string
          format: date-time
    CaseLink:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        linked_entity_type:
          type: string
          enum:
            - session
            - business_session
            - transaction
          nullable: true
        linked_entity_uuid:
          type: string
          format: uuid
          nullable: true
        linked_entity_summary:
          type: object
          nullable: true
          description: >-
            session_id/session_number/status pour les liens de session et
            business_session ; uuid/txn_id/status pour les liens de transaction.
        created_at:
          type: string
          format: date-time
    CaseChecklistItem:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          maxLength: 255
        is_completed:
          type: boolean
        completed_by:
          type: string
          format: email
          nullable: true
        completed_at:
          type: string
          format: date-time
          nullable: true
        order:
          type: integer
  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.