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

# Instalar reglas de monitorización de transacciones (API)

> Instala reglas KYT predefinidas en tu aplicación de Didit vía API, una a una por clave de biblioteca o un paquete completo de una vez.



Prompt de la API para instalar reglas de la biblioteca
        Copiar el prompt al portapapeles



      
      

\<pre>

\`Install preset rules from the Didit library onto my application.

Endpoint:
POST https://verification.didit.me/v3/transactions/rules/install/

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

Request body (application/json) - provide at least one selector:
\{ "library_keys": ["structuring-inbound", "structuring-outbound"] }
\{ "bundle": "responsible_gaming" }
\{ "library_keys": ["structuring-inbound"], "bundle": "aml_ctf" }

Response:
\{ "installed_library_keys": ["structuring-inbound", "structuring-outbound"], "installed_count": 2 }

Behavior:
\- Installed presets evaluate immediately - in ACTIVE mode when transaction monitoring is enabled on the application, DISABLED otherwise. Tune them afterwards with PATCH (mode only).
\- You may send both selectors. When you do, only the requested library keys that belong to the bundle are installed.
\- Already-installed keys are skipped, so the call is safe to repeat.
\- Discover keys and bundles via GET /v3/transactions/rules/library/.

Failure modes:
\- 400 - neither library_keys nor bundle provided, or library_keys is not a list.`

\</pre>



      
      

Pegar en



## OpenAPI

````yaml es/openapi-25.json POST /v3/transactions/rules/install/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificación de identidad. Autentícate con el encabezado x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/transactions/rules/install/:
    post:
      tags:
        - Transactions
      summary: Instalar reglas de la biblioteca
      description: >-
        Instala uno o más presets en la aplicación, mediante `library_keys` o un
        `bundle` completo. Un preset instalado se activa de inmediato mientras
        la monitorización de transacciones está activada y, en caso contrario,
        queda deshabilitado; las claves ya instaladas se omiten. Una regla de la
        biblioteca cuyas condiciones leen datos que el motor de reglas todavía
        no puede evaluar se retiene hasta que pueda ejecutarse. Una solicitud
        que incluya una de ellas en `library_keys` responde con 400 y no instala
        nada ("These library rules cannot run yet: their conditions read data
        the rules engine cannot evaluate." seguido de las claves), y una
        instalación mediante `bundle` la omite. Una regla retenida vuelve por sí
        sola en cuanto sus condiciones pueden evaluarse. Una entrada de
        `library_keys` que no está en la biblioteca se omite, no se rechaza.
      operationId: installTransactionRuleLibrary
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionRuleInstallRequest'
            example:
              library_keys:
                - structuring-inbound
                - structuring-outbound
      responses:
        '200':
          description: Qué se instaló.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionRuleInstallResult'
              example:
                installed_library_keys:
                  - structuring-inbound
                  - structuring-outbound
                installed_count: 2
        '400':
          description: >-
            No se proporcionó ni library_keys ni bundle, `library_keys` no es
            una lista o una entrada de `library_keys` está retenida. Una entrada
            desconocida se omite y la respuesta es 200 sin ella.
          content:
            application/json:
              schema:
                type: object
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/transactions/rules/install/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"library_keys": ["structuring-inbound", "structuring-outbound"]}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.transactions.rules.install_library(
                library_keys=["structuring-inbound", "structuring-outbound"],
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.transactions.rules.installLibrary({
              library_keys: ["structuring-inbound", "structuring-outbound"],
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Transactions.Rules.InstallLibrary(ctx, didit.TransactionRuleInstallRequest{\n\tLibraryKeys: didit.Some([]string{\"structuring-inbound\", \"structuring-outbound\"}),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import java.util.List;

            import me.didit.Didit;

            import me.didit.types.TransactionRuleInstallRequest;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.transactions().rules().installLibrary(TransactionRuleInstallRequest.builder()
                    .libraryKeys(List.of("structuring-inbound", "structuring-outbound"))
                    .build());
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->transactions->rules->installLibrary([
                'library_keys' => ['structuring-inbound', 'structuring-outbound'],
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result = didit.transactions.rules.install_library(library_keys:
            ["structuring-inbound", "structuring-outbound"])

            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await client.Transactions.Rules.InstallLibraryAsync(new
            TransactionRuleInstallRequest

            {
                LibraryKeys = new string[] { "structuring-inbound", "structuring-outbound" },
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TransactionRuleInstallRequest:
      type: object
      properties:
        library_keys:
          type: array
          items:
            type: string
          description: Ajustes predefinidos concretos que se van a instalar o desinstalar.
        bundle:
          type: string
          description: Instala o desinstala en su lugar todos los presets de este bundle.
      description: Proporciona library_keys O bundle.
    TransactionRuleInstallResult:
      type: object
      properties:
        installed_library_keys:
          type: array
          items:
            type: string
          description: 'Solo POST (instalación): presets instalados por esta llamada.'
        installed_count:
          type: integer
          description: Solo POST (instalación).
        uninstalled_count:
          type: integer
          description: >-
            Solo para DELETE (desinstalación): presets eliminados por esta
            llamada.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clave de API de tu aplicación, que encontrarás en Developers -> API
        keys en la Business Console. La clave principal tiene acceso completo.
        Una clave con nombre puede tener un alcance limitado: ninguno, lectura o
        escritura por recurso, limitada a algunos flujos o a sesiones aprobadas,
        a una lista de direcciones IP y a una fecha de caducidad. 401 significa
        que la clave es incorrecta, se revocó o expiró; 403 significa que no se
        envió ninguna clave, que la clave no tiene acceso a este recurso o
        acción, o que la solicitud provino de una dirección fuera de su lista de
        IP; 404 en una ruta de sesión significa que la sesión está fuera de los
        flujos o estados de la clave. Una clave sin acceso a contenido
        multimedia recibe las URL de imágenes, videos y PDF como null, y una
        clave sin permiso de escritura en sesiones recibe los enlaces y tokens
        de sesión como null. Consulta https://docs.didit.me/console/api-keys.

````

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