> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cbpayapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear un informe crediticio

> Emite un informe crediticio nuevo de un sujeto (persona o empresa),
cobrado como fee standalone (`risk_report_person` / `risk_report_company`)
al momento de la emisión. La idempotencia es obligatoria: reintentar con la
misma `idempotency_key` devuelve el informe original con `idempotency_hit:
true` y jamás cobra dos veces. El informe se calcula de forma síncrona: la
respuesta es normalmente el informe terminado (status `ready`) o uno fallido
(status `failed` con `error_code`/`error_message`). El campo `purpose`
es obligatorio (ley de protección de datos) y `doc_id` se valida y
normaliza por país (p. ej. el RUT chileno con dígito verificador).



## OpenAPI

````yaml /openapi.es.yaml post /v1/qscore/reports
openapi: 3.1.0
info:
  title: CBPay API
  version: '2.62'
  description: |
    CBPay es una plataforma de pagos multimoneda: payouts y cobros fiat
    en toda América Latina, transferencias internas, fondeo y retiros
    on-chain, y screening KYC. Cada cuenta mantiene cuatro saldos virtuales
    independientes — USDT (la moneda operativa), USDC, BTC y GOLD (gramos de
    oro fino) — convertibles a demanda con swaps.
    Los payouts y las comisiones de servicios pueden pagarse desde cualquiera
    de los cuatro saldos (`PUT /v1/settlement` u override por payout con
    `settlement_asset`), y los payins pueden auto-convertirse al asset que
    elijas (`default_payin_asset`).

    Todos los montos son strings decimales en la precisión de cada moneda (6
    decimales para USDT/USDC/GOLD, 8 para BTC). Los errores siempre devuelven
    `{"error": "<code>", "message": "<detail>"}`.
servers:
  - url: https://api.qbank.cl/platform
    description: Live (producción, dinero real)
  - url: https://cryptobank.qbank.cl/platform
    description: Test (sandbox, dinero simulado — keys pk_test_)
security:
  - bearerAuth: []
