> ## 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 per transferir casos

> Mou un cas a un altre blueprint actiu de la mateixa aplicació de Didit, quan el blueprint actual permet la transferència.



Prompt de l'API de transferència de casos
        Copia el prompt al porta-retalls



      
      

\<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>



      
      

Enganxa a

Mou un cas a un blueprint completament diferent, a diferència de [escalada](https://docs.didit.me/ca/console/case-management/blueprints.md#escalat-i-transferència), que sempre el redirigeix a un únic destí fix. La transferència només funciona quan el blueprint actual del cas té `transfer_enabled` activat.## Relacionats- [Blueprints (Consola)](https://docs.didit.me/ca/console/case-management/blueprints.md)
- [Resoldre el cas](https://docs.didit.me/ca/management-api/cases/resolve.md)


## OpenAPI

````yaml ca/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 verificació d'identitat. Autentica't amb la capçalera 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: Transferir cas
      description: >-
        Mou el cas a un blueprint diferent i actiu de la mateixa aplicació.
        Requereix que el blueprint actual tingui transfer_enabled; altrament,
        retorna 400.
      operationId: transfer_case
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID de l'organització.
        - name: application_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID de l'aplicació.
        - name: case_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            example: c1a5e000-0000-4000-8000-000000000001
          description: UUID del cas.
      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: Cas transferit.
          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: >-
            S'estableix només mentre una resolució de 4 ulls està preparada a
            l'esquema del verificador, esperant l'aprovació o el rebuig de
            l'aprovació.
          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: >-
                Correu electrònic del responsable que ha enviat la resolució.
                Null quan l'ha enviat una clau d'API: aquesta resolució no té
                cap autor registrat, de manera que approve i reject-approval
                retornen 403 per a qualsevol persona que els cridi.
            maker_name:
              type: string
              nullable: true
            maker_user_id:
              type: string
              format: uuid
              nullable: true
              description: >-
                UUID d'usuari membre del responsable que ha enviat la resolució.
                Null quan l'ha enviada una clau d'API. Aquest membre no es pot
                indicar com a `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: Les 50 notes més recents.
        events:
          type: array
          items:
            $ref: '#/components/schemas/CaseEvent'
          description: Els 100 esdeveniments més recents.
        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'únic usuari o empresa al qual està vinculat el cas.
      properties:
        type:
          type: string
          enum:
            - user
            - business
        uuid:
          type: string
          format: uuid
        name:
          type: string
        external_id:
          type: string
          nullable: true
          description: El vendor_data del subjecte.
        country:
          type: string
          nullable: true
          description: >-
            Codi de país de tres lletres del subjecte (ISO 3166-1 alfa-3), o
            null quan no es coneix. Per a una empresa, el seu país de
            constitució. Per a una persona, el país emissor d'un document
            d'identitat de les seves verificacions; una persona amb documents de
            diversos països en mostra un d'ells, i poden aparèixer codis de
            document de l'OACI com ara `XXA`.
          example: ESP
        portrait:
          type: string
          format: uri
          nullable: true
          description: >-
            URL signada de curta durada de la imatge de retrat de la persona.
            Sempre null per a una empresa, i null per a una persona sense
            retrat. La URL caduca, així que descarrega la imatge quan llegeixis
            el cas en lloc d'emmagatzemar la 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'equip de revisió propietari del cas, o null quan cap equip n'és el
        propietari. L'encaminament l'assigna quan una regla d'encaminament
        assigna el cas a un dels seus equips. Canvia'l o buida'l amb `PATCH
        .../cases/{case_uuid}/` (`team`).
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
    CaseChecker:
      type: object
      nullable: true
      description: >-
        El membre designat per aprovar o rebutjar la resolució pendent. Només
        s'estableix mentre una resolució de quatre ulls espera un revisor
        designat. Null quan no hi ha res pendent, mentre la resolució pendent
        espera a la cua de revisors i un cop la resolució ha estat aprovada,
        rebutjada o retornada per a una nova revisió perquè les proves han
        canviat.
      properties:
        member_uuid:
          type: string
          format: uuid
          description: >-
            L'uuid d'usuari del membre: el valor que passes com a `checker` quan
            resols el cas.
        name:
          type: string
          nullable: true
          description: El nom complet del membre, o null quan no es coneix.
        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 sis seccions que es poden activar o desactivar i que determinen
            quines pestanyes i quins camps apareixen a la pàgina del cas. Es
            rebutgen les seccions o claus desconegudes.
          properties:
            checklist:
              type: object
              properties:
                enabled:
                  type: boolean
                optional:
                  type: boolean
                  description: >-
                    Quan és cert, es pot resoldre un cas amb elements de la
                    llista de verificació 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: >-
            Connectors que actualment estan encaminant casos nous cap a aquest
            esquema.
          items:
            type: object
            properties:
              kind:
                type: string
                enum:
                  - aml
                  - rule
                  - workflow
              id:
                type: string
              name:
                type: string
        receives_escalation_from:
          type: array
          description: Altres esquemes l'objectiu d'escalat dels quals apunta a aquest.
          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 per a enllaços de sessió i
            business_session; uuid/txn_id/status per a enllaços de transacció.
        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 clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

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