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

# Restablecer la contraseña de un miembro con un link de recuperación del admin

> Canjea el link de un solo uso enviado por un admin de la organización al email del miembro. El token tiene 32 bytes aleatorios codificados en base64url de 43 caracteres, se guarda solo como hash y expira en 60 minutos. Un canje exitoso verifica el email del miembro, limpia `register_pending` y revoca todas las sesiones. `401 invalid_token` es deliberadamente idéntico para un link inválido, expirado o ya usado y para una organización, miembro o baneo no válido. Este endpoint es para links de recuperación de miembros; el reset de admins de plataforma es independiente.



## OpenAPI

````yaml /openapi.es.yaml post /v1/auth/password/reset-link
openapi: 3.1.0
info:
  title: CBPay API
  version: '2.166'
  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 diez saldos virtuales

    independientes — USD (la moneda principal de las cuentas nuevas; las cuentas

    existentes mantienen USDT salvo que cambien su configuración), USDT, USDC,
    BTC y GOLD (gramos de

    oro fino), SILVER, PLATINUM (gramos) y BOB, MXN, ARS (libro mayor fiat de 2
    decimales) —

    convertibles a demanda con swaps entre los siete assets convertibles. Los
    balances fiat (BOB/MXN/ARS) solo acumulan payins retenidos con el flag
    `fiat_hold_local` y débitos directos en misma moneda; no son intercambiables
    por swap.

    Los payouts y las comisiones de servicios pueden pagarse desde cualquiera

    de los siete saldos de liquidación (`PUT /v1/settlement` u override por
    payout con

    `settlement_asset`), y los payins directos en USD se acreditan en USD; el
    resto de payins puede 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 USD/BOB/MXN/ARS, 6 decimales para
    USDT/USDC/GOLD/SILVER/PLATINUM, 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 respuestas/webhooks de estado
      final y envio automatico por email en estados finales. Un payout pendiente
      antes del debito no expone receipt_url.
  - 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 (USD
      es el saldo principal).
  - name: Payins
    description: >-
      Recargas fiat (QR, transferencias, cuentas dedicadas, cobros pull,
      tarjetas, links de checkout) que se acreditan automáticamente — en USD, 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, GOLD, SILVER y
      PLATINUM 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 desde cualquiera de
      los siete activos de gasto (USD, USDT, USDC, BTC, GOLD, SILVER o
      PLATINUM), 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.
  - name: Contratos
    description: Contratos Marco Grupo CB prellenados para cuentas empresa verificadas.
paths:
  /v1/auth/password/reset-link:
    post:
      tags:
        - Autenticación
      summary: >-
        Restablecer la contraseña de un miembro con un link de recuperación del
        admin
      description: >-
        Canjea el link de un solo uso enviado por un admin de la organización al
        email del miembro. El token tiene 32 bytes aleatorios codificados en
        base64url de 43 caracteres, se guarda solo como hash y expira en 60
        minutos. Un canje exitoso verifica el email del miembro, limpia
        `register_pending` y revoca todas las sesiones. `401 invalid_token` es
        deliberadamente idéntico para un link inválido, expirado o ya usado y
        para una organización, miembro o baneo no válido. Este endpoint es para
        links de recuperación de miembros; el reset de admins de plataforma es
        independiente.
      operationId: resetPasswordLink
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - org
                - token
                - new_password
              properties:
                org:
                  type: string
                token:
                  type: string
                  minLength: 43
                  maxLength: 43
                  description: >-
                    Token base64url de un solo uso incluido en el email de
                    recuperación.
                new_password:
                  type: string
                  minLength: 8
            example:
              org: cbpay
              token: 2mJ5lYx1f7wQ9vH3kP0sN6aB4cD8eG1iR5tU7yI9oPq
              new_password: mi-nueva-clave-fuerte
      responses:
        '200':
          description: >-
            Contraseña restablecida; email verificado, registro pendiente
            limpiado y todas las sesiones revocadas.
          content:
            application/json:
              example:
                status: password_reset
                note: all sessions were revoked; log in with the new password
        '400':
          description: >-
            invalid_token si el formato del token es inválido o weak_password si
            la contraseña no cumple la política.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid_token:
                  value:
                    error: invalid_token
                    message: token must be the link token from the recovery email
                weak_password:
                  value:
                    error: weak_password
                    message: password does not meet the organization's password policy
        '401':
          description: >-
            invalid_token si el link es inválido, expiró, ya fue usado o no
            corresponde a la organización o miembro.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: invalid_token
                message: the link is invalid or expired
        '429':
          description: too_many_attempts cuando la IP supera el throttle de verificación.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: too_many_attempts
                message: too many verification attempts; wait a moment and retry
      security: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Código de error legible por máquina (snake_case).
          example: insufficient_funds
        message:
          type: string
          description: Explicación legible por humanos.
  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.

````

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