tags:
  - name: Comprobantes
    description: >-
      Comprobante PDF brandeado por operacion, con verificacion publica de
      autenticidad (QR firmado), receipt_url en cada respuesta/webhook y envio
      automatico por email en estados finales.
  - name: Autenticación
    description: >-
      Registra e inicia sesión de los miembros de la cuenta. Las sesiones duran
      24 horas.
  - name: Cuenta
    description: Perfil, miembros y llaves de API de la cuenta que llama.
  - name: Saldos
    description: Saldos, historial de movimientos y tasas de cambio.
  - name: Payouts
    description: >-
      Dispersiones fiat que se debitan del saldo de settlement que elijas (USDT
      por defecto).
  - name: Payins
    description: >-
      Recargas fiat (QR, transferencias, cuentas dedicadas, cobros pull,
      tarjetas, links de checkout) que se acreditan automáticamente — en USDT
      por defecto, o convertidas al settlement asset que elijas.
  - name: Checkout
    description: >-
      Links de checkout universal (`POST /v1/payins` con `method: "checkout"`) y
      los endpoints públicos de la página de pago — fiat multi-país, crypto con
      wallet efímera por link y pago directo CBPay, liquidado en el asset que
      elijas.
  - name: Tarjetas guardadas
    description: >-
      Tarjetas guardadas con el consentimiento explícito del pagador durante un
      pago 3-D Secure (COF). Listarlas, revocarlas y cobrarlas bajo demanda
      (MIT) sin pedir la tarjeta de nuevo.
  - name: Suscripciones
    description: >-
      Cobros recurrentes sobre una tarjeta guardada gestionados por el scheduler
      de la plataforma — diarios, semanales, mensuales o anuales, con
      pausa/reanudación/cancelación y dunning automático.
  - name: Transferencias
    description: >-
      Transferencias internas gratuitas entre cuentas CBPay (persona o empresa,
      cualquier combinación).
  - name: Contacts
    description: >-
      Libreta de beneficiarios por cuenta (destinos CBPay, bancarios y crypto)
      con match por teléfono y auto-guardado en cada envío.
  - name: Swaps
    description: >-
      Conversión instantánea entre los saldos USDT, USDC, BTC y GOLD de la
      cuenta a la tasa cotizada de la cuenta.
  - name: Crypto
    description: Fondeo y retiros on-chain (TRON, Ethereum y Bitcoin).
  - name: Wallets segregadas
    description: >-
      Wallets on-chain con saldo propio (empresas ilimitadas; personas 1 por
      combinación red+activo) — crear, importar, enviar, exportar la llave
      privada y auto-forward. El saldo vive on-chain, nunca en el ledger.
  - name: Pruebas de firma
    description: >-
      Firma criptográfica de mensajes con wallets (EIP-191 ETH/EVM, TIP-191
      TRON) — crear, listar, consultar y revocar pruebas de firma con
      verificación pública.
  - name: Vínculos de wallets
    description: >-
      Vincula wallets externas (custody=client) a tu cuenta firmando un desafío
      nonce — crear desafíos, verificar firmas, listar y revocar vínculos.
  - name: QR Crypto POS
    description: >-
      Cobros QR crypto con monto para procesadores con POS físicos (cuentas
      empresa): merchants verificados, dirección exclusiva + QR por cobro,
      detección temprana del pago, conciliación por merchant y devoluciones por
      el riel de retiro crypto.
  - name: KYC / KYB
    description: >-
      Verificación de identidad: KYC para personas, KYB para empresas — tu
      propio onboarding y verificaciones de terceros para cuentas empresa.
  - name: Screening de wallets
    description: >-
      Evaluación de riesgo AML de direcciones blockchain (sanciones, exposición
      a fondos ilícitos) con comisión por scan, más protección automática
      gratuita en retiros y depósitos.
  - name: AML screening
    description: >-
      Screening AML standalone de personas y empresas contra listas de
      sanciones, PEP y medios adversos, con re-screening, monitoreo continuo e
      informe PDF descargable.
  - name: Qscore
    description: >-
      Buró de crédito API-first. Emite informes crediticios completos con score
      1-999 (bandas A-E, o SC cuando no hay datos), consulta el último score de
      un sujeto y gestiona disputas ARCO. Chile primero, con diseño agnóstico al
      país. Cada informe emitido lleva un código de verificación pública.
  - name: Analytics
  - name: Webhooks
    description: Suscripciones para recibir notificaciones de eventos firmadas.
  - name: Estado
    description: Disponibilidad del servicio.
  - name: Banking
    description: >-
      Cuentas bancarias reales: recibe, mantén y envía dinero por rieles
      bancarios internacionales.
  - name: Cards
    description: >-
      Tarjetas virtuales y físicas que gastan Just-In-Time del saldo que elijas
      (USDT, USDC, BTC o GOLD), con límites de gasto por tarjeta.
  - name: Seguridad (OTP)
    description: >-
      Códigos de verificación de un solo uso por SMS/WhatsApp/email que protegen
      acciones sensibles, más las preferencias de 2FA self-service. Aplican solo
      a sesiones de usuario — las API keys quedan exentas.
  - name: Passkeys
    description: >-
      Inicio de sesión sin contraseña con la biometría del dispositivo (Face ID,
      Touch ID, Windows Hello, llaves de seguridad) vía WebAuthn, apps
      autenticadoras (TOTP) con códigos de respaldo, y gestión de
      sesiones/dispositivos.
  - name: Login social
    description: >-
      Registro e inicio de sesión sin contraseña con Google, Apple, Microsoft y
      Facebook vía token exchange. El front obtiene la credencial del proveedor;
      la API la verifica y emite la sesión CBPay.
  - name: Eventos en tiempo real
    description: >-
      Stream Server-Sent Events con todo lo que pasa en la cuenta (o en toda la
      organización para administradores), replay con `Last-Event-ID`, snapshot
      inicial opcional e historial consultable de 90 días.
