# CBPay: Spanish API Reference

> CBPay developer documentation - fiat payouts and collections across Latin America, internal transfers, on-chain USDT and KYC.

## API Reference

- [Spanish / API Reference / Qscore (38 pages)](https://docs.cbpayapp.com/_llms/es/api-reference/qscore.txt): Documentation for Spanish / API Reference / Qscore.
- [Spanish / API Reference / API Reference (47 pages)](https://docs.cbpayapp.com/_llms/es/api-reference/api-reference.txt): Documentation for Spanish / API Reference / API Reference.

### Contratos

- [Lista mis sobres de contrato](https://docs.cbpayapp.com/api-reference/contratos/lista-mis-sobres-de-contrato.md): Devuelve los sobres de la cuenta del miembro autenticado.
- [Consulta mi sobre de contrato](https://docs.cbpayapp.com/api-reference/contratos/consulta-mi-sobre-de-contrato.md)
- [Firma mi sobre de contrato](https://docs.cbpayapp.com/api-reference/contratos/firma-mi-sobre-de-contrato.md): Requiere sesión humana owner/operator, consentimiento y OTP fresco en `X-OTP-Token`.
- [Descarga mi PDF contractual](https://docs.cbpayapp.com/api-reference/contratos/descarga-mi-pdf-contractual.md)
- [Verifica un contrato por su código público de verificación](https://docs.cbpayapp.com/api-reference/contratos/verifica-un-contrato-por-su-código-público-de-verificación.md): Oráculo público de autenticidad de contratos marco de Grupo CB. No requiere credenciales. El código es la letra K seguida de un HMAC del ID del sobre, impreso en el bloque de verificación del PDF final y expuesto como verify_code en el JSON del sobre. Responde JSON por defecto, o una página HTML hum…

### Comprobantes

- [Descargar el comprobante del payout (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-payout-pdf.md): Comprobante PDF brandeado del payout, con los datos del beneficiario, montos, badge de estado y el QR de verificación firmado. Los estados no finales llevan marca de agua diagonal. Solo el dueño del payout (o el admin de la org) puede descargarlo.
- [Descargar el comprobante del payin (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-payin-pdf.md): Comprobante PDF brandeado del cobro, con la referencia, montos, badge de estado y el QR de verificación firmado. Los estados no finales llevan marca de agua diagonal.
- [Descargar el comprobante de la transferencia (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-de-la-transferencia-pdf.md): Comprobante PDF brandeado de la transferencia interna (las dos partes pueden descargarlo; la contraparte se muestra por display name).
- [Descargar el comprobante del retiro crypto (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-retiro-crypto-pdf.md): Comprobante PDF brandeado del retiro on-chain, con la red, dirección de destino, tx hash y el QR de verificación firmado.
- [Descargar el comprobante del depósito crypto (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-depósito-crypto-pdf.md): Comprobante PDF brandeado de un depósito on-chain acreditado. El `depositID` es el campo `deposit_id` que devuelve `GET /v1/crypto/transactions`.
- [Descargar el comprobante del swap (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-swap-pdf.md): Comprobante PDF brandeado de la conversión de saldos, con las dos puntas, la tasa aplicada y el QR de verificación firmado.
- [Descargar el comprobante de la compra con tarjeta (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-de-la-compra-con-tarjeta-pdf.md): Comprobante PDF brandeado de una transacción de tarjeta, con el comercio, monto USD, saldo debitado y el QR de verificación firmado.
- [Descargar el comprobante de la operación bancaria (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-de-la-operación-bancaria-pdf.md): Comprobante PDF brandeado de una operación bancaria (monto, moneda, contraparte, estado) con el QR de verificación firmado. Disponible para operaciones creadas desde que el espejo de trazabilidad quedó activo.
- [Descargar el comprobante del envío desde wallet segregada (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-envío-desde-wallet-segregada-pdf.md): Comprobante PDF brandeado de un envío on-chain desde una wallet segregada, con la red, dirección destino, hash de la transacción y el QR de verificación firmado.
- [Descargar el comprobante del depósito en wallet segregada (PDF)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-comprobante-del-depósito-en-wallet-segregada-pdf.md): Comprobante PDF brandeado de un depósito on-chain recibido en una wallet segregada, con la red, dirección de origen, hash de la transacción y el QR de verificación firmado.
- [Verificar la autenticidad de un comprobante (público)](https://docs.cbpayapp.com/api-reference/comprobantes/verificar-la-autenticidad-de-un-comprobante-público.md): Endpoint PÚBLICO (sin credenciales) detrás del QR impreso en cada comprobante. El código viene firmado criptográficamente: uno adulterado o inventado responde 404 con `valid: false`. La respuesta muestra el estado y monto REALES y vigentes de la operación — jamás datos personales del beneficiario. L…
- [Obtener el link público de seguimiento de una transacción](https://docs.cbpayapp.com/api-reference/comprobantes/obtener-el-link-público-de-seguimiento-de-una-transacción.md): Devuelve el link público compartible de cualquier transacción de tu alcance de lectura, sin descargar el PDF del comprobante — la pieza base de un botón "Compartir link" en tu UI. El `code` es el mismo código determinista firmado con HMAC que se imprime como QR en cada comprobante, así que llamar el…
- [Seguir una operación por su link público (público)](https://docs.cbpayapp.com/api-reference/comprobantes/seguir-una-operación-por-su-link-público-público.md): Endpoint PÚBLICO (sin credenciales) detrás del link de seguimiento compartible impreso en cada comprobante y email de comprobante. El código viene firmado criptográficamente: uno adulterado o inventado responde un 404 uniforme. Los estados de revisión se generalizan a `processing` (anti tipping-off)…
- [Descargar el PDF del comprobante desde el link de seguimiento (público)](https://docs.cbpayapp.com/api-reference/comprobantes/descargar-el-pdf-del-comprobante-desde-el-link-de-seguimiento-público.md): Endpoint PÚBLICO (sin credenciales) que genera el PDF del comprobante al vuelo con el mismo renderer de los endpoints autenticados, en el idioma pedido (`lang=es|en|zh`; el chino se dibuja con la fuente Noto Sans SC). Mismo código firmado del tracker JSON. Las respuestas llevan `X-Robots-Tag: noinde…

### KYC / KYB

- [Verificar la autenticidad de un informe (público)](https://docs.cbpayapp.com/api-reference/kyc-kyb/verificar-la-autenticidad-de-un-informe-público.md): Endpoint público (sin credenciales) detrás del QR impreso en cada informe de verificación. El código va firmado criptográficamente - uno adulterado o inventado responde 404 con valid=false. La respuesta solo expone el tipo (KYC/KYB), el estado VIGENTE de la decisión y su fecha - jamás la identidad d…
- [Pedir mi link de verificación (onboarding)](https://docs.cbpayapp.com/api-reference/kyc-kyb/pedir-mi-link-de-verificación-onboarding.md): Devuelve el link de verificación de identidad PROPIO de la cuenta (persona ⇒ link KYC, empresa ⇒ link KYB — derivado del tipo de cuenta). El wizard hosteado cubre el flujo completo: formulario, documentos y prueba de vida en video. Gratis. Una solicitud nueva de self-service exige un TOTP confirmado…
- [Descargar mi informe de verificación (PDF/JSON)](https://docs.cbpayapp.com/api-reference/kyc-kyb/descargar-mi-informe-de-verificación-pdfjson.md): Informe de compliance de tu propia verificación de onboarding, generado por la plataforma: identidad verificada, ciclo de vida, documentos + OCR, liveness (una entrada por sesión - el check de onboarding más cualquier recaptura de evidencia posterior, cada una con su propio session_id y purpose) y u…
- [Mi estado de verificación (onboarding)](https://docs.cbpayapp.com/api-reference/kyc-kyb/mi-estado-de-verificación-onboarding.md): Estado efectivo de verificación de la cuenta que llama. La submission incluye detalle opcional y seguro para la cuenta: documentos pendientes, comentarios de cambios solicitados, documentos recibidos y el resumen documents_gate. Estos campos pueden omitirse si la actualización read-only del core no…
- [Listar links KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/listar-links-kyc.md)
- [Crear un link KYC para un cliente](https://docs.cbpayapp.com/api-reference/kyc-kyb/crear-un-link-kyc-para-un-cliente.md): Solo cuentas empresa: genera un link KYC hosteado para uno de TUS clientes finales. El wizard cubre formulario, documentos y prueba de vida en video. Cobra el fee fijo `kyc_verification` cuando está configurado (se reembolsa si la creación falla); `idempotency_key` es obligatoria — un retry con la m…
- [Consultar un link KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/consultar-un-link-kyc.md)
- [Listar links KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/listar-links-kyb.md)
- [Crear un link KYB para un cliente](https://docs.cbpayapp.com/api-reference/kyc-kyb/crear-un-link-kyb-para-un-cliente.md): Solo cuentas empresa: genera un link KYB hosteado para uno de TUS clientes finales (empresas). Cobra el fee fijo `kyb_verification` cuando está configurado (se reembolsa si la creación falla); `idempotency_key` obligatoria. `country` elige el corredor del wizard: us, cl, ve, br, mx, co, pe, bo, py,…
- [Consultar un link KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/consultar-un-link-kyb.md)
- [Listar submissions KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/listar-submissions-kyc.md)
- [Crear una submission KYC con datos por API](https://docs.cbpayapp.com/api-reference/kyc-kyb/crear-una-submission-kyc-con-datos-por-api.md): Solo cuentas empresa: verifica a uno de TUS clientes finales enviando los datos directo (sin wizard). Países en ISO alpha-3, fechas YYYY-MM-DD, id_type passport | id_card | drivers_license. Los documentos son opcionales al crear (súbelos con el flujo presign); no se exige prueba de vida al crear — l…
- [Consultar una submission KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/consultar-una-submission-kyc.md): Estado agregado sin datos sensibles internos: status, risk_band, pending_documents (documentos que compliance pidió), rejection_reason, changes_requested_comments, liveness_pending y documents_received.
- [Listar submissions KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/listar-submissions-kyb.md)
- [Crear una submission KYB con datos por API](https://docs.cbpayapp.com/api-reference/kyc-kyb/crear-una-submission-kyb-con-datos-por-api.md): Solo cuentas empresa: verifica a uno de TUS clientes finales (una empresa) enviando los datos directo. Body: external_customer_id, country?, business (los campos de la empresa), ubos?, directors?, signers?, bank_info?, metadata?. Cobra el fee fijo `kyb_verification`; `idempotency_key` obligatoria. R…
- [Consultar una submission KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/consultar-una-submission-kyb.md): Estado agregado: status, risk_band, pending_documents, rejection_reason, changes_requested_comments y aml_decision.
- [Resultados OCR de documentos KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/resultados-ocr-de-documentos-kyc.md)
- [Presign de un documento KYC](https://docs.cbpayapp.com/api-reference/kyc-kyb/presign-de-un-documento-kyc.md): Paso 1 del flujo de documentos: devuelve una URL de subida temporal. Luego PUT del binario a upload_url con el mismo Content-Type (paso 2) y confirm (paso 3). Categorías: identity, proofOfResidence. Tipos: application/pdf, image/png, image/jpeg; máximo 15 MB; la URL vence en 15 minutos.
- [Confirmar un documento KYC subido](https://docs.cbpayapp.com/api-reference/kyc-kyb/confirmar-un-documento-kyc-subido.md): Paso 3 del flujo de documentos. Adjunta el archivo subido a la submission y encola su validación OCR; el resultado llega por el webhook kyc_document_validated.
- [Resultados OCR de documentos KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/resultados-ocr-de-documentos-kyb.md)
- [Presign de un documento KYB](https://docs.cbpayapp.com/api-reference/kyc-kyb/presign-de-un-documento-kyb.md): Mismo flujo de 3 pasos que los documentos KYC. Categorías: legalPresence, ownershipStructure, controlStructure, companyDetails.
- [Confirmar un documento KYB subido](https://docs.cbpayapp.com/api-reference/kyc-kyb/confirmar-un-documento-kyb-subido.md)
- [Consultar el liveness link y su estado](https://docs.cbpayapp.com/api-reference/kyc-kyb/consultar-el-liveness-link-y-su-estado.md)
- [Crear un liveness link](https://docs.cbpayapp.com/api-reference/kyc-kyb/crear-un-liveness-link.md): Página hosteada donde tu cliente completa SOLO la prueba de vida en video (gestos frente a la cámara + face match server-side contra el documento de identidad subido). Gratis — el servicio se cobró al crear la submission. Si hay un link vigente se devuelve el mismo; si la prueba ya fue superada, 400…
- [Informe de verificación de un KYC tuyo (PDF/JSON)](https://docs.cbpayapp.com/api-reference/kyc-kyb/informe-de-verificación-de-un-kyc-tuyo-pdfjson.md): Informe de compliance COMPLETO de una verificación que corriste sobre tu cliente (solo cuentas empresa): perfil verificado, ciclo de vida, documentos + OCR, liveness (una entrada por sesión - el check de onboarding más cualquier recaptura de evidencia posterior, cada una con su propio session_id y p…
- [Informe de verificación de un KYB tuyo (PDF/JSON)](https://docs.cbpayapp.com/api-reference/kyc-kyb/informe-de-verificación-de-un-kyb-tuyo-pdfjson.md): Informe de compliance COMPLETO de una verificación que corriste sobre tu cliente (solo cuentas empresa): perfil verificado, ciclo de vida, documentos + OCR, liveness (una entrada por sesión - el check de onboarding más cualquier recaptura de evidencia posterior, cada una con su propio session_id y p…
- [Descargar el informe de compliance firmado (PDF)](https://docs.cbpayapp.com/api-reference/kyc-kyb/descargar-el-informe-de-compliance-firmado-pdf.md): Informe de compliance firmado de una verificación KYB — evidencia para tus propios auditores. Gratis (el servicio se cobró al crear la verificación).

### OTC Desk

- [Webhook del bot de Telegram para callbacks OTC Desk (lo llama Telegram)](https://docs.cbpayapp.com/api-reference/otc-desk/webhook-del-bot-de-telegram-para-callbacks-otc-desk-lo-llama-telegram.md): Recibe updates de Telegram Bot API para el grupo OTC DESK de la organización (callbacks de botones inline sobre ofertas de inventario BOB). Lo llama Telegram, no los integradores: se autentica con el header X-Telegram-Bot-Api-Secret-Token (403 fail-closed), los botones llevan firma HMAC y los reinte…

### Pruebas de firma

- [Verificación pública de una prueba de firma (sin auth)](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/verificación-pública-de-una-prueba-de-firma-sin-auth.md): Verifica públicamente una prueba de firma de wallet por su código  de capacidad `proof_code` (empieza con `G`). Sin autenticación: quien tiene el  link puede verificar la prueba. Si el cliente pide HTML (`Accept: text/html`),  devuelve una página brandeada; en cualquier otro caso devuelve JSON. La f…
- [Listar pruebas de firma de una wallet segregada](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/listar-pruebas-de-firma-de-una-wallet-segregada.md): Lista paginada de las pruebas de firma emitidas con una wallet segregada de la cuenta.
- [Firmar un mensaje con una wallet segregada](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/firmar-un-mensaje-con-una-wallet-segregada.md): Crea una prueba de firma: la wallet segregada (`custody=cbpay`) firma  un sobre estructurado **CBPay Signature Proof** (anti-phishing) con el estándar  nativo de la red — EIP-191 para ETH/EVM, TIP-191 para TRON. La prueba queda  persistida y es verificable públicamente en `verify_url` (sin auth).
- [Listar pruebas de firma de la cuenta](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/listar-pruebas-de-firma-de-la-cuenta.md): Lista paginada de todas las pruebas de firma de la cuenta  (wallets segregadas y vínculos de wallets externas), con filtros de fecha  (`from`/`to`, `YYYY-MM-DD` UTC) y filtro opcional por `purpose`.
- [Detalle de una prueba de firma](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/detalle-de-una-prueba-de-firma.md): Devuelve el detalle completo de una prueba de firma de la cuenta, incluyendo la firma, el hash del mensaje y el link público de verificación.
- [Revocar una prueba de firma](https://docs.cbpayapp.com/api-reference/pruebas-de-firma/revocar-una-prueba-de-firma.md): Revoca una prueba de firma: la verificación pública deja de  reportarla como válida. La prueba queda en el historial (append-only).  Idempotente: revocar una prueba ya revocada devuelve el mismo estado.

### Documentos de emisión

- [Descargar un documento de emisión (interno)](https://docs.cbpayapp.com/api-reference/documentos-de-emisión/descargar-un-documento-de-emisión-interno.md): Endpoint interno para el emisor de tarjetas que descarga adjuntos de una review de solicitud de tarjeta. El código HMAC está acotado a un archivo y a una review `card_application`. Los códigos inválidos o ajenos devuelven un 404 genérico. No es un endpoint para integraciones de clientes.

### Checkout

- [Página de cobro universal (pública)](https://docs.cbpayapp.com/api-reference/checkout/página-de-cobro-universal-pública.md): Página HTML pública brandeada detrás de la `checkout_url` que devuelve `POST /v1/payins` con `method: "checkout"`. El pagador la abre sin credenciales, elige un país y método fiat, una opción crypto (dirección de depósito con QR escaneable) o paga directo desde la app CBPay (QR + alias del comercio…
- [Estado del cobro universal (público)](https://docs.cbpayapp.com/api-reference/checkout/estado-del-cobro-universal-público.md): Estado JSON de un link de cobro universal — para el polling de la propia página y para integradores que rendericen su propio front de pago sobre el mismo link. Muestra el estado, el asset y monto de settlement, el método ganador una vez pagado, las materializaciones fiat congeladas (`fiat_methods`),…
- [Cotizar un link de cobro antes de elegir (público)](https://docs.cbpayapp.com/api-reference/checkout/cotizar-un-link-de-cobro-antes-de-elegir-público.md): Cotizaciones indicativas de un link de cobro universal ANTES de materializar — el catálogo de países con métodos fiat vivos (tarjeta excluida — ver `cards`), las opciones de tarjeta listadas aparte por país+moneda en `cards[]` con el monto adeudado cotizado (un corredor puede aceptar varias monedas…
- [Materializar una opción de pago del checkout (público)](https://docs.cbpayapp.com/api-reference/checkout/materializar-una-opción-de-pago-del-checkout-público.md): Crea (lazy) la opción de pago que el pagador eligió en un link de cobro universal y devuelve sus instrucciones — la URL de pago para tarjeta/métodos hosted, el QR para métodos QR, la referencia de anuncio para transferencias bancarias, o una dirección de depósito crypto exclusiva con el monto exacto…
- [Solicitar la clave OTP de un cobro pull (público)](https://docs.cbpayapp.com/api-reference/checkout/solicitar-la-clave-otp-de-un-cobro-pull-público.md): Para métodos pull cuyo rail envía al pagador una clave de un solo uso a demanda (`requires_otp_request: true` en la materialización). Dispara el envío del OTP al pagador y devuelve el `otp_reference` que debe acompañar el `POST /pay/{token}/collect` final. La opción pull debe materializarse primero;…
- [Ejecutar un cobro pull con los datos del pagador (público)](https://docs.cbpayapp.com/api-reference/checkout/ejecutar-un-cobro-pull-con-los-datos-del-pagador-público.md): Ejecuta el cargo pull de una opción collect materializada con los datos que el pagador escribió en la página del checkout — banco, documento, teléfono o cuenta, y el OTP (generado en la app bancaria del pagador, o solicitado vía `POST /pay/{token}/collect/otp` devolviendo su `otp_reference`). El mon…

### Cuenta

- [Obtener el branding de la plataforma](https://docs.cbpayapp.com/api-reference/cuenta/obtener-el-branding-de-la-plataforma.md): Branding efectivo de la plataforma donde operas (nombre, colores, logos en base64) para que un front white-label se auto-tematice desde la API en vez de hardcodear assets. `logo_url`/`symbol_url` son URLs públicas de CDN de los mismos logos — prefiérelas por sobre los payloads base64. Solo lectura,…
- [Obtener mi cuenta](https://docs.cbpayapp.com/api-reference/cuenta/obtener-mi-cuenta.md)
- [Actualizar mi perfil](https://docs.cbpayapp.com/api-reference/cuenta/actualizar-mi-perfil.md): Con la verificación de identidad aprobada, `display_name`, `tax_id` y `country` se rellenan desde la identidad verificada y quedan bloqueados (`409 identity_locked`); `phone` sigue editable con su propio flujo de verificación.
- [Listar miembros](https://docs.cbpayapp.com/api-reference/cuenta/listar-miembros.md): Miembros de acceso de la cuenta que llama (cuentas de empresa).
- [Agregar un miembro](https://docs.cbpayapp.com/api-reference/cuenta/agregar-un-miembro.md): Agrega un miembro de acceso. Disponible solo para cuentas de empresa.
- [Crear una llave de API](https://docs.cbpayapp.com/api-reference/cuenta/crear-una-llave-de-api.md): Emite una llave de API server-to-server ligada a la cuenta que llama. El token en texto plano (`pk_...`) se devuelve exactamente una vez y no puede recuperarse de nuevo.
- [Servicios habilitados](https://docs.cbpayapp.com/api-reference/cuenta/servicios-habilitados.md): Mapa efectivo de qué productos puede usar esta cuenta ahora mismo (payouts, payins, transfers, crypto, banking, kyc, cards). Cuando un servicio está deshabilitado, sus endpoints de acción responden 403 service_disabled; las lecturas y el dinero en tránsito nunca se ven afectados. Úsalo para decidir…
- [Obtener mi configuración de settlement](https://docs.cbpayapp.com/api-reference/cuenta/obtener-mi-configuración-de-settlement.md): Devuelve desde qué saldo virtual se debitan por defecto tus operaciones (payouts y comisiones de servicios), en qué saldo se acreditan por defecto tus payins (`default_payin_asset`), qué assets permite tu organización, y el límite por operación (equivalente en USDT) que aplica a los assets volátiles…
- [Definir mis saldos predeterminados (payouts y payins)](https://docs.cbpayapp.com/api-reference/cuenta/definir-mis-saldos-predeterminados-payouts-y-payins.md): Cambia tus saldos predeterminados. `default_settlement_asset` es el saldo desde el que se debitan tus payouts y comisiones de servicios cuando el request no envía un `settlement_asset` explícito. `default_payin_asset` es el saldo en que se acreditan tus payins — con `USD` (el saldo principal) el net…
- [Cambiar mi contraseña](https://docs.cbpayapp.com/api-reference/cuenta/cambiar-mi-contraseña.md): Cambia la contraseña del miembro que llama. Exige la contraseña actual (los miembros creados por login social sin contraseña fijan la primera aquí, dejando `current_password` vacío) y, cuando la política OTP lo pide, un `X-OTP-Token` de la acción `password_change`. Todas las demás sesiones se revoca…
- [Cambiar mi email de login](https://docs.cbpayapp.com/api-reference/cuenta/cambiar-mi-email-de-login.md): Inicia el cambio del email de login. Se envía un código al email NUEVO; confirma con `POST /v1/me/email/confirm`. Cuando la política OTP lo pide, también se exige un `X-OTP-Token` de la acción `email_change`. Verificar el email nuevo es obligatorio — evita que un atacante apunte el login a un buzón…
- [Verificar mi email actual](https://docs.cbpayapp.com/api-reference/cuenta/verificar-mi-email-actual.md): Envía un código al email ACTUAL del miembro para marcarlo verificado (requisito para usar el canal OTP de email en acciones de dinero). Confirma con `POST /v1/me/email/confirm`.
- [Confirmar un cambio o verificación de email](https://docs.cbpayapp.com/api-reference/cuenta/confirmar-un-cambio-o-verificación-de-email.md): Confirma un cambio de email pendiente (o su verificación) con el código recibido. En un cambio, el email de login — y, para owners, el email de contacto de la cuenta — se actualizan y se avisa al email anterior.
- [El QR de mi perfil](https://docs.cbpayapp.com/api-reference/cuenta/el-qr-de-mi-perfil.md): Devuelve el token QR inmutable de la cuenta, su payload URI (`cbpay:pay?to=<token>`) y un PNG listo para mostrar. El QR solo permite que otros te ENVÍEN dinero; nunca cambia.
- [Subir mi foto de perfil](https://docs.cbpayapp.com/api-reference/cuenta/subir-mi-foto-de-perfil.md): Sube (o reemplaza) el avatar de la cuenta. El cuerpo son los bytes crudos de la imagen (JPEG, PNG o WebP), máx 512 KB. El tipo se detecta por los magic bytes del archivo, nunca por el header. Cuando la imagen se publica en el CDN público, `avatar_url` es una URL absoluta que carga sin autenticación;…
- [Eliminar mi foto de perfil](https://docs.cbpayapp.com/api-reference/cuenta/eliminar-mi-foto-de-perfil.md)
- [Obtener el avatar de una cuenta](https://docs.cbpayapp.com/api-reference/cuenta/obtener-el-avatar-de-una-cuenta.md): Sirve la imagen de avatar de una cuenta de la misma organización (se usa en la vista previa del destinatario en transferencias y contactos). Los avatares publicados en el CDN público responden con un `302` hacia la URL del CDN; los anteriores se sirven directo.
- [Resolver un destinatario por alias o QR](https://docs.cbpayapp.com/api-reference/cuenta/resolver-un-destinatario-por-alias-o-qr.md): Devuelve una vista previa mínima (alias, nombre, tipo, avatar) de una cuenta de la misma organización, para confirmar antes de enviar. Provee `alias` o `qr` (el token crudo o el payload completo `cbpay:pay?to=…`). Responde un 404 uniforme y tiene rate limit para evitar enumeración.
- [Listar mis sesiones activas](https://docs.cbpayapp.com/api-reference/cuenta/listar-mis-sesiones-activas.md): Lista las sesiones (dispositivos) del miembro con IP, user agent, método de login y si cada una es la actual.
- [Revocar una de mis sesiones](https://docs.cbpayapp.com/api-reference/cuenta/revocar-una-de-mis-sesiones.md): Cierra un dispositivo específico.
- [Revocar todas mis otras sesiones](https://docs.cbpayapp.com/api-reference/cuenta/revocar-todas-mis-otras-sesiones.md): Cierra todas las sesiones salvo la actual.
- [Mi actividad de seguridad](https://docs.cbpayapp.com/api-reference/cuenta/mi-actividad-de-seguridad.md): Historial append-only de eventos de seguridad de la cuenta (logins, cambios de credenciales, factores agregados/quitados). Exige filtros de fecha `from`/`to`.

### Autenticación

- [Registrar una cuenta](https://docs.cbpayapp.com/api-reference/autenticación/registrar-una-cuenta.md): Crea una cuenta de persona o empresa con su miembro de acceso owner y devuelve un token de sesión. Un solo endpoint para ambos tipos: `type` es un dato.
- [Obtener un token de handoff a modo test](https://docs.cbpayapp.com/api-reference/autenticación/obtener-un-token-de-handoff-a-modo-test.md): Emite un token de un solo uso (TTL 60 segundos) que traslada la sesión ACTUAL del member al ambiente de test — es lo que alimenta el switch test/live de un click del dashboard, sin segundo login ni nuevo desafío OTP. Solo el ambiente live emite handoffs, y solo las sesiones de member (JWT) pueden pe…
- [Canjear un token de handoff por una sesión de test](https://docs.cbpayapp.com/api-reference/autenticación/canjear-un-token-de-handoff-por-una-sesión-de-test.md): Solo en el ambiente de test (live siempre responde 404). Canjea el token de un solo uso emitido por `POST /v1/auth/environment-handoff` en live por una sesión propia del ambiente de test. Si la cuenta aún no existe en test, su espejo se provisiona automáticamente — el modo test siempre existe para t…
- [Iniciar sesión](https://docs.cbpayapp.com/api-reference/autenticación/iniciar-sesión.md)
- [Completar el login en dos pasos](https://docs.cbpayapp.com/api-reference/autenticación/completar-el-login-en-dos-pasos.md): Canjea el `pending_token` de `POST /v1/auth/login` más el código OTP recibido por SMS/WhatsApp por el token de sesión real. El token intermedio expira a los 10 minutos y jamás puede llamar a la API por sí solo.
- [Renovar la sesión](https://docs.cbpayapp.com/api-reference/autenticación/renovar-la-sesión.md): Canjea un refresh token de un solo uso (`rt_…`, emitido con cada login) por un par nuevo de access token + refresh token sin volver a pedir credenciales. Rotación estricta: al canjear se revoca el access token anterior de ese dispositivo, y presentar un refresh token ya canjeado revoca la cadena com…
- [Solicitar un código para recuperar la contraseña](https://docs.cbpayapp.com/api-reference/autenticación/solicitar-un-código-para-recuperar-la-contraseña.md): Envía un código de recuperación al email del miembro (por defecto) o a su teléfono verificado (`channel:"sms"`). SIEMPRE responde 200 con el mismo cuerpo exista o no la cuenta — así se evita la enumeración de cuentas. Completa el reset con `POST /v1/auth/password/reset`.
- [Restablecer la contraseña con un código](https://docs.cbpayapp.com/api-reference/autenticación/restablecer-la-contraseña-con-un-código.md): Valida el código enviado por `forgot` y fija una contraseña nueva. Todas las sesiones se revocan. Un único error genérico (`invalid_code`) cubre org/miembro/código inválidos para no filtrar existencia de cuentas.

### Login social

- [Iniciar sesión o registrarse con un proveedor social](https://docs.cbpayapp.com/api-reference/login-social/iniciar-sesión-o-registrarse-con-un-proveedor-social.md): Token exchange. El front obtiene la credencial del proveedor (Google/Apple/Microsoft `id_token`, Facebook `access_token`) y la envía aquí. La API la verifica contra el proveedor y devuelve la sesión CBPay — creando la cuenta en el primer uso. Respeta la política de OTP en login de la cuenta (puede d…
- [Listar proveedores sociales habilitados](https://docs.cbpayapp.com/api-reference/login-social/listar-proveedores-sociales-habilitados.md): Público. Devuelve los proveedores sociales habilitados de la org y su `client_id`, para que el front pinte los botones correctos.
- [Listar mis proveedores vinculados](https://docs.cbpayapp.com/api-reference/login-social/listar-mis-proveedores-vinculados.md)
- [Vincular un proveedor a mi cuenta](https://docs.cbpayapp.com/api-reference/login-social/vincular-un-proveedor-a-mi-cuenta.md)
- [Desvincular un proveedor](https://docs.cbpayapp.com/api-reference/login-social/desvincular-un-proveedor.md): Bloqueado con `409 last_login_method` si es el único método de acceso (sin contraseña y sin otro proveedor vinculado).

### Saldos

- [Obtener saldos](https://docs.cbpayapp.com/api-reference/saldos/obtener-saldos.md): Los diez saldos virtuales independientes de la cuenta que llama (USD — la moneda principal —, USDT, USDC, BTC, GOLD en gramos de oro fino, SILVER, PLATINUM en gramos y los saldos fiat BOB, MXN y ARS de 2 decimales). Todos los activos soportados vienen siempre, con ceros si la cuenta no ha usado esa…
- [Obtener historial de saldos](https://docs.cbpayapp.com/api-reference/saldos/obtener-historial-de-saldos.md): Evolución diaria de los saldos de la cuenta para gráficos de dashboard: una serie por asset (el saldo disponible de cierre de cada día, arrastrado en días sin movimientos) más una serie agregada en USD que valoriza cada saldo al precio de referencia histórico de cada día (USDT/USDC a la par; BTC/GOL…
- [Listar movimientos](https://docs.cbpayapp.com/api-reference/saldos/listar-movimientos.md): Historial inmutable del ledger de la cuenta que llama.
- [Obtener mis tasas de cambio y comisiones](https://docs.cbpayapp.com/api-reference/saldos/obtener-mis-tasas-de-cambio-y-comisiones.md): Devuelve las tasas de cambio que aplican a la cuenta que llama para cada país — las mismas tasas usadas cuando las operaciones se ejecutan (`local_amount / rate = USDT`) — más la configuración de comisiones **efectiva** de la cuenta — los defaults de la organización ya resueltos contra los overrides…
- [Obtener historial de tasas de cambio](https://docs.cbpayapp.com/api-reference/saldos/obtener-historial-de-tasas-de-cambio.md): Serie temporal de las tasas de cambio que aplican a la cuenta que llama, para gráficos de evolución. Cada punto trae las mismas tasas que obtendrías operando en ese momento — `rate` (punta de payouts) y `payin_rate` (punta de depósitos) — y cada país incluye `first`, `last` y el `change_pct` con sig…
- [Cartola / estado de cuenta (JSON, PDF o Excel)](https://docs.cbpayapp.com/api-reference/saldos/cartola-estado-de-cuenta-json-pdf-o-excel.md): Consolida todos los movimientos del período — payouts, payins, depósitos y retiros crypto, transferencias internas y cargos por servicio — en una cartola auditable con cuadratura exacta: opening_balance + total_in − total_out = closing_balance, verificada contra el ledger (`balanced`). El resumen cu…

### Payouts

- [Listar payouts](https://docs.cbpayapp.com/api-reference/payouts/listar-payouts.md): Devuelve los payouts de la cuenta que llama.
- [Crear un payout](https://docs.cbpayapp.com/api-reference/payouts/crear-un-payout.md): Dispersa fiat a una cuenta bancaria local. El monto local se convierte a USDT a **la tasa de tu cuenta** (la misma que devuelve `GET /v1/rates`); se debita `usdt_amount` más la comisión fija (cuando está configurada) y queda retenido hasta que la dispersión se complete. Si falla, se reembolsa el déb…
- [Subir el documento de respaldo de un payout](https://docs.cbpayapp.com/api-reference/payouts/subir-el-documento-de-respaldo-de-un-payout.md): Sube el documento de respaldo (factura/recibo) que el corredor US/USD exige en TODA transferencia saliente (`ach`, `wire` y `swift`). Envía el binario crudo con su `Content-Type` (PDF, PNG, JPEG, WEBP, TXT, CSV, DOC(X) o XLS(X), hasta 50 MB) y el nombre del archivo en el query param `name`. El `docu…
- [Obtener un payout](https://docs.cbpayapp.com/api-reference/payouts/obtener-un-payout.md)
- [Listar métodos de payout](https://docs.cbpayapp.com/api-reference/payouts/listar-métodos-de-payout.md): Corredores de payout disponibles (país, moneda, método) ofrecidos por CBPay. Pass-through del catálogo del core de procesamiento. Cada ítem trae `availability` (`operational` | `degraded` | `down`) — la salud en vivo del corredor, para decidir al renderizar si muestras, adviertes u ocultas un canal…
- [Listar bancos de destino](https://docs.cbpayapp.com/api-reference/payouts/listar-bancos-de-destino.md): Catálogo de bancos para los payouts de un país. Sin `method` devuelve la unión de los bancos de todos los métodos del país (deduplicada por código); con `method` acota al catálogo de ese canal. Algunos métodos no tienen catálogo de bancos (ej. QR) y no aportan entradas.
- [Busca un banco por routing number o SWIFT/BIC](https://docs.cbpayapp.com/api-reference/payouts/busca-un-banco-por-routing-number-o-swiftbic.md): Autocompleta el banco beneficiario desde un directorio bancario público embebido — pasa exactamente uno de `routing_number` (9 dígitos, solo US) o `swift` (8 u 11 caracteres; un sufijo `XXX` se normaliza a la casa matriz). Úsalo para autodetectar el banco mientras el pagador escribe el routing o SWI…
- [Escanear un QR de payout (Bolivia, Brasil)](https://docs.cbpayapp.com/api-reference/payouts/escanear-un-qr-de-payout-bolivia-brasil.md): Paso 1 del payout por QR — Bolivia (QR interoperable local) y Brasil (QR PIX, incluyendo el código "copia e cola"): lee un QR de cobro y devuelve los datos del destinatario más el `provider_reference` necesario para confirmar. **Sin costo** — no se debita nada hasta el paso de confirmación. Por defe…
- [Confirmar un payout por QR (Bolivia, Brasil)](https://docs.cbpayapp.com/api-reference/payouts/confirmar-un-payout-por-qr-bolivia-brasil.md): Paso 2 del payout por QR (Bolivia y Brasil/PIX), cobrado exactamente igual que un payout normal: el monto local se convierte a **la tasa de tu cuenta** y se debita `usdt_amount + comisión fija`. El resultado es **síncrono** — la respuesta trae el estado final (`completed`, o `failed` con reembolso a…

### Payins

- [Listar payins](https://docs.cbpayapp.com/api-reference/payins/listar-payins.md)
- [Crear un payin (cobro de recarga)](https://docs.cbpayapp.com/api-reference/payins/crear-un-payin-cobro-de-recarga.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Crea una recarga fiat. Con `method: "qr"` (por defecto) se genera un cobro QR activo a través del procesador — en Bolivi…
- [Solicitar la confirmación de un depósito bancario anunciado (maker)](https://docs.cbpayapp.com/api-reference/payins/solicitar-la-confirmación-de-un-depósito-bancario-anunciado-maker.md): Paso maker de la confirmación en dos personas para un payin manual push bank_transfer EC/USD anunciado. It only accepts EC/USD/bank_transfer announced payins. Quien llama es el maker: un admin de la org con `ops:write` en sesión humana (las API keys se rechazan). El payin queda `pending` y no se acr…
- [Aprobar la solicitud y acreditar el payin (checker)](https://docs.cbpayapp.com/api-reference/payins/aprobar-la-solicitud-y-acreditar-el-payin-checker.md): Paso checker: un god nombrado distinto del maker aprueba la solicitud pendiente y acredita el payin. Sin body. Reintentar tras aprobar devuelve el payin acreditado con `idempotency_hit: true` si la evidencia coincide.
- [Cancelar la solicitud pendiente (maker o god nombrado)](https://docs.cbpayapp.com/api-reference/payins/cancelar-la-solicitud-pendiente-maker-o-god-nombrado.md): Cancela la solicitud pendiente. El maker cancela con su propia credencial; un platform god nombrado cancela cualquiera. Sin body. No se acredita nada. La solicitud no expira — cancelarla explícito si la evidencia está mal.
- [Obtener un payin](https://docs.cbpayapp.com/api-reference/payins/obtener-un-payin.md)
- [Listar devoluciones de un cobro](https://docs.cbpayapp.com/api-reference/payins/listar-devoluciones-de-un-cobro.md)
- [Devolver un cobro con tarjeta](https://docs.cbpayapp.com/api-reference/payins/devolver-un-cobro-con-tarjeta.md): Devuelve la plata al tarjetahabiente y reversa el abono en tu saldo. Solo se devuelven cobros con tarjeta en estado `credited` (`refund_not_supported` en los demás rieles) — y solo cuando su saldo ya está disponible: un payin `credited` cuyo settlement sigue pendiente (`settlement_pending: true`, el…
- [Listar devoluciones](https://docs.cbpayapp.com/api-reference/payins/listar-devoluciones.md): Todas las devoluciones de la cuenta. Filtra por `payin_id`, `status` (`pending` | `completed` | `failed`) y `kind` (`refund` | `void` | `chargeback`).
- [Consultar una devolución](https://docs.cbpayapp.com/api-reference/payins/consultar-una-devolución.md)
- [Comprobante de la devolución (PDF)](https://docs.cbpayapp.com/api-reference/payins/comprobante-de-la-devolución-pdf.md): Comprobante PDF brandeado con código de verificación pública. Usa `?lang=en|es|zh` (default `en`).
- [Listar métodos de payin](https://docs.cbpayapp.com/api-reference/payins/listar-métodos-de-payin.md): Corredores de payin disponibles. Cada ítem trae `availability` (`operational` | `degraded` | `down`) — la salud en vivo del corredor (ver la guía de estado del servicio).
- [Cobro activo (pull)](https://docs.cbpayapp.com/api-reference/payins/cobro-activo-pull.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Cobra al pagador directamente en los corredores que soportan cobros pull. Para `VE/VES/c2p`, la `claveDinamica` generada…
- [Solicitar un OTP de cobro](https://docs.cbpayapp.com/api-reference/payins/solicitar-un-otp-de-cobro.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Solicita la contraseña de un solo uso solo para métodos pull que la emiten antes del cobro. No forma parte del flujo `VE…
- [Listar mis cuentas de depósito](https://docs.cbpayapp.com/api-reference/payins/listar-mis-cuentas-de-depósito.md): Lista los destinos de depósito dedicados ligados a la cuenta que llama.
- [Crear una cuenta de depósito dedicada](https://docs.cbpayapp.com/api-reference/payins/crear-una-cuenta-de-depósito-dedicada.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Aprovisiona un destino de depósito fijo ligado a tu cuenta en los corredores que lo soportan (ej. una CLABE mexicana o u…
- [Establecer o renombrar un alias bancario argentino](https://docs.cbpayapp.com/api-reference/payins/establecer-o-renombrar-un-alias-bancario-argentino.md): Establece el alias bancario direccionable elegido por el caller para una cuenta de depósito AR/ARS por transferencia bancaria ya existente. La plataforma verifica que el instrumento pertenezca a la cuenta autenticada y pide al core verificar el alias con el riel bancario. Repetir el mismo alias es u…
- [Previsualizar las instrucciones de depósito de un corredor](https://docs.cbpayapp.com/api-reference/payins/previsualizar-las-instrucciones-de-depósito-de-un-corredor.md): Devuelve el texto de cuenta bancaria que tu organización publica para un corredor `bank_transfer` — el mismo contenido que se embebe automáticamente en la respuesta de un payin anunciado. Útil para renderizar una pantalla "¿dónde envío la plata?" antes de que el pagador cree el payin, o para mostrar…

### Transferencias

- [Listar transferencias](https://docs.cbpayapp.com/api-reference/transferencias/listar-transferencias.md): Lista las transferencias de la cuenta (enviadas y recibidas), más recientes primero.
- [Crear una transferencia interna](https://docs.cbpayapp.com/api-reference/transferencias/crear-una-transferencia-interna.md): Mueve saldo entre dos cuentas CBPay, de forma atómica y siempre gratuita — funciona cualquier combinación: persona a persona, persona a empresa, empresa a persona o empresa a empresa. Funciona con los diez saldos virtuales (USD, USDT, USDC, BTC, GOLD, SILVER, PLATINUM, BOB, MXN, ARS) y siempre entre…
- [Consultar una transferencia](https://docs.cbpayapp.com/api-reference/transferencias/consultar-una-transferencia.md): Devuelve una transferencia; visible solo para sus dos partes.

### Crypto

- [Crear un retiro on-chain](https://docs.cbpayapp.com/api-reference/crypto/crear-un-retiro-on-chain.md): Envía USDT, USDC o BTC on-chain desde su propio saldo. Pares soportados: `tron`/`USDT`, `eth`/`USDT`, `eth`/`USDC`, `btc`/`BTC` (GOLD no tiene riel on-chain). `amount + comisión de retiro` se debita atómicamente y queda retenido; el estado final llega vía el webhook `crypto_withdrawal_status_changed…
- [Obtener un retiro](https://docs.cbpayapp.com/api-reference/crypto/obtener-un-retiro.md)
- [Listar actividad on-chain](https://docs.cbpayapp.com/api-reference/crypto/listar-actividad-on-chain.md): Créditos de fondeo y retiros de la cuenta que llama.
- [Listar mis wallets](https://docs.cbpayapp.com/api-reference/crypto/listar-mis-wallets.md): Devuelve todas las wallets de la cuenta que llama, la más antigua primero.
- [Reponer una wallet de depósito faltante](https://docs.cbpayapp.com/api-reference/crypto/reponer-una-wallet-de-depósito-faltante.md): Toda cuenta — persona y empresa — tiene exactamente **una wallet de depósito por par soportado** (`tron`/`usdt`, `eth`/`usdt`, `eth`/`usdc`, `btc`/`btc`), aprovisionadas automáticamente y gratis al registrarse. Las wallets de depósito solo **reciben** crypto que se abona al saldo virtual de la cuent…

### AML screening

- [Listar screenings AML](https://docs.cbpayapp.com/api-reference/aml-screening/listar-screenings-aml.md): Historial de screenings AML de la cuenta (persona, empresa y rescreens), del más nuevo al más antiguo. Exige el rango from/to; admite paginación y filtro por riesgo.
- [Enviar un screening AML](https://docs.cbpayapp.com/api-reference/aml-screening/enviar-un-screening-aml.md): Screenea una persona o empresa (detectado desde el payload) contra listas de sanciones, PEP y prensa adversa vía el servicio de compliance. Es solo screening de listas — la verificación de identidad con documentos y prueba de vida vive en /v1/kyc y /v1/kyb. Todos los campos de identidad son opcional…
- [Obtener un screening AML](https://docs.cbpayapp.com/api-reference/aml-screening/obtener-un-screening-aml.md): Detalle de un screening, incluyendo el resultado guardado. Un id de otra cuenta devuelve 404.
- [Descargar el informe del screening AML (PDF)](https://docs.cbpayapp.com/api-reference/aml-screening/descargar-el-informe-del-screening-aml-pdf.md): Informe PDF brandeado del screening — portada ejecutiva con la decisión, indicadores de riesgo (sanciones, watchlists, PEP, prensa adversa...), coincidencias consolidadas, alias, glosario y una sección final de respaldo con las fuentes internacionales consultadas. Trilingüe vía `lang` (default inglé…
- [Re-ejecutar un screening AML](https://docs.cbpayapp.com/api-reference/aml-screening/re-ejecutar-un-screening-aml.md): Re-ejecuta el screening de la cuenta. Requiere un screening previo. Cobra `compliance_rescreen` si está configurado; se reembolsa si falla el upstream. Cada rescreen queda en el historial (`GET /v1/aml/screenings`). `idempotency_key` es obligatoria — repetir con la misma clave devuelve el rescreen o…
- [Habilitar o deshabilitar el monitoreo AML](https://docs.cbpayapp.com/api-reference/aml-screening/habilitar-o-deshabilitar-el-monitoreo-aml.md): Activa o desactiva el monitoreo continuo de compliance de la identidad verificada de la cuenta. Habilitar cobra la comisión `compliance_monitoring` si está configurada; deshabilitar es gratis. Requiere un screening previo. Cada cambio de estado queda guardado en el historial (`GET /v1/aml/screenings…
- [Catálogos para formularios de compliance](https://docs.cbpayapp.com/api-reference/aml-screening/catálogos-para-formularios-de-compliance.md): Devuelve todos los catálogos (listas de pares value/label) que el front debe usar para construir formularios de compliance y verificación consistentes: géneros, estados de empresa, tipos de dirección, formas jurídicas (lista global más cascada por país), fuentes de ingreso/patrimonio, estándares de…
- [Catálogo de ciudades de un país](https://docs.cbpayapp.com/api-reference/aml-screening/catálogo-de-ciudades-de-un-país.md): Devuelve las ciudades de un país ISO 3166-1 alpha-2, agrupadas por subdivisión: las claves de `states` son los mismos códigos ISO 3166-2 de `country_subdivisions` en `GET /v1/aml/catalogs`, y `country_cities` lista las ciudades cuya región no pudo mapearse a una subdivisión (ofrécelas también). Ning…
- [Busca ciudad y estado por código postal](https://docs.cbpayapp.com/api-reference/aml-screening/busca-ciudad-y-estado-por-código-postal.md): Resuelve un código postal a su ciudad y estado desde un dataset público embebido — hoy solo hay cobertura de ZIP codes de US. Úsalo para autocompletar los campos ciudad/estado mientras el usuario escribe el ZIP en formularios con dirección: un 404 significa "ZIP desconocido" (o un país sin dataset)…

### Screening de wallets

- [Listar screenings de direcciones](https://docs.cbpayapp.com/api-reference/screening-de-wallets/listar-screenings-de-direcciones.md): Historial de screenings de la cuenta, del más reciente al más antiguo. Exige el rango from/to; soporta paginación y filtro por riesgo.
- [Screenear una dirección blockchain](https://docs.cbpayapp.com/api-reference/screening-de-wallets/screenear-una-dirección-blockchain.md): Evalúa el riesgo AML de una dirección blockchain (entidad sancionada, exposición a fondos ilícitos) contra inteligencia on-chain global y devuelve un nivel de riesgo normalizado (Low/Medium/High/Severe) con la evidencia completa. Agnóstico a la red: la dirección se evalúa sobre todas las chains sopo…
- [Obtener un screening de dirección](https://docs.cbpayapp.com/api-reference/screening-de-wallets/obtener-un-screening-de-dirección.md): Detalle de un screening, incluido el assessment completo guardado. Un id de otra cuenta responde 404.

### Contacts

- [Listar contactos](https://docs.cbpayapp.com/api-reference/contacts/listar-contactos.md): La libreta privada de tu cuenta, ordenada por favoritos y último uso. Los contactos se crean automáticamente con cada envío (transferencia, payout, retiro crypto), por CRUD manual o importando la agenda del celular.
- [Crear un contacto](https://docs.cbpayapp.com/api-reference/contacts/crear-un-contacto.md): Agrega un contacto a mano. El teléfono se normaliza a E.164 (los números locales usan el país de tu cuenta) y se matchea contra cuentas de tu operador para llenar `has_cbpay`.
- [Importar la agenda del celular](https://docs.cbpayapp.com/api-reference/contacts/importar-la-agenda-del-celular.md): Sube hasta 1.000 contactos por request (pagina si hay más). Los teléfonos se normalizan a E.164; los contactos existentes no se duplican; `has_cbpay` te dice qué contactos ya tienen una cuenta activa de tu mismo operador (match por teléfono).
- [Consultar un contacto](https://docs.cbpayapp.com/api-reference/contacts/consultar-un-contacto.md): El contacto más sus destinos guardados (cuenta CBPay, beneficiarios de payout por corredor, direcciones on-chain).
- [Borrar un contacto](https://docs.cbpayapp.com/api-reference/contacts/borrar-un-contacto.md): Borra el contacto y sus destinos guardados.
- [Editar un contacto](https://docs.cbpayapp.com/api-reference/contacts/editar-un-contacto.md): Actualización parcial (nombre, alias, teléfono, email, favorito). Cambiar el teléfono re-ejecuta el match CBPay.
- [Agregar un destino a un contacto](https://docs.cbpayapp.com/api-reference/contacts/agregar-un-destino-a-un-contacto.md): Guarda un destino reutilizable a mano: `payout` (país + método + beneficiario), `crypto` (chain + dirección) o `cbpay` (requiere contacto enlazado). Los destinos se deduplican: repetir uno refresca su último uso.
- [Borrar un destino guardado](https://docs.cbpayapp.com/api-reference/contacts/borrar-un-destino-guardado.md)

### Swaps

- [Cotizar un swap](https://docs.cbpayapp.com/api-reference/swaps/cotizar-un-swap.md): Cotización indicativa gratis para convertir entre tus saldos USDT, USDC, BTC, GOLD, SILVER y PLATINUM (cualquier par, origen distinto del destino). La tasa que ves es la tasa de ejecución de tu cuenta — cotizado = recibido, sin comisiones aparte. Indicativa: la ejecución usa el precio del momento de…
- [Listar swaps](https://docs.cbpayapp.com/api-reference/swaps/listar-swaps.md)
- [Crear un swap](https://docs.cbpayapp.com/api-reference/swaps/crear-un-swap.md): Convierte saldo entre dos de tus monedas, de forma síncrona y atómica — tu saldo cambia al instante y la plata nunca sale de tu cuenta (sin OTP). Los pares volátiles (BTC/GOLD/SILVER/PLATINUM) comparten los límites por operación y de volumen 24h con payouts y compras con tarjeta. Requiere clave de i…
- [Consultar un swap](https://docs.cbpayapp.com/api-reference/swaps/consultar-un-swap.md)

### QR Crypto POS

- [Listar merchants POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/listar-merchants-pos.md): Listado paginado de los merchants registrados por la cuenta (procesador).
- [Registrar un merchant POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/registrar-un-merchant-pos.md): Registra un merchant (restaurant, hotel, tienda) amarrado a una verificación KYC/KYB de terceros APROBADA — la identidad sale de la verificación. fee_percent/fee_fixed son la comisión informativa del procesador a su merchant (se calcula por cobro pagado y en el resumen; la plataforma jamás la cobra)…
- [Obtener un merchant POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/obtener-un-merchant-pos.md): Detalle del merchant. Solo la cuenta dueña (o el org admin) puede leerlo.
- [Actualizar un merchant POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/actualizar-un-merchant-pos.md): Actualiza status (active/disabled — un merchant deshabilitado no puede generar cobros nuevos), la comisión informativa y la referencia externa. La identidad no se edita: viene de la verificación.
- [Listar cobros POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/listar-cobros-pos.md): Cobros de la cuenta con filtros merchant_id/status y rango de fechas obligatorio — la vista de conciliación por cliente.
- [Crear un cobro POS (QR crypto con monto)](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/crear-un-cobro-pos-qr-crypto-con-monto.md): Crea un cobro QR crypto con monto para un merchant. Mismo contrato del link de cobro universal: amount + settlement_asset (default de la cuenta si se omite); el due que paga el cliente se cotiza en el crypto del QR al crearlo (el pagador cubre la conversión — tú recibes tu meta exacta). La respuesta…
- [Obtener un cobro POS (polling del POS)](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/obtener-un-cobro-pos-polling-del-pos.md): Detalle del cobro para el loop de polling del POS. Mientras está pending, si ya hay un depósito on-chain detectado pero sin confirmar, la respuesta agrega confirming:true + detected_amount (señal de UX — el crédito llega con la confirmación). Los pagos parciales acumulan en received; los pagos tardí…
- [Devolver un cobro POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/devolver-un-cobro-pos.md): Devuelve (parte de) lo recibido al pagador como un retiro crypto normal desde el saldo de la cuenta (hold, fee de retiro y todos los controles de compliance del riel). to_address es siempre explícita — jamás se auto-devuelve al origen del depósito. Tope duro: la suma de devoluciones jamás supera lo…
- [Listar las devoluciones de un cobro POS](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/listar-las-devoluciones-de-un-cobro-pos.md): Devoluciones del cobro; cada estado sigue el ciclo de su retiro (un retiro fallido reembolsa el débito y libera el tope).
- [Resumen de conciliación POS por merchant](https://docs.cbpayapp.com/api-reference/qr-crypto-pos/resumen-de-conciliación-pos-por-merchant.md): Agregado por merchant en un rango de fechas: conteos de cobros, bruto recaudado (meta de los cobros pagados), la comisión informativa del procesador, lo devuelto y el neto a repartir a cada merchant.

### Webhooks

- [Listar suscripciones de webhook](https://docs.cbpayapp.com/api-reference/webhooks/listar-suscripciones-de-webhook.md): Lista las suscripciones de webhook de la cuenta (el secreto nunca se devuelve).
- [Crear una suscripción de webhook](https://docs.cbpayapp.com/api-reference/webhooks/crear-una-suscripción-de-webhook.md): Suscribe un callback HTTPS a los eventos de la cuenta que llama.
- [Desactivar o reactivar una suscripción de webhook](https://docs.cbpayapp.com/api-reference/webhooks/desactivar-o-reactivar-una-suscripción-de-webhook.md): Alterna una suscripción de la cuenta entre `active` y `disabled`. Una suscripción `disabled` deja de recibir eventos NUEVOS; las entregas ya encoladas siguen saliendo. Idempotente: repetir el estado vigente es un no-op `200`. Las suscripciones nunca se borran — desactivar es la forma de desuscribirs…

### Estado

- [Salud del servicio](https://docs.cbpayapp.com/api-reference/estado/salud-del-servicio.md): Chequeo público de disponibilidad de la API y su base de datos.
- [Página de status pública (HTML)](https://docs.cbpayapp.com/api-reference/estado/página-de-status-pública-html.md): Página de status hosteada y brandeada de la organización: estado en vivo de cada corredor de pago, uptime de 90 días e historial de incidentes. Pública (sin credenciales), segura para compartir con tus propios clientes o embeber en tu producto. El `orgToken` es el token opaco que comparte el operado…
- [Feed de status público (JSON)](https://docs.cbpayapp.com/api-reference/estado/feed-de-status-público-json.md): Los mismos datos de la página de status en JSON, para tu propio tooling de status o monitoreo: estado general, estado por corredor con uptime de 90 días y el historial reciente de incidentes (transiciones de estado). Público, con rate limit por IP.

### Wallets segregadas

- [Listar mis wallets segregadas](https://docs.cbpayapp.com/api-reference/wallets-segregadas/listar-mis-wallets-segregadas.md): Lista las wallets segregadas de la cuenta, de la más nueva a la más antigua.
- [Crear una wallet segregada](https://docs.cbpayapp.com/api-reference/wallets-segregadas/crear-una-wallet-segregada.md): Crea una wallet on-chain nueva de la cuenta que llama. Su saldo vive on-chain (nunca en el ledger) y queda exenta del barrido de tesorería. Pares soportados: `tron`/`usdt`, `eth`/`usdt`, `eth`/`usdc`, `btc`/`btc`. Las cuentas empresa pueden crear wallets ilimitadas; las cuentas persona tienen **1 po…
- [Importar una wallet externa](https://docs.cbpayapp.com/api-reference/wallets-segregadas/importar-una-wallet-externa.md): Importa una wallet que ya controlas entregando su `private_key_hex`. La llave viaja solo al custodio y **jamás se guarda ni se registra** en la plataforma. Exige sesión de usuario con 2FA (las API keys se rechazan con `human_session_required`), cuenta verificada y OTP. Cobra el fee `wallet_import` (…
- [Obtener una wallet segregada](https://docs.cbpayapp.com/api-reference/wallets-segregadas/obtener-una-wallet-segregada.md)
- [Obtener el saldo on-chain en vivo](https://docs.cbpayapp.com/api-reference/wallets-segregadas/obtener-el-saldo-on-chain-en-vivo.md): Devuelve el saldo on-chain en vivo de la wallet, incluyendo el gas nativo (TRX/ETH) para que sepas si puede pagar un fee de red.
- [Listar depósitos on-chain](https://docs.cbpayapp.com/api-reference/wallets-segregadas/listar-depósitos-on-chain.md)
- [Listar actividad on-chain](https://docs.cbpayapp.com/api-reference/wallets-segregadas/listar-actividad-on-chain.md): Actividad on-chain completa (depósitos y envíos) de la wallet.
- [Listar envíos de la wallet](https://docs.cbpayapp.com/api-reference/wallets-segregadas/listar-envíos-de-la-wallet.md)
- [Enviar crypto desde la wallet](https://docs.cbpayapp.com/api-reference/wallets-segregadas/enviar-crypto-desde-la-wallet.md): Envía crypto **desde la wallet misma** (dirección de origen real, firmado por el custodio). `idempotency_key` es obligatoria. El gas corre por el cliente: si la wallet no tiene gas nativo, el envío se rechaza con `422 insufficient_gas` antes de cualquier cobro. Puede cobrar el fee `wallet_send` (del…
- [Obtener un envío](https://docs.cbpayapp.com/api-reference/wallets-segregadas/obtener-un-envío.md)
- [Exportar la llave privada](https://docs.cbpayapp.com/api-reference/wallets-segregadas/exportar-la-llave-privada.md): Devuelve la llave privada de la wallet (custodia compartida: la wallet sigue operativa en la plataforma tras exportar). La operación más sensible del producto: exige sesión de usuario con 2FA (API keys rechazadas), cuenta verificada y un `reason` de al menos 20 caracteres que queda en la auditoría.…
- [Obtener la regla de auto-forward](https://docs.cbpayapp.com/api-reference/wallets-segregadas/obtener-la-regla-de-auto-forward.md)
- [Configurar auto-forward](https://docs.cbpayapp.com/api-reference/wallets-segregadas/configurar-auto-forward.md): Reenvía a una dirección tuya todo lo que llegue a la wallet. Redirige fondos futuros, así que exige cuenta verificada y OTP.

### Vínculos de wallets

- [Crear un desafío nonce para vincular una wallet externa](https://docs.cbpayapp.com/api-reference/vínculos-de-wallets/crear-un-desafío-nonce-para-vincular-una-wallet-externa.md): Crea un desafío nonce para vincular una wallet EXTERNA  (`custody=client`) a la cuenta. El cliente firma el `envelope` con su wallet  (EIP-191 para ETH/EVM, TIP-191 para TRON) y lo envía a `POST  /v1/wallet-links/verify`. El desafío expira en 10 minutos y es de un solo uso.
- [Verificar la firma del desafío y vincular la wallet](https://docs.cbpayapp.com/api-reference/vínculos-de-wallets/verificar-la-firma-del-desafío-y-vincular-la-wallet.md): Verifica la firma del desafío nonce y vincula la wallet externa a  la cuenta. La wallet queda `custody=client`: el cliente conserva la llave y  puede gastar por fuera; el vínculo solo prueba la titularidad de la dirección.
- [Listar wallets vinculadas](https://docs.cbpayapp.com/api-reference/vínculos-de-wallets/listar-wallets-vinculadas.md): Lista paginada de las wallets externas (`custody=client`) vinculadas a la cuenta.
- [Revocar un vínculo de wallet](https://docs.cbpayapp.com/api-reference/vínculos-de-wallets/revocar-un-vínculo-de-wallet.md): Revoca el vínculo de una wallet externa. El vínculo queda en el  historial (append-only) con estado `revoked`. Idempotente: revocar un vínculo  ya revocado devuelve el mismo estado.

### Tarjetas guardadas

- [Listar tarjetas guardadas](https://docs.cbpayapp.com/api-reference/tarjetas-guardadas/listar-tarjetas-guardadas.md): Tarjetas guardadas por tus pagadores en el checkout hosted (mandato COF): solo datos de display (marca, últimos 4, expiración) — el número de tarjeta jamás existe en esta plataforma. Filtra por `payer_reference` para mostrarle a un cliente recurrente sus tarjetas. Requiere `from`/`to`.
- [Obtener una tarjeta guardada](https://docs.cbpayapp.com/api-reference/tarjetas-guardadas/obtener-una-tarjeta-guardada.md)
- [Revocar una tarjeta guardada](https://docs.cbpayapp.com/api-reference/tarjetas-guardadas/revocar-una-tarjeta-guardada.md): Revoca la credencial upstream y marca el espejo `revoked` (la historia jamás se borra). Los cobros iniciados por el comercio y los pagos con tarjeta guardada dejan de funcionar al instante. Emite el webhook `stored_card_revoked`.
- [Cobrar una tarjeta guardada (iniciado por el comercio)](https://docs.cbpayapp.com/api-reference/tarjetas-guardadas/cobrar-una-tarjeta-guardada-iniciado-por-el-comercio.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Cobra la tarjeta guardada SIN el pagador presente (MIT bajo el mandato de las marcas, citando la semilla 3-D Secure cons…

### Suscripciones

- [Listar suscripciones](https://docs.cbpayapp.com/api-reference/suscripciones/listar-suscripciones.md): Tus suscripciones (los org admin ven toda la org con account_id). Filtra por status, stored_card_id o payer_reference. Requiere from/to.
- [Crear una suscripción](https://docs.cbpayapp.com/api-reference/suscripciones/crear-una-suscripción.md): Requiere identidad de cuenta aprobada; las cuentas persona necesitan KYC aprobado y las cuentas empresa KYB aprobado antes de que esta operación autenticada cree o cobre un payin. Cobros recurrentes sobre una tarjeta guardada (la plataforma lleva el calendario por ti). El primer período se cobra sín…
- [Obtener una suscripción](https://docs.cbpayapp.com/api-reference/suscripciones/obtener-una-suscripción.md)
- [Pausar una suscripción](https://docs.cbpayapp.com/api-reference/suscripciones/pausar-una-suscripción.md): Detiene los cobros (desde active). Reanudar NO recupera los períodos perdidos.
- [Reanudar una suscripción](https://docs.cbpayapp.com/api-reference/suscripciones/reanudar-una-suscripción.md): Reactiva desde paused o past_due. Desde past_due reintenta el período pendiente una vez (un nuevo decline vuelve a past_due). Desde paused con fecha futura conserva el calendario original (sin cobro anticipado).
- [Cancelar una suscripción](https://docs.cbpayapp.com/api-reference/suscripciones/cancelar-una-suscripción.md): Terminal. Revocar la tarjeta guardada cancela también sus suscripciones automáticamente.

### Banking

- [Consultar mi perfil bancario](https://docs.cbpayapp.com/api-reference/banking/consultar-mi-perfil-bancario.md): Devuelve el perfil bancario de la cuenta con su estado de verificación en vivo.
- [Crear mi perfil bancario](https://docs.cbpayapp.com/api-reference/banking/crear-mi-perfil-bancario.md): Abre el perfil bancario de la cuenta (una vez por cuenta). Si omites `type`/`name`/`email`, se completan desde tu cuenta CBPay. Se cobra la comisión fija `banking_customer` desde tu settlement asset (USD por defecto); se reembolsa si el corredor rechaza. La plataforma deriva un claim de idempotencia…
- [Subir un documento de verificación](https://docs.cbpayapp.com/api-reference/banking/subir-un-documento-de-verificación.md): Sube un documento KYC (base64) al perfil bancario. Gratis.
- [Enviar mi perfil a revisión](https://docs.cbpayapp.com/api-reference/banking/enviar-mi-perfil-a-revisión.md): Envía el perfil bancario a verificación. Gratis. Sigue el avance con GET /v1/banking/customer o el webhook banking_customer_status_changed.
- [Listar mis cuentas bancarias](https://docs.cbpayapp.com/api-reference/banking/listar-mis-cuentas-bancarias.md)
- [Abrir una cuenta bancaria](https://docs.cbpayapp.com/api-reference/banking/abrir-una-cuenta-bancaria.md): Abre una cuenta bancaria para el perfil aprobado (una por moneda habilitada). Se cobra la comisión fija `banking_account`; se reembolsa si el corredor rechaza. `data` trae los datos para recibir (número de cuenta/IBAN, routing, banco).
- [Consultar una cuenta bancaria](https://docs.cbpayapp.com/api-reference/banking/consultar-una-cuenta-bancaria.md): Devuelve el detalle EN VIVO de una de tus cuentas bancarias (nombre, moneda, estado y los requisitos para recibir fondos — rieles wire y locales — bajo `data`). Úsalo para mostrar las instrucciones de depósito de una cuenta específica. Si el banco no puede servir la cuenta en vivo, el endpoint devue…
- [Consultar el saldo de una cuenta bancaria](https://docs.cbpayapp.com/api-reference/banking/consultar-el-saldo-de-una-cuenta-bancaria.md)
- [Listar mis beneficiarios](https://docs.cbpayapp.com/api-reference/banking/listar-mis-beneficiarios.md)
- [Registrar un beneficiario](https://docs.cbpayapp.com/api-reference/banking/registrar-un-beneficiario.md): Registra un beneficiario tercero con sus datos bancarios. Gratis; la cuenta del beneficiario pasa por moderación antes de poder recibir pagos WITHDRAW.
- [Agregar una cuenta a un beneficiario](https://docs.cbpayapp.com/api-reference/banking/agregar-una-cuenta-a-un-beneficiario.md)
- [Cotizar un pago bancario](https://docs.cbpayapp.com/api-reference/banking/cotizar-un-pago-bancario.md): Valida y cotiza una operación (comisiones, saldos) sin mover dinero. Gratis.
- [Listar mis pagos bancarios](https://docs.cbpayapp.com/api-reference/banking/listar-mis-pagos-bancarios.md): Historial de tus operaciones bancarias, incluidos los depósitos entrantes y los cargos descubiertos automáticamente. Los ítems llevan la vista neutra enriquecida: los campos opcionales direction, amount (string decimal NETO — el acreditado para `in`, la comisión neta para `out`), currency, counterpa…
- [Enviar un pago bancario](https://docs.cbpayapp.com/api-reference/banking/enviar-un-pago-bancario.md): Ejecuta un TRANSFER (entre tus propias cuentas bancarias) o WITHDRAW (a un beneficiario registrado). Requiere clave de idempotencia; reintentos con la misma clave devuelven la operación original sin volver a cobrar. Se cobra la comisión fija `banking_operation`; se reembolsa si el corredor rechaza.…
- [Consultar un pago bancario](https://docs.cbpayapp.com/api-reference/banking/consultar-un-pago-bancario.md): Operación con estado en vivo y la vista neutra enriquecida: los campos opcionales direction, amount (string decimal neto), currency, counterparty y reference aparecen solo cuando el proveedor bancario los reporta.
- [Lista los usuarios banking de terceros](https://docs.cbpayapp.com/api-reference/banking/lista-los-usuarios-banking-de-terceros.md)
- [Da de alta un usuario banking de tercero (solo empresas)](https://docs.cbpayapp.com/api-reference/banking/da-de-alta-un-usuario-banking-de-tercero-solo-empresas.md): Las cuentas empresa dan de alta a sus clientes finales como usuarios banking separados, con cuentas a su nombre. Exige el verification_id de una verificación KYC/KYB APROBADA del tercero: el tipo sale del kind de la verificación (KYC = INDIVIDUAL, KYB = COMPANY), la identidad se completa sola desde…
- [Consulta un usuario banking de tercero (estado KYC en vivo)](https://docs.cbpayapp.com/api-reference/banking/consulta-un-usuario-banking-de-tercero-estado-kyc-en-vivo.md)
- [Sube un documento KYC del tercero (gratis)](https://docs.cbpayapp.com/api-reference/banking/sube-un-documento-kyc-del-tercero-gratis.md)
- [Envia el tercero a verificacion (gratis)](https://docs.cbpayapp.com/api-reference/banking/envia-el-tercero-a-verificacion-gratis.md)
- [Lista las cuentas bancarias del tercero](https://docs.cbpayapp.com/api-reference/banking/lista-las-cuentas-bancarias-del-tercero.md)
- [Abre una cuenta bancaria para el tercero](https://docs.cbpayapp.com/api-reference/banking/abre-una-cuenta-bancaria-para-el-tercero.md)
- [Saldo de una cuenta bancaria del tercero](https://docs.cbpayapp.com/api-reference/banking/saldo-de-una-cuenta-bancaria-del-tercero.md)
- [Get one virtual IBAN request](https://docs.cbpayapp.com/api-reference/banking/get-one-virtual-iban-request.md)
- [List a third party's Banking EUR virtual IBANs](https://docs.cbpayapp.com/api-reference/banking/list-a-third-partys-banking-eur-virtual-ibans.md)
- [Request a Banking EUR virtual IBAN for a third party](https://docs.cbpayapp.com/api-reference/banking/request-a-banking-eur-virtual-iban-for-a-third-party.md): Company accounts can request a `banking_eur` virtual IBAN for an owned, verified third party. The third party owns the Banking EUR balance; the company is the manager of the relationship.
- [Get a Banking EUR virtual IBAN balance](https://docs.cbpayapp.com/api-reference/banking/get-a-banking-eur-virtual-iban-balance.md): Returns the reconciled platform ledger balance for a `banking_eur` virtual IBAN. A `funding_usdt` virtual IBAN does not hold BANK_EUR.

### Cards

- [Listar tarjetas](https://docs.cbpayapp.com/api-reference/cards/listar-tarjetas.md): Con credencial de cuenta lista las tarjetas de la cuenta; con credencial org admin lista todas las de la organización (filtra con `account_id`).
- [Crear una tarjeta](https://docs.cbpayapp.com/api-reference/cards/crear-una-tarjeta.md): Emite una tarjeta (virtual o física) que gasta Just-In-Time del saldo central de la cuenta en el asset de gasto de la tarjeta (`spending_asset`: USDT/USDC 1:1 con el USD, o BTC/GOLD/SILVER/PLATINUM convertidos al precio del momento de cada evento; USD por defecto) — sin prefondeo: cada compra se aut…
- [Consultar una tarjeta](https://docs.cbpayapp.com/api-reference/cards/consultar-una-tarjeta.md)
- [Actualizar límites, asset de gasto o congelar/descongelar](https://docs.cbpayapp.com/api-reference/cards/actualizar-límites-asset-de-gasto-o-congelardescongelar.md): Actualiza los límites de gasto (envía "0" para quitar un límite), cambia el saldo desde el que gasta (`spending_asset`, solo compras futuras) y congela o descongela la tarjeta. Una tarjeta congelada rechaza toda autorización al instante.
- [Activar una tarjeta física](https://docs.cbpayapp.com/api-reference/cards/activar-una-tarjeta-física.md): Confirma que el titular recibió la tarjeta física. Solo tarjetas en `pending_activation`.
- [Cancelar una tarjeta](https://docs.cbpayapp.com/api-reference/cards/cancelar-una-tarjeta.md): Cancela la tarjeta de forma permanente (irreversible). Cobra el fee `card_cancellation` cuando está configurado (0 = gratis); se reembolsa si la cancelación falla aguas arriba.
- [Revelar PAN y CVV](https://docs.cbpayapp.com/api-reference/cards/revelar-pan-y-cvv.md): Devuelve los datos sensibles de la tarjeta (PAN, CVV, expiración) como pass-through de una sola vez para mostrárselos al titular. Solo la cuenta dueña puede llamarlo (nunca el org admin). **Nunca almacenes ni loguees esta respuesta** — la plataforma tampoco la persiste (PCI).
- [Listar transacciones de la tarjeta](https://docs.cbpayapp.com/api-reference/cards/listar-transacciones-de-la-tarjeta.md): Compras y su ciclo de vida: `authorized` (hold en tiempo real), `settled` (confirmada en la liquidación), `reversed` (anulada, fondos devueltos al mismo saldo) y `declined` (con la razón: insufficient_funds, card_limit_exceeded, card_frozen...). `spend_asset` / `spend_amount` indican desde qué saldo…
- [Catálogo de ocupaciones](https://docs.cbpayapp.com/api-reference/cards/catálogo-de-ocupaciones.md): Official issuer occupation codes (for the `occupation` field when designating a person cardholder). Search with `q` (matches code or label). Use the `code` value; a free-text occupation is rejected with 400 invalid_occupation.
- [Catálogo de giros](https://docs.cbpayapp.com/api-reference/cards/catálogo-de-giros.md): Official issuer economic-activity codes (for `kind_of_business` when creating a company cardholder). Search with `q`. Use the `code` value; a free-text value is rejected with 400 invalid_kind_of_business.

### Seguridad (OTP)

- [Mi política OTP](https://docs.cbpayapp.com/api-reference/seguridad-otp/mi-política-otp.md): Política OTP efectiva de la cuenta que llama — si el feature está habilitado, qué acciones exigen código y por qué canal, más el teléfono (enmascarado) y su estado de verificación.
- [Listar mis desafíos OTP](https://docs.cbpayapp.com/api-reference/seguridad-otp/listar-mis-desafíos-otp.md)
- [Pedir un código OTP](https://docs.cbpayapp.com/api-reference/seguridad-otp/pedir-un-código-otp.md): Envía un código de un solo uso al teléfono de la cuenta por el canal configurado para la acción. Requiere sesión de usuario (JWT) — las API keys reciben `403 session_required`. Aplican límites de envío por hora.
- [Consultar un desafío OTP](https://docs.cbpayapp.com/api-reference/seguridad-otp/consultar-un-desafío-otp.md)
- [Verificar el código](https://docs.cbpayapp.com/api-reference/seguridad-otp/verificar-el-código.md): Valida el código recibido por SMS/WhatsApp y devuelve el `otp_token` de un solo uso que autoriza la acción protegida (se envía en el header `X-OTP-Token`). 5 intentos por desafío.
- [Mis preferencias de 2FA](https://docs.cbpayapp.com/api-reference/seguridad-otp/mis-preferencias-de-2fa.md): Muestra la política 2FA efectiva de la cuenta con, por acción, si está bloqueada por la organización (la política de la org es el piso que la cuenta no puede bajar).
- [Actualizar mis preferencias de 2FA](https://docs.cbpayapp.com/api-reference/seguridad-otp/actualizar-mis-preferencias-de-2fa.md): Permite al owner de la cuenta configurar su propio 2FA. Siempre puedes endurecer (activar acciones, subir a un canal más fuerte: totp > email > sms/whatsapp) pero nunca bajar del piso de la organización. Relajar (desactivar una acción activa o bajar de canal) exige un `X-OTP-Token` de la acción `sec…

### Analytics

- [Resumen de la cuenta para dashboards](https://docs.cbpayapp.com/api-reference/analytics/resumen-de-la-cuenta-para-dashboards.md): Aggregated view of the whole account flow in a single call: gross volume in/out, transaction counts, new banking users, per-service sections (payouts, payins, deposits, withdrawals, transfers, swaps, cards, banking, verifications, aml, contacts) with their dimensions (country, currency, method, stat…

### Passkeys

- [Iniciar login con passkey (sin contraseña)](https://docs.cbpayapp.com/api-reference/passkeys/iniciar-login-con-passkey-sin-contraseña.md): Inicia una ceremonia WebAuthn de login discoverable. Pasa el `options.publicKey` devuelto a `navigator.credentials.get()` y envía el resultado a `finish`. El challenge es de un solo uso y expira en 2 minutos.
- [Completar login con passkey (sin contraseña)](https://docs.cbpayapp.com/api-reference/passkeys/completar-login-con-passkey-sin-contraseña.md): Valida la assertion del autenticador y emite la sesión. Un passkey ya son dos factores (dispositivo + biometría), por eso este login no pasa por el OTP de login.
- [Estado de mi app autenticadora](https://docs.cbpayapp.com/api-reference/passkeys/estado-de-mi-app-autenticadora.md): Si una app autenticadora (TOTP) está activa y cuántos códigos de respaldo quedan.
- [Quitar mi app autenticadora](https://docs.cbpayapp.com/api-reference/passkeys/quitar-mi-app-autenticadora.md): Desactiva TOTP. Exige un código autenticador (o de respaldo) válido y respeta el piso de la org — si la organización exige la app autenticadora, no se puede quitar.
- [Iniciar el enrolamiento de la app autenticadora](https://docs.cbpayapp.com/api-reference/passkeys/iniciar-el-enrolamiento-de-la-app-autenticadora.md): Genera un secreto TOTP y devuelve el `otpauth://` más un PNG de QR para escanear en Google Authenticator / Authy. Exige la contraseña actual (si el miembro tiene una). Confirma con `POST /v1/me/totp/confirm`.
- [Confirmar y activar la app autenticadora](https://docs.cbpayapp.com/api-reference/passkeys/confirmar-y-activar-la-app-autenticadora.md): Activa TOTP con el primer código válido y devuelve 10 códigos de respaldo de un solo uso (se muestran una sola vez).
- [Regenerar códigos de respaldo](https://docs.cbpayapp.com/api-reference/passkeys/regenerar-códigos-de-respaldo.md): Emite un set nuevo de códigos de respaldo e invalida los anteriores. Exige un código autenticador o de respaldo válido.
- [Listar mis passkeys](https://docs.cbpayapp.com/api-reference/passkeys/listar-mis-passkeys.md)
- [Iniciar el registro de una passkey](https://docs.cbpayapp.com/api-reference/passkeys/iniciar-el-registro-de-una-passkey.md): Inicia una ceremonia WebAuthn de registro. Exige la contraseña actual (si el miembro tiene una) — un factor de acceso nuevo nunca se agrega desde una sesión robada. Pasa `options.publicKey` a `navigator.credentials.create()`.
- [Completar el registro de una passkey](https://docs.cbpayapp.com/api-reference/passkeys/completar-el-registro-de-una-passkey.md): Valida la attestation y guarda la passkey bajo un nombre amigable.
- [Quitar una passkey](https://docs.cbpayapp.com/api-reference/passkeys/quitar-una-passkey.md): Quita una passkey. Exige la contraseña actual (si el miembro tiene una) y se bloquea si es el único método de acceso que queda.

### Account

- [Fijar el alias del perfil derivado del nombre verificado](https://docs.cbpayapp.com/api-reference/account/fijar-el-alias-del-perfil-derivado-del-nombre-verificado.md): Fija una sola vez el alias público permanente de la cuenta. El alias se deriva del nombre de la cuenta verificado por KYC/KYB; no se puede elegir libremente. El body es opcional. Si envías `alias`, debe coincidir con uno de los candidatos derivados de ese nombre verificado. Una vez fijado, no se pue…
- [Mis revisiones de operaciones](https://docs.cbpayapp.com/api-reference/account/mis-revisiones-de-operaciones.md): Operaciones de dinero de la cuenta retenidas por el firewall transaccional (payouts, retiros crypto, payins, transferencias banking) con su estado de revisión. Filtra por `status` y rango de fechas (`from`/`to`, zona horaria de la organización, ambos inclusive). Cuando una revisión llega a `info_req…
- [Detalle de una revisión](https://docs.cbpayapp.com/api-reference/account/detalle-de-una-revisión.md): Detalle de una revisión de la cuenta, con el mensaje de la solicitud de información (`info_request`) y los archivos ya subidos. El motivo interno de la retención y las notas de cumplimiento nunca se exponen (anti tipping-off). Una revisión rechazada incluye además `decision_note` (el mismo texto del…
- [Sube un archivo para una solicitud de información](https://docs.cbpayapp.com/api-reference/account/sube-un-archivo-para-una-solicitud-de-información.md): Sube un documento de respaldo para una revisión en `info_requested`. Envía el binario crudo con su `Content-Type` (PDF, PNG, JPEG, WEBP, TXT, CSV, DOC(X) o XLS(X), hasta 50 MB) y el nombre del archivo en el query param `name`. Al subir un archivo la revisión vuelve a `in_review` para que el equipo d…
- [Descarga un archivo que subiste](https://docs.cbpayapp.com/api-reference/account/descarga-un-archivo-que-subiste.md): Descarga un archivo subido previamente por la cuenta para esta revisión. Devuelve el binario crudo con el `Content-Type` original. Los archivos de otras cuentas u otras revisiones responden `404 not_found` (nunca `403`, para no filtrar existencia).
- [Consultar la elegibilidad de integraciones](https://docs.cbpayapp.com/api-reference/account/consultar-la-elegibilidad-de-integraciones.md): Devuelve la elegibilidad vigente para API keys y webhooks de nivel cuenta. Las empresas requieren cuenta activa y KYB aprobado. Las personas requieren cuenta activa, KYC aprobado y un grant administrativo efectivo. La respuesta nunca expone la razón interna del grant.

### Eventos en tiempo real

- [Stream de eventos en tiempo real (SSE)](https://docs.cbpayapp.com/api-reference/eventos-en-tiempo-real/stream-de-eventos-en-tiempo-real-sse.md): Abre una conexión `text/event-stream` que entrega en tiempo real todos los eventos de la cuenta — los mismos que viajan por webhook, sin que expongas un endpoint público.
- [Historial de eventos](https://docs.cbpayapp.com/api-reference/eventos-en-tiempo-real/historial-de-eventos.md): El mismo log que alimenta el stream, consultable. Exige filtros de fecha `from`/`to`. La retención es de 90 días: el log es un buffer de notificación, los hechos financieros viven en sus propios recursos inmutables (movimientos, payins, payouts).
- [Detalle de un evento](https://docs.cbpayapp.com/api-reference/eventos-en-tiempo-real/detalle-de-un-evento.md): Detalle de un evento por su `event_id` público (el mismo que viaja en el webhook). Un evento fuera de tu alcance responde `404`, jamás `403`.

### Consentimiento

- [Leer una solicitud de consentimiento (publico, titular)](https://docs.cbpayapp.com/api-reference/consentimiento/leer-una-solicitud-de-consentimiento-publico-titular.md): Vista publica de la solicitud de consentimiento detras de una `consent_url`. El token de la URL ES la capacidad (128 bits aleatorios, unico por consent): no se requiere login, y un token desconocido responde un 404 generico (anti-enumeracion). La respuesta es minima a proposito: `doc_id` va enmascar…
- [Iniciar la conexion bancaria (publico, titular)](https://docs.cbpayapp.com/api-reference/consentimiento/iniciar-la-conexion-bancaria-publico-titular.md): Abre la sesion de conexion bancaria del titular: devuelve el `widget_token` y la `public_key` que el widget de open finance necesita para renderizar el selector de instituciones. Solo un consent `pending` puede iniciar; cualquier otro estado devuelve `409 already_decided`. Con rate limit por IP.
- [Otorgar el consentimiento tras conectar el banco (publico, titular)](https://docs.cbpayapp.com/api-reference/consentimiento/otorgar-el-consentimiento-tras-conectar-el-banco-publico-titular.md): Completa el flujo despues de que el titular conecto su banco en el widget: la plataforma intercambia el `exchange_token`, exige que el vinculo bancario este `active` (`409 link_inactive`) y que el documento del titular verificado por el banco calce exactamente con el documento del sujeto (`409 holde…
- [Rechazar la solicitud de consentimiento (publico, titular)](https://docs.cbpayapp.com/api-reference/consentimiento/rechazar-la-solicitud-de-consentimiento-publico-titular.md): El titular rechaza la solicitud: el consent queda `revoked`, se sella la evidencia legal y se emite el webhook `risk_consent_revoked`. Un consent ya decidido devuelve `409 already_decided`.

### Banca

- [Listar solicitudes de vIBAN de la cuenta](https://docs.cbpayapp.com/api-reference/banca/listar-solicitudes-de-viban-de-la-cuenta.md): Lists requests with pagination and the organization date window. `purpose` and `status` are optional filters.
- [Solicitar un IBAN virtual EUR](https://docs.cbpayapp.com/api-reference/banca/solicitar-un-iban-virtual-eur.md): Solicita una asignación durable de IBAN virtual para la cuenta autenticada. `funding_usdt` es el propósito por defecto; `banking_eur` exige el producto Banca. La plataforma completa el registrant V3 desde el perfil KYC/KYB aprobado. Los campos opcionales de documento e incorporación aceptan aliases…
- [Cerrar un IBAN virtual activo](https://docs.cbpayapp.com/api-reference/banca/cerrar-un-iban-virtual-activo.md): Cierra uno de los IBAN virtuales de la cuenta autenticada en el riel EUR. Solo se pueden cerrar filas activas con dirección asignada; la llamada es idempotente (una fila ya cerrada responde 200 con su estado actual) y un 404 del proveedor converge a cerrada localmente. Cerrar es gratis y nunca devue…
- [Lista las reservas durables de wallets de empresa de la cuenta autenticada.](https://docs.cbpayapp.com/api-reference/banca/lista-las-reservas-durables-de-wallets-de-empresa-de-la-cuenta-autenticada.md)
- [Reserva y consulta una wallet EUR dedicada para una cuenta empresa verificada.](https://docs.cbpayapp.com/api-reference/banca/reserva-y-consulta-una-wallet-eur-dedicada-para-una-cuenta-empresa-verificada.md): Requires the Banking product, a verified company account and an idempotency key. Optional registrant overrides complete the approved KYB profile, including one document pair per UBO (ubo_{i}_document_issued_country, ubo_{i}_document_expiration_date, zero-based UBO index, camelCase aliases accepted):…
- [Obtén una wallet de empresa. Una lectura pendiente puede incluir sync_error si la conciliación temporal falla.](https://docs.cbpayapp.com/api-reference/banca/obtén-una-wallet-de-empresa-una-lectura-pendiente-puede-incluir-sync_error-si-la-conciliación-temporal-falla.md)
- [Lee el saldo EUR en vivo de una wallet de empresa activa.](https://docs.cbpayapp.com/api-reference/banca/lee-el-saldo-eur-en-vivo-de-una-wallet-de-empresa-activa.md)
- [Lista las operaciones de la wallet en una ventana de días completos.](https://docs.cbpayapp.com/api-reference/banca/lista-las-operaciones-de-la-wallet-en-una-ventana-de-días-completos.md)
- [Listar operaciones recibidas por un IBAN virtual](https://docs.cbpayapp.com/api-reference/banca/listar-operaciones-recibidas-por-un-iban-virtual.md): Vista del espejo acotada al IBAN virtual; exige una ventana de días completos.

### Corridors

- [List organization rail variants](https://docs.cbpayapp.com/api-reference/corridors/list-organization-rail-variants.md): Returns the organization-scoped payout variant configuration. The selector supports BO/BOB bank_transfer with `legacy` or `v2`, and CL/CLP bank_transfer with direct or batched dispatch. Payin routing uses corridor controls.
- [Update an organization rail variant](https://docs.cbpayapp.com/api-reference/corridors/update-an-organization-rail-variant.md)

### Disputas

- [Lista los casos de disputa de la cuenta](https://docs.cbpayapp.com/api-reference/disputas/lista-los-casos-de-disputa-de-la-cuenta.md): Datos de disputa acotados a la cuenta. Las decisiones son solo de org-admin.
- [Obtiene un caso de disputa de la cuenta](https://docs.cbpayapp.com/api-reference/disputas/obtiene-un-caso-de-disputa-de-la-cuenta.md)
- [Lista la evidencia de un caso](https://docs.cbpayapp.com/api-reference/disputas/lista-la-evidencia-de-un-caso.md)
- [Sube evidencia a un caso](https://docs.cbpayapp.com/api-reference/disputas/sube-evidencia-a-un-caso.md): Multipart field `file`; accepted content types are PDF, PNG and JPG; maximum 10 MB.
- [Descarga la evidencia de un caso](https://docs.cbpayapp.com/api-reference/disputas/descarga-la-evidencia-de-un-caso.md)

## OpenAPI Specs

- [openapi.es](/mcp-pack/openapi.es.yaml)
- [openapi.es](/openapi.es.yaml)
- [openapi.zh](/mcp-pack/openapi.zh.yaml)
- [openapi.zh](/openapi.zh.yaml)