paths:
  /v1/qscore/reports:
    post:
      tags:
        - Qscore
      summary: Crear un informe crediticio
      description: >-
        Emite un informe crediticio nuevo de un sujeto (persona o empresa),

        cobrado como fee standalone (`risk_report_person` /
        `risk_report_company`)

        al momento de la emisión. La idempotencia es obligatoria: reintentar con
        la

        misma `idempotency_key` devuelve el informe original con
        `idempotency_hit:

        true` y jamás cobra dos veces. El informe se calcula de forma síncrona:
        la

        respuesta es normalmente el informe terminado (status `ready`) o uno
        fallido

        (status `failed` con `error_code`/`error_message`). El campo `purpose`

        es obligatorio (ley de protección de datos) y `doc_id` se valida y

        normaliza por país (p. ej. el RUT chileno con dígito verificador).
      operationId: createQscoreReport
      requestBody:
        required: true
        content:
          application/json:
            examples:
              person:
                summary: Informe de persona (RUT chileno)
                value:
                  doc_id: 12.345.678-5
                  country: CL
                  subject_type: person
                  purpose: credit_evaluation
                  lang: es
                  idempotency_key: qscore-9f2b8d11
              company:
                summary: Informe de empresa (RUT chileno de empresa)
                value:
                  doc_id: 76.543.210-3
                  country: CL
                  subject_type: company
                  purpose: supplier_onboarding
                  lang: en
                  idempotency_key: qscore-7a31c4e5
      responses:
        '201':
          description: >-
            Informe creado y calculado. `model_version` identifica la

            versión del modelo de score. Con status `ready`, el objeto `report`

            normalizado completo va embebido; con status `failed`,

            `error_code`/`error_message` explican por qué y la clave de
            idempotencia

            se libera para poder reintentar.
          content:
            application/json:
              examples:
                ready:
                  summary: Informe listo (score calculado)
                  value:
                    report_id: 3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01
                    subject_id: 8f5fb0d2-1d45-4a0e-9d5c-2d39f2b7a112
                    status: ready
                    purpose: credit_evaluation
                    lang: es
                    score: 742
                    band: B
                    model_version: v1
                    reason_codes:
                      - code: CREDIT_HISTORY_DEPTH
                        direction: positive
                        weight: medium
                      - code: ACTIVE_TRADELINES
                        direction: positive
                        weight: low
                    verify_code: Q3f5c9f2d7d214b8c9a2d2d5f6a1b8c01a1b2c3d4e5f60718293a
                    created_at: '2026-08-08T15:04:22Z'
                    completed_at: '2026-08-08T15:04:24Z'
                    report:
                      meta:
                        report_id: QSR-3F5C9F2D7D21
                        lang: es
                        purpose: credit_evaluation
                        generated_at: '2026-08-08T15:04:24Z'
                        verification_code: Q3f5c9f2d7d214b8c9a2d2d5f6a1b8c01a1b2c3d4e5f60718293a
                        verification_url: >-
                          /verify/qscore/Q3f5c9f2d7d214b8c9a2d2d5f6a1b8c01a1b2c3d4e5f60718293a
                      identity:
                        subject_type: person
                        doc_id: 12.345.678-5
                        name: Example Name
                        country: CL
                      score:
                        score: 742
                        band: B
                        model_version: v1
                        reason_codes:
                          - code: CREDIT_HISTORY_DEPTH
                            direction: positive
                            weight: medium
                          - code: ACTIVE_TRADELINES
                            direction: positive
                            weight: low
                        computed_at: '2026-08-08T15:04:24Z'
                      summary:
                        - No delinquencies or adverse events on record.
                        - Active credit history with reported tradelines.
                      tradelines:
                        - source: res_chile
                          creditor: Commercial creditor
                          kind: loan
                          status: current
                          currency: CLP
                          balance: '1250000'
                          opened_at: '2025-03-14'
                          reported_at: '2026-08-01'
                      delinquencies: []
                      sources:
                        - source: res_chile
                          label: Commercial bulletin
                          records: 1
                          fetched_at: '2026-08-08T15:04:23Z'
                ready_company:
                  summary: Informe de empresa con benchmark de pares por industria
                  value:
                    report_id: 7c9a1f3d-2e44-4b8a-9d51-0a1b2c3d4e5f
                    subject_id: 5b7d0e2a-2c34-4f6a-8b11-7d8e9f0a1b2c
                    status: ready
                    purpose: credit_evaluation
                    lang: es
                    score: 712
                    band: B
                    model_version: qscore-v2
                    reason_codes:
                      - code: ACTIVE_TRADELINES
                        direction: positive
                        weight: medium
                    verify_code: Q7c9a1f3d2e444b8a9d510a1b2c3d4e5fa1b2c3d4e5f60718293a
                    created_at: '2026-08-08T14:52:03Z'
                    completed_at: '2026-08-08T14:52:05Z'
                    report:
                      meta:
                        report_id: QSR-7C9A1F3D2E44
                        lang: es
                        purpose: credit_evaluation
                        generated_at: '2026-08-08T14:52:05Z'
                        verification_code: Q7c9a1f3d2e444b8a9d510a1b2c3d4e5fa1b2c3d4e5f60718293a
                        verification_url: >-
                          /verify/qscore/Q7c9a1f3d2e444b8a9d510a1b2c3d4e5fa1b2c3d4e5f60718293a
                      identity:
                        subject_type: company
                        doc_id: 76.123.456-0
                        name: Example Company SpA
                        country: CL
                      score:
                        score: 712
                        band: B
                        model_version: qscore-v2
                        reason_codes:
                          - code: ACTIVE_TRADELINES
                            direction: positive
                            weight: medium
                        computed_at: '2026-08-08T14:52:05Z'
                      peer_benchmark:
                        available: true
                        segment_code: '6499'
                        segment_label: Other financial service activities
                        peers: 12
                        percentile: 75
                        median_score: 640
                      summary:
                        - No delinquencies or adverse events on record.
                        - Active credit history with reported tradelines.
                      tradelines:
                        - source: res_chile
                          creditor: Commercial creditor
                          kind: loan
                          status: current
                          currency: CLP
                          balance: '1250000'
                          opened_at: '2025-03-14'
                          reported_at: '2026-08-01'
                      delinquencies: []
                      sources:
                        - source: res_chile
                          label: Commercial bulletin
                          records: 1
                          fetched_at: '2026-08-08T14:52:04Z'
                no_data:
                  summary: Sujeto sin datos de buró (banda SC)
                  value:
                    report_id: 9b2e7a41-3c10-4e7b-8f25-9d31a2b7c5e2
                    subject_id: 5c31a9d4-6b20-4f18-9a71-3e7b2d90c4aa
                    status: ready
                    purpose: hiring
                    lang: en
                    band: SC
                    model_version: v1
                    reason_codes:
                      - code: NO_DATA
                        direction: negative
                        weight: high
                    verify_code: Q9b2e7a413c104e7b8f259d31a2b7c5e2b2c3d4e5f60718293a4
                    created_at: '2026-08-08T15:10:02Z'
                    completed_at: '2026-08-08T15:10:03Z'
                replay:
                  summary: Replay idempotente (200 con idempotency_hit)
                  value:
                    report_id: 3f5c9f2d-7d21-4b8c-9a2d-2d5f6a1b8c01
                    subject_id: 8f5fb0d2-1d45-4a0e-9d5c-2d39f2b7a112
                    status: ready
                    purpose: credit_evaluation
                    lang: es
                    score: 742
                    band: B
                    model_version: v1
                    reason_codes:
                      - code: CREDIT_HISTORY_DEPTH
                        direction: positive
                        weight: medium
                    verify_code: Q3f5c9f2d7d214b8c9a2d2d5f6a1b8c01a1b2c3d4e5f60718293a
                    created_at: '2026-08-08T15:04:22Z'
                    completed_at: '2026-08-08T15:04:24Z'
                    idempotency_hit: true
        '400':
          description: >-
            invalid_payload | purpose_required | invalid_purpose |
            invalid_doc_id | invalid_subject_type | idempotency_key_required
          content:
            application/json:
              examples:
                purpose:
                  summary: Falta el purpose
                  value:
                    error: purpose_required
                    message: purpose is required (data protection law)
                doc_id:
                  summary: Documento de identidad inválido
                  value:
                    error: invalid_doc_id
                    message: doc_id is not valid for the given country
        '401':
          description: unauthorized
        '403':
          description: forbidden (servicio deshabilitado o cuenta sin verificar)
        '404':
          description: not_found (no se encontró un recurso padre de la cuenta)
        '409':
          description: >-
            idempotency_conflict (misma clave con payload distinto o aún
            procesando)
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        JWT de sesión (de register/login) o llave de API (`pk_...`).
        `X-API-Key: <token>` se acepta como header alternativo.

